[英]solr lucene - how boost bf is applied using edismax. is it additive?
我有一個查詢,看起來像這樣:
qt=/solrSearchHandler&q={!func}sum(0,0)&bf=someFloatField^1
如果文檔的someFloatField
值為1。
我正在使用帶有edismax defType的solr.SearchHandler請求處理程序。
我試圖弄清楚為什么文檔的分數不是bf / boost與函數查詢值(指定為q)之和。
在此示例中,我希望分數為1 (sum(0,0) + boost weight=1 * someFloatField=1)
但實際上為0。在玩了w /數字之后,我看到分數的計算公式為:
q + bf * q
代替
q + bf
這是我期望增加加成的目標。 也許我對如何將提升納入分數感到困惑。 如果是這樣,我將對如何簡單地將2個值相加的任何方向表示贊賞。
根據Wiki,bf參數是可加的。 如果需要乘法,請改用boost參數。
http://wiki.apache.org/solr/ExtendedDisMax#bf_.28Boost_Function.2C_additive.29
bf參數代表“升壓功能”,但是您所指示的值看起來像是將其視為“升壓字段”一樣。 如果需要使用該字段的值來計算提升,可以在函數查詢中執行,這是bf所期望的:
http://wiki.apache.org/solr/FunctionQuery
如果我沒看錯,那么“ def”功能可能就是您所需要的,可能是更復雜的整體功能。 我可能會誤解所有這些。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.