2017-07-06 14 views
1

私はelasticsearchで文書を更新しようとしていますが、代わりに文書が文書内の特定のフィールドを更新する方法は何ですか?文書が含まれてい更新弾性検索ドキュメント内の特定のフィールド

POST /index/type/id/ 
{ 
    "id":1 
    "field:"modified" 
} 

を削除されますそれが索引付けされるidフィールド。

+0

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html - スクリプトアップデートをご覧ください。 –

答えて

0

1つのことを実行します。 以下のコマンドを使用して、Elastic検索をファイル形式でエクスポートします。

sudo npm install elasticsearch-tools -g 



es-export-bulk --url http://localhost:9200 --file ~/Desktop/filename.json --index elastic_collection_name 

は、次にそのファイルを開いて、あなたが必要なすべてのデータを更新.. は、それから、以下のコマンドのインポートを使用して。

es-import-bulk --url http://localhost:9200 --file ~/Desktop/filename.json 

お試しください。

1

partial updatesについての弾性検索のマニュアルを読むことをおすすめします。

最も簡単な形式の更新要求では、既存の文書とマージされるだけで、部分的な文書をdocパラメータとして受け入れます。

オブジェクトがマージされ、既存のスカラーフィールドが上書きされ、新しいフィールドが追加されます。あなたの状況では

、私は次のaproach使用します。

POST /index/type/id/_update 
{ 
    "doc": { 
     "id": 1 
     "field: "modified" 
    } 
} 

をしかし、これが唯一の文書内からidフィールドを変更しますのでご注意ください、ドキュメントの_idは変更されません。ドキュメント_idを変更する場合は、現在のドキュメントを削除し、必要なIDを持つ新しいドキュメントを作成する必要があります。

関連する問題