Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java API实现弹性搜索中脚本_字段的查询_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

Java API实现弹性搜索中脚本_字段的查询

Java API实现弹性搜索中脚本_字段的查询,java,elasticsearch,Java,elasticsearch,我试图找到这个问题的答案,但找不到。场景是:我必须得到一个额外的字段,它是弹性搜索查询结果中两个文件的计算。为此,我使用脚本_字段 "script_fields": { "result": { "script": "doc['feild1'].value / doc['field2'].value" } } 查询工作正常,我得到了正确的结果。 但是现在我必须用Java实现查询,我找不到任何方法用Java实现脚本\字段 有人能帮忙吗?非常简单地使用

我试图找到这个问题的答案,但找不到。场景是:我必须得到一个额外的字段,它是弹性搜索查询结果中两个文件的计算。为此,我使用脚本_字段

"script_fields": {
      "result": {
        "script": "doc['feild1'].value / doc['field2'].value"
      }
    }
查询工作正常,我得到了正确的结果。 但是现在我必须用Java实现查询,我找不到任何方法用Java实现脚本\字段

有人能帮忙吗?

非常简单地使用addScriptField方法,如下所示:

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

感谢您的回复,但我使用的是SearchResult API,您所说的SearchResult API是什么意思?请使用当前代码更新您的问题