簡體   English   中英

彈性搜索查詢術語和評分

[英]Elastic search Query terms and scoring

我有一個使用以下條款的請求:

{
"query": {
  "bool": {
    "should": [
      {
        "terms": {
          "subjects.id": [
            1,
            2,
            3
          ], boost: 3
        }
      },
      {
        "terms": {
          "qualification_type.id": [
            3,
            5
          ], boost: 2
        }
      }
    ]
  }
}

我的工作得很好,但是對於匹配三個主題的文檔而不是僅匹配一個主題的文檔的分數更高。

我的問題是:如果主題有一個或多個匹配,有沒有辦法強制得分相同?

提前致謝 !

您可以將術語查詢轉換為過濾器並將其包裝到常量分數查詢中 例如:

{
    "query": {
        "bool": {
            "should": [{
                "constant_score": {
                    "filter": {
                        "terms": {
                            "subjects.id": [1, 2, 3]
                        }
                    },
                    boost: 3
                }
            }, {
                "constant_score": {
                    "filter": {
                        "terms": {
                            "qualification_type.id": [3, 5]
                        }
                    },
                    boost: 2
                }
            }]
        }
    }
}

暫無
暫無

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

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