IDのないドキュメントを作成または更新しようとしています。 私は現在、既存の(またはそうでない)ドキュメントを検索/フェッチし、更新して戻しています。質問によるアップサイド
しかし、私は一度にすべてをやりたいと思います。
私はupdate by queryについて読んだことがありますが、このケースではうまくいきません。 また、私はスクリプトを使用しようとしましたが、更新用の参照のみが見つかりました(IDが必要です)。
これがESでも可能であるかどうかはわかりません。
ヘルプ/ヒントは高く評価されています。
おかげ
さらに詳しい情報:私は、クエリによって更新に
意図なぜ私はIDを持つ直接の関係を持っていない私の場合は
、つまり、私が持っている文書は次のように単純です:
{
"text": "some text",
"type": "a real type",
"occurences": 2
}
だから私はそれをテキストとタイプキーの両方で一致させる必要があります。それは、それが発見された場合、それは、(発生箇所1とで)新しいドキュメントを追加する必要が存在しない場合、それは発生箇所 3.
update_by_query
のマニュアルを参照して後に更新する必要があり、それが可能でなければなりません
POST /test/type/_update_by_query?conflicts=proceed
{
"query": {
"bool": {
"must": [
{"match_phrase": {"text": "some text"}},
{"match_phrase": {"type": "a real type"}}
]
}
}
}
しかし、私はここからどうやって行くのか分かりません。
それが可能だ。この[doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#upserts)を確認してください。 –
ありがとう、私はそれを試して、結果を投稿するつもりです:) – mloureiro
私は彼らのためのIDを持っていないので、それを動作させることができませんでした。私は[このメソッド](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/docs-update.html#_literal_scripted_upsert_literal)を使用しようとしました – mloureiro