2017-01-30 6 views
0

この質問の回答を見つけようとしましたが見つかりませんでした。シナリオは次のとおりです:弾性検索クエリ結果に2つのフィールドの計算である1つの余分なフィールドを取得する必要があります。この目的のために私はscript_fieldsを使用しています。Elastic検索でscript_fieldsのクエリを実装するためのJava API

"script_fields": { 
     "result": { 
     "script": "doc['feild1'].value/doc['field2'].value" 
     } 
    } 

クエリは正常に動作していますが、正しい結果が得られました。 しかし、私はJavaでクエリを実装する必要がある、私はJavaでscript_fieldsを実装する方法を見つけることができませんでした。

誰か助けてもらえますか?

答えて

1

は非常に単純に、このようなaddScriptField()方法で使用して:あなたの応答のための

SearchResponse response = client().prepareSearch() 
    .setQuery(matchAllQuery()) 
    .addScriptField("result", new Script(ScriptType.INLINE, "groovy", "doc['field1'].value/doc['field2'].value", Collections.emptyMap())) 
+0

おかげで、私はのSearchResultのAPIを使用しています、 – pbajpai21

+0

あなたは「のSearchResultのAPI」とはどういう意味ですか?質問を現在のコードで更新してください – Val

関連する問題