のは、私は次のマッピングで、ElasticSearchインデックスにtag
タイプがあるとしましょう:ElasticSearchで複数のアイテムを更新するにはどうすればよいですか?
{
"tag": {
"properties": {
"tag": {"type": "string", "store": "yes"},
"aliases": {"type": "string"}
}
}
}
各エントリは、タグ、およびそのタグへのエイリアスの配列です。ここでは例の項目は次のとおりです。
{
"word": "weak",
"aliases": ["anemic", "anaemic", "faint", "flimsy"]
}
時から、私は彼らの別名を持つ新しいタグの単語を追加し、既存のタグの単語に新しいエイリアスを追加したいです。
エイリアスで新しいタグワードを追加するのは簡単ですが、これは単なる新しいドキュメントです。しかし、既存のタグワードに新しいエイリアスを追加するにはどうすればよいですか?
タグワードを検索し、そのドキュメントを取得し、エイリアスの配列にエイリアスが既に存在するかどうかを検索することができます。しかし、これは良い解決策のようには聞こえません。
一括更新の方法はありますか?
クエリによる更新はまだElasticに追加されていませんが、[プラグイン](https://github.com/yakaz/elasticsearch-action-updatebyquery/)が存在します。 –
Elasticsearch 2.3以降、クエリによる更新が利用可能です - https://www.elastic.co/guide/en/elasticsearch/reference/2.3/docs-update-by-query.html – PhaedrusTheGreek