gpt4 book ai didi

elasticsearch - 如何使用java在Elasticsearch中按字段属性搜索文档?

转载 作者:行者123 更新时间:2023-12-02 22:49:42 25 4
gpt4 key购买 nike

enter image description here

我想搜索哪个type=0的文档,如何使用Java建立搜索查询?

最佳答案

您可以使用Java中的QueryBuilder构建查询。

这是相同的示例代码:

BoolQueryBuilder boolQuery = new BoolQueryBuilder();
TermQueryBuilder termQuery = new TermQueryBuilder("tasks.type", 0);
boolQuery.must(termQuery);

然后只需使用NativeSearchQueryBuilder进行查询,如下面的代码片段所示:
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder()
.withIndices("YOUR_INDEX_NAME")
.withTypes("EVENT_TYPE_NAME").withQuery(boolQuery)
.withPageable(new PageRequest(0, 60));

SearchQuery searchQuery = queryBuilder.build();

上面的代码段将生成一个搜索查询,以查找值为0的type字段。

您可以使用ElasticSearchTemplate查询 flex 搜索,如下所示:
ElasticSearchTemplate  template = new ElasticSearchTemplate();
.queryForList(searchQuery, YOUR_CLASS.class).forEach(System.err::println);

因此,最终的Java代码如下所示:
BoolQueryBuilder boolQuery = new BoolQueryBuilder();
TermQueryBuilder termQuery = new TermQueryBuilder("tasks.type", 0);
boolQuery.must(termQuery);
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder()
.withIndices("YOUR_INDEX_NAME")
.withTypes("EVENT_TYPE_NAME").withQuery(boolQuery)
.withPageable(new PageRequest(0, 60));

SearchQuery searchQuery = queryBuilder.build();
ElasticSearchTemplate template = new ElasticSearchTemplate();
template.queryForList(searchQuery, YOUR_CLASS.class).forEach(System.err::println);

关于elasticsearch - 如何使用java在Elasticsearch中按字段属性搜索文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39217636/

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