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"
}
}
私は忘れたものは何ですか?多分、設定部分を追加する必要があったでしょうか?
あなたがすべき – alpert
@alpert XDELETEでインデックスを削除した後、再度設定をプッシュしてスクリプトを実行しました。その後、Kibanaで設定ページからインデックスを追加しました(データを挿入する前にマッピングを挿入してください) "Indices"を介して)、フィールドタイプはまだ同じです... – toshiro92
@alpert M yエラーは、コードの中に直接データの代わりにファイルのパスを入れることでした。これは後で行いました。それから私は木場を使いましたが、うまく構成されていないので構成を消去しました。 – toshiro92