簡體   English   中英

將CloudSearch _score增加特定數量

[英]Increase CloudSearch _score by specific number

我是AWS Cloudsearch的新手,有一個相關度分數(_score),它根據搜索詞的出現次數自動計算。

我的問題是我可以根據特定的鍵值將我的相關性得分(_score)增加特定的數量。

例:

假設cloudsearch返回以下兩個文檔

fields: {
    {
       fullname: "Daniel Wildt",
       active: "T",
       _score: "82"
    }
    {
       fullname: "Robert",
       active: "F",
       _score: "84"
    }
}

我希望First document(Daniel Wildt)更高...這意味着主動= Taws應該在分數上添加一些內容

不幸的是,您不能直接使用自定義rank ,因為它僅適用於啟用排序的數字字段(int,double,date)。

這是幾個替代選擇

  • 排序 :如果您打算給active字段很多的權重,它將變得足夠占主導地位,以在功能上等同於sort運算符。 也就是說,您只需在查詢中添加sort=active desc即可在F之前獲得T結果
  • 轉換為int :在提交要建立索引的文檔之前將T和F映射為數值,例如T = 1 F = 0,然后在自定義排名表達式中使用它們來影響結果的順序&expr.myrank=_score+active&sort=myrank
  • 字段權重 :在查詢中添加active:'T' ,這可能會排除active = F時的結果,然后使用字段權重來調整這部分查詢的影響: q.options={fields:['active^0.5']} 這將需要一些調整

暫無
暫無

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

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