我想使用像这样的术语查询来搜索与至少两个关键词匹配的文档:
{
"query": {
"terms": {
"title": ["java","编程","思想"],
"minimum_match": 2
}
},
"highlight": {
"fields": {
"title": {}
}
}
}
它会返回"术语查询不支持minimum_match"。我的查询有什么问题?
答案 0 :(得分:2)
正确的名称为minimum_should_match
,该设置为deprecated in ES 2.0。
您可以执行的操作是使用bool/should
个查询,其中包含三个term
个查询和minimum_should_match
个bool/should
个查询设置:
{
"query": {
"bool": {
"minimum_should_match": 2,
"should": [
{
"term": {
"title": "java"
}
},
{
"term": {
"title": "编程"
}
},
{
"term": {
"title": "思想"
}
}
]
}
},
"highlight": {
"fields": {
"title": {}
}
}
}