2016-11-28 81 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