2016-08-15 15 views
0

こんにちは!新しいインデックスに設定されたマッピングは無視されます

私はElasticSearchを学び始めました。私の最初のステップはそれほど悪くありませんでした。私はESはそれを無視し、私が入れたフィールドの各タイプを定義したいとき、しかし

from elasticsearch import Elasticsearch 

jsondata(json.dumps("{ 
    "low": "5.9400", 
    "high": "5.9600", 
    "id": "555", 
    "volume": 1171, 
    "timestamp": "2016-08-15 19:01:03" 
    }" 
) 
ES_HOST = {"host" : "localhost", "port" : 9200} 
es = Elasticsearch(hosts = [ES_HOST]) 

    es.create(index="index_test", 
       doc_type="tr", 
       body=jsondata 
     ) 

:私は、次のコードではPythonで利用できるESライブラリの助けを借りに一部のデータを置きます。私が進める方法は正しいとは思わない。デフォルトでは

curl -XPUT 'http://localhost:9200/index_test/' -d '"mappings": { 
"tr": { 
    "_source": { 
     "enabled":true 
    } 
    "properties" : { 
     "id" : { "type" : "integer" }, 
     "volume" : { "type" : "integer" }, 
     "high" : { "type" : "float" }, 
     "low" : { "type" : "float" }, 
     "timestamp" : { "type" : "date", "format" : "yyyy-MM-dd HH:mm:ss" } 
    } 
} 
}' 

、ES numberとして設定volumeフィールドを除いて、stringとして設定し、すべてのフィールドにデータを格納します。私はちょうど私の前にPythonスクリプトを実行し、実行コードの一部があります。 ESによってKibana経由でJSONが提供されています:

{ 
    "_index": "index_test", 
    "_type": "tr", 
    "_id": "AVaPJj8Y0iDATupCtaXZ", 
    "_score": 1, 
    "_source": { 
    "low": "5.9400", 
    "high": "5.9600", 
    "id": "555", 
    "volume": 1171, 
    "timestamp": "2016-08-15 19:01:03" 
    } 
} 

私は忘れたものは何ですか?多分、設定部分を追加する必要があったでしょうか?

+0

あなたがすべき – alpert

+0

@alpert XDELETEでインデックスを削除した後、再度設定をプッシュしてスクリプトを実行しました。その後、Kibanaで設定ページからインデックスを追加しました(データを挿入する前にマッピングを挿入してください) "Indices"を介して)、フィールドタイプはまだ同じです... – toshiro92

+0

@alpert M yエラーは、コードの中に直接データの代わりにファイルのパスを入れることでした。これは後で行いました。それから私は木場を使いましたが、うまく構成されていないので構成を消去しました。 – toshiro92

答えて

0

ありがとうございます!

私は次の操作を実行しようとした、[OK]を:それは働いていなかった理由

$curl -XDELETE http://localhost:9200/index_test/ 
{"acknowledged":true} 

$curl -XPUT 'http://localhost:9200/index_test/' -d conf/ESConf/ElasticSearchMapping.conf 
{"acknowledged":true} 

$curl -XGET 'http://localhost:9200/index_test/' 
{"index_test":{"aliases":{},"mappings":{},"settings":{"index": {"conf/ESConf/ElasticSearchMapping":{"conf":""},"creation_date":"1471283566621","number_of_shards":"5","number_of_replicas":"1","uuid":"EZoDAOJNQoiX4VQWs1Sx1w","version":{"created":"2030499"}}},"warmers":{}}} 

だから私は私の道の前に@を追加するのを忘れ、それはだ^^」:

curl -XPUT 'http://localhost:9200/index_test/' -d @conf/ESConf/ElasticSearchMapping.conf 
関連する問題