簡體   English   中英

彈性搜索:基於定制邏輯的排序

[英]Elastic Search: Ordering based on custom logic

我給彈性服務器搜索api提供了模式“ Master Servant”。 它返回包含至少一個文檔的所有文檔(主文檔或仆人文檔)。

它以分數降序顯示結果。 但是,我想將該順序更改為我的自定義邏輯,即,如果文檔同時包含單詞“ Master AND Servant”,請首先顯示該文檔。

能做到嗎?

使用bool查詢。

摘自《 ES權威指南》

布爾查詢采用的是“更好匹配”的方法,因此每個match子句的得分將加在一起,以為每個文檔提供最終的_score。 匹配兩個子句的文檔的得分將高於僅匹配一個子句的文檔。

編輯基於評論:

澄清一下,我相信您想要這樣的東西:

{
  "query": {
    "bool": {
      "should": [
        { "match": { "field": "Master" }},
        { "match": { "field": "Servant"   }}
      ]
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM