gpt4 book ai didi

java - Elasticsearch 从所有文档中获取某个字段的值

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:36 25 4
gpt4 key购买 nike

我正在尝试从所有文档中获取某个字段的值。我在不设置 id 的情况下尝试了以下操作,希望它会返回所有结果,但是,它反对并给出了一个错误,我必须设置 ID,这导致只返回一个具有该 id 的字段的值我已经指定:

GetResponse response = NodeClient().prepareGet().setIndex("index-name")
.setType("user").setId("1")
.setFields("id").execute().actionGet();
GetField field = response.getField("id");
result = field.getValues();

如何从索引中的所有文档中返回一个字段的所有值的列表?

谢谢。

最佳答案

不是通过 id 获取单个文档,而是需要对所有文档执行搜索:

SearchResponse response = NodeClient().prepareSearch("index-name")
.setTypes("user")
.setSource("id") <---- list the fields you want to retrieve
.setFrom(0)
.setSize(1000) <---- increase this is you have more documents
.execute().actionGet();

for (SearchHit hit : response.getHits()) {
String id = hit.getSource().get("id");
// do something with the id value
}

关于java - Elasticsearch 从所有文档中获取某个字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34463652/

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