2016-11-28 85 views
1

我想搜索匹配其使用条件至少有两个关键词查询这样的文件minimum_match:条件查询不支持Elasticsearch 2.3.3

{ 
    "query": { 
    "terms": { 
     "title": ["java","编程","思想"], 
     "minimum_match": 2 
    } 
    }, 
    "highlight": { 
    "fields": { 
     "title": {} 
    } 
    } 
} 

它返回“条件查询不支持minimum_match”。我的查询有什么问题?

回答

2

正确的名称是minimum_should_match,该设置为deprecated in ES 2.0

你可以做的反而是使用bool/should查询三种查询termminimum_should_match设置为bool/should查询:

{ 
    "query": { 
    "bool": { 
     "minimum_should_match": 2, 
     "should": [ 
     { 
      "term": { 
      "title": "java" 
      } 
     }, 
     { 
      "term": { 
      "title": "编程" 
      } 
     }, 
     { 
      "term": { 
      "title": "思想" 
      } 
     } 
     ] 
    } 
    }, 
    "highlight": { 
    "fields": { 
     "title": {} 
    } 
    } 
} 
+0

非常感谢你。 –

+0

很高兴帮助。感谢编辑! – Val