ElasticSearch High Rest Client搜索具有多个值的单个字段

时间:2019-09-04 21:04:19

标签: elasticsearch

我正在使用ElasticSearch高级Rest Java客户端,想知道是否可以使用单个搜索API来搜索与具有多个值的单个字段匹配的文档。

例如,我想按一个ID搜索并想提供多个ID。像这样:

SearchSourceBuilder sourceBuilder = new SearchSourceBuilder(); 
sourceBuilder.query(QueryBuilders.matchQuery("userId", "123")); 
sourceBuilder.query(QueryBuilders.matchQuery("userId", "321")); 

我认为正在发生的是最新的重写了先前的,所以我总是得到与321相匹配的结果。有没有办法在单个搜索中做到这一点,或者您必须对这些类型的搜索使用Multi-Search API?

1 个答案:

答案 0 :(得分:0)

我能够通过使用布尔查询来解决此问题。我用内部查询创建了外部必须的。这是一个例子。

require_once('big_int.php');