弹性搜索获取_id

ElasticSearch get _id

如何使用 Java API 检索 _id elasticsearch 字段信息?我知道我可以使用 head 插件查看此信息,查找文档,但这对我来说不是必需的。

我正在开发一个 Java 项目,所有命令(如更新、删除)都需要这个 _id 值。但是我怎样才能得到它?

提前致谢

执行搜索时,您会返回一个对象 SearchResponse。通过调用 getHits() 方法,您可以获得 SearchHit 类型的对象列表。这个对象有一个方法 id()。

SearchResponse searchResponse =  client.prepareSearch().setQuery(matchAllQuery()).get();
for (SearchHit hit : searchResponse.getHits()) {
  String yourId = hit.id();
}