首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SearchRequestBuilder:有什么方法可以要求返回所有字段吗?

问SearchRequestBuilder:有什么方法可以要求返回所有字段吗?
EN

Stack Overflow用户
提问于 2016-03-10 17:26:45
回答 1查看 1K关注 0票数 0

我正在使用Java查询elasticsearch。我是这样构建查询的:

代码语言:javascript
复制
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接口并不需要您这样做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-10 17:34:12

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35923250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档