Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中动态构建elasticsearch布尔查询_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

在java中动态构建elasticsearch布尔查询

在java中动态构建elasticsearch布尔查询,java,elasticsearch,Java,elasticsearch,有没有办法动态构建elasticsearch布尔查询。在我的应用程序中,用户一次可以使用多个过滤器。他可能在一个请求中使用2个过滤器,在另一个请求中使用3个过滤器。我正在hashmap中存储该过滤器的详细信息。因此,根据用户请求,应该通过添加过滤器来更改查询 BoolQueryBuilder query = QueryBuilders.boolQuery() .must(QueryBuilders.matchQuery("client_code",

有没有办法动态构建elasticsearch布尔查询。在我的应用程序中,用户一次可以使用多个过滤器。他可能在一个请求中使用2个过滤器,在另一个请求中使用3个过滤器。我正在hashmap中存储该过滤器的详细信息。因此,根据用户请求,应该通过添加过滤器来更改查询

BoolQueryBuilder query = QueryBuilders.boolQuery()
                    .must(QueryBuilders.matchQuery("client_code",
                            "SSSS")); 

您可以迭代hashmap键/值,并为找到的每个键/值对构建相应的bool查询:

BoolQueryBuilder query = QueryBuilders.boolQuery();
for (String key : hashmap.keySet()) {
    query.must(QueryBuilders.matchQuery(key, hashmap.get(key)));
}

您可以迭代hashmap键/值,并为找到的每个键/值对构建相应的bool查询:

BoolQueryBuilder query = QueryBuilders.boolQuery();
for (String key : hashmap.keySet()) {
    query.must(QueryBuilders.matchQuery(key, hashmap.get(key)));
}

是 啊。。。很抱歉,回复太晚了。很高兴有帮助!太棒了,你帮了我很多。谢谢你。。。很抱歉,回复太晚了。很高兴有帮助!太棒了,你帮了我很多。谢谢