Nik*_*ike 1 java elasticsearch
有什么方法可以动态构建elasticsearch bool 查询。在我的应用程序中,用户可能一次使用多个过滤器。就像,他可以在一个请求中使用 2 个过滤器,对另一个请求使用 3 个过滤器。我将该过滤器详细信息存储在哈希图中。所以根据用户请求,查询应该通过添加过滤器来改变。
BoolQueryBuilder query = QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("client_code",
"SSSS"));
Run Code Online (Sandbox Code Playgroud)
您可以遍历您的哈希映射键/值,并相应地为您将找到的每个键/值对构建您的 bool 查询:
BoolQueryBuilder query = QueryBuilders.boolQuery();
for (String key : hashmap.keySet()) {
query.must(QueryBuilders.matchQuery(key, hashmap.get(key)));
}
Run Code Online (Sandbox Code Playgroud)