E v5.6 REST 高级客户端中的多个查询

Multiple queries in E v5.6 REST high level client

如何在 rest 高级客户端的 elasticsearch v5.6 中的搜索 API 中进行多个查询?我需要在搜索查询中包含 OR 和 AND 查询。 我一直在用searchSourceBuilder,它只有一个matchQuery。

QueryBuilder matchQueryBuilder = QueryBuilders.matchQuery(field, query);

提前致谢!

您可以使用类似的东西:

BoolQueryBuilder finalQuery = QueryBuilders.boolQuery();

对于 OR 子句,您可以使用:

finalQuery.should().add(your query);

对于 AND 子句,您可以使用:

finalQuery.must().add(your query);

您可以 link 随心所欲地使用它们,并且可以按照逻辑要求嵌套它们。