私はelasticsearchで文書を更新しようとしていますが、代わりに文書が文書内の特定のフィールドを更新する方法は何ですか?文書が含まれてい更新弾性検索ドキュメント内の特定のフィールド
POST /index/type/id/
{
"id":1
"field:"modified"
}
を削除されますそれが索引付けされるidフィールド。
私はelasticsearchで文書を更新しようとしていますが、代わりに文書が文書内の特定のフィールドを更新する方法は何ですか?文書が含まれてい更新弾性検索ドキュメント内の特定のフィールド
POST /index/type/id/
{
"id":1
"field:"modified"
}
を削除されますそれが索引付けされるidフィールド。
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
お試しください。
partial updatesについての弾性検索のマニュアルを読むことをおすすめします。
最も簡単な形式の更新要求では、既存の文書とマージされるだけで、部分的な文書をdocパラメータとして受け入れます。
オブジェクトがマージされ、既存のスカラーフィールドが上書きされ、新しいフィールドが追加されます。あなたの状況では
、私は次のaproach使用します。
POST /index/type/id/_update
{
"doc": {
"id": 1
"field: "modified"
}
}
をしかし、これが唯一の文書内からidフィールドを変更しますのでご注意ください、ドキュメントの_idは変更されません。ドキュメント_idを変更する場合は、現在のドキュメントを削除し、必要なIDを持つ新しいドキュメントを作成する必要があります。
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html - スクリプトアップデートをご覧ください。 –