我有这个JSON对象:
{
"title": "Food",
"Dishes": [
"Pancakes",
"Tacos"
],
"rating": "5"
}
我需要使用Elasticsearch的Java API编写一个查询,该API将匹配JSON对象,其中" Dishes"字段包含字符串" Pancakes"或者"汤" (因此上面的JSON应匹配)。我搜索的元素存储在这样的列表中:
List<String> findElems = Arrays.asList("Pancakes", "Soup");
我曾尝试使用QueryBuilders,但我无法找到如何编写一个匹配JSON文件的查询,其中&#34; Dishes&#34; list包含findElems中的一个或多个元素。
答案 0 :(得分:1)
使用术语查询来执行此操作,
List<String> list= new ArrayList<String>();
list.add("Pancakes");
list.add("Tacos");
QueryBuilders.termsQuery("Dishes", list);
它有帮助!