2016-07-28 16 views
1

私はエラスティックサーチでクエリによる更新のユースケースを持っています。私はのようなドキュメントを保管しておりますエキスパンド検索エラスティック検索で一度に複数のフィールドを更新する

- 今すぐ依存

  1. 大文字私の使用のための

    "a" : "1", 
    "b" : "2", 
    "version1" : 456 
    "c" : { 
        "version2" : 123, 
        "d" : "3" 
    } 
    

    は、私はどちらかは、フィールドa、b、およびバージョン1

  2. それとも私が更新するフィールドを更新したいですdとversion2。

私はUpdate By Query in Elasticsearch using Javaで部分的な答えを得ました。

私はthis-

BulkIndexByScrollResponse r = ubqrb.script(script) 
     .script(script1) 
     .script(script2) 
     .script(script3) 
     .script(script4) 
     .filter(qb).get(); 

ようなことをしようとしていますしかしUpdateByQueryRequestBuilder、すなわちscript4が使用され、残りは無視されて、私は最後のものを複数のスクリプトを与えるのみとすることはできません。

私も試してみました -

Script script4 = new Script("ctx._source.a=\"abc\",b=\"xyz\""); 

しかしこれも失敗しました。

ここでどこで更新することができますか?事前に おかげ

答えて

0

試してみてください。

new Script("ctx._source.a=\"abc\"; ctx._source.b=\"xyz\""); 
関連する問題