es 多字段分詞查詢優化


es多字段查詢時,優化字段查詢權重.比如:有2個字段nameteacher 看下面查詢

{
  "query": {
    "bool": {
	"should": [
           {"term":{"name":"文化"}},
           {"term":{"teacher":"文化"}}
	]
    }
  }
}

這樣去查的話,nameteacher權重相同,但是如果想優先排name中包含文化的數據,使用下面查詢

{
  "query": {
    "bool": {
      "should": [
        {"term":{"name":"文化"}}, 
        {"bool": {
            "should": [{"term":{"teacher":"文化"}}]
          }
        }
      ]
    }
  }
}

把對teacher的查詢嵌套到對name查詢的里面,那么對name計算權重就會加大.

使用minimum_should_match參數提高匹配精度
3<-15% 9<-3 : ‘3<-15%’表示如果clauses不大於3個,要求全匹配,大於三個則允許有15%不匹配


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM