gpt4 book ai didi

java - Elasticsearch Java API 从 2.x 到 5.x 的问题

转载 作者:行者123 更新时间:2023-12-01 08:50:52 25 4
gpt4 key购买 nike

我已更新到 elasticsearch java 库版本 5.2.0。

在 2.x 中,

  1. 我使用 SearchRequestBuilder.addField() 向搜索请求添加字段。尽管如此,它似乎被取代了。我已经编写了智能感知向我展示的可用方法。我需要选择其中哪一个?
    • addDocValueField
    • addFieldDataField
    • addScriptField
    • addStoredField
    • 存储字段
    • 字段
  2. SearchRequestBuilder.setNoFields 也被删除。哪个是替代方案?
  3. 目前,我正在使用此代码从 Java 调用脚本。在 5.x Java API 中是否有更优雅的调用方式?

代码:

return AggregationBuilders
.terms(this.getName())
.field(this.getName())
.script(new Script(
ScriptType.FILE,
"painless",
"year",
ImmutableMap.of("field", this.getName())
)
);

如您所见,我将 field 设置为脚本参数。尽管如此,我不太明白如何从脚本代码中获取它。

谢谢。

最佳答案

如有疑问,go to the source

  1. 改用setFetchSource(String[]includes,String[]exclusion)
  2. 改用setFetchSource(false)
  3. 如果需要为每个文档执行此脚本,可以使用addScriptField()

关于java - Elasticsearch Java API 从 2.x 到 5.x 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42418388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com