【发布时间】:2021-12-08 05:02:31
【问题描述】:
我在多个字段中搜索,如果记录匹配特定值 (entry.getValue()) 或字符串“ALL”,我想获得结果
这是我的代码,但它不起作用。
SearchRequest searchRequest = new SearchRequest(MY_INDEX);
final BoolQueryBuilder booleanQuery = QueryBuilders.boolQuery();
searchRequest.source().query(booleanQuery);
final BoolQueryBuilder booleanQuery= QueryBuilders.boolQuery();
for (Map.Entry<String, String> entry : params.entrySet()) {
booleanQuery.should(QueryBuilders.termsQuery(entry.getKey(), entry.getValue(), "ALL");
}
我正在使用 JDK 11 和 ES 7.1
【问题讨论】:
-
您好 Lina,请提供有关您正在使用的 Elasticsearch 和 java 客户端的版本以及您要查找的文档结构的其他信息。查询周围的附加代码以及您执行查询的方式也可能是相关的。最好的萨米
-
嗨@samy,我在最初的帖子中添加了一些信息,现在我得到一个内部服务器错误... :(
-
嗨丽娜,你得到什么服务器错误?我建议您在问题中添加尽可能多的信息。
标签: java elasticsearch