gpt4 book ai didi

java - 搜索请求生成器 : is there a way to ask to return all fields?

转载 作者:行者123 更新时间:2023-12-01 10:15:32 24 4
gpt4 key购买 nike

我正在使用Java API来查询elasticsearch。我以这种方式构建查询:

SearchRequestBuilder searchRequestBuilder = client.prepareSearch(index)
.setQuery(query)
.addFieldDataField("location")
.addField("time")
.addField("name");
SearchResponse resp = searchRequestBuilder.get();
for (SearchHit hit : resp.getHits().getHits()) {
GeoPoint point = hit.field("location").getValue();
// ... etc
}

有没有一种方法可以构建请求并仅获取所有字段而不显式指定它们?因为 HTTP 接口(interface)不需要你这样做。

最佳答案

我不确定您使用的是哪个版本的 ES 和 java 客户端,但根据此 javadoc:http://javadoc.kyubu.de/elasticsearch/HEAD/org/elasticsearch/action/search/SearchRequestBuilder.html#addFields(java.lang.String...) ,如果不指定任何字段,将返回文档的完整_source。

我要注意的另一件事是 javadoc 指定必须存储字段(除非您使用 addFieldDataField)。确保它们在映射中没有被标记为忽​​略。

关于java - 搜索请求生成器 : is there a way to ask to return all fields?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923250/

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