我的搜索查询如下:
curl -XGET "http://localhost:9200/imagesearchservice/images /_search?pretty=true" -d '
{
"query": {
"bool": {
"must": [
{
"nested": {
"path":"tags",
"query": {
"bool": {
"must": [
{"match_all" : {} }
],
"filter" : {
"terms" : {
"tags.tagName" : ["star"]
}
}
}
}
}
}
]
}
}
}'
我尝试过以下操作,但它没有用。
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withFilter(boolQuery().must(termsQuery("tags.tagName", tagNames)))
.build();
我正在使用Elastic Search v2.x。有人可以告诉我如何使用nativesearchquerybuilder构建上述搜索查询吗?
答案 0 :(得分:1)
我会做这样的事情:
BoolQueryBuilder booleanQuery = new BoolQueryBuilder();
booleanQuery.must(termsQuery("tags.tagName", tagNames));
myElasticSearchRepository.search(booleanQuery)
myElasticSearchRepository是扩展ElasticsearchRepository
的interfce