如何將搜索結果的分數舍入爲2位小數?排序的小數點後2位的舍入分數 - SOLR 4.2
我可以使用圓整得分嗎?
我需要somethink這樣的:
在Solr的4.2版本
/?q=term&sort=round(score, 2) desc, orders desc
我想通過實地訂單排序搜索結果,但我得到了不相關的結果第一。我得到了幾千個結果。所以,我想在的訂單和得分之間做出妥協。
如何將搜索結果的分數舍入爲2位小數?排序的小數點後2位的舍入分數 - SOLR 4.2
我可以使用圓整得分嗎?
我需要somethink這樣的:
在Solr的4.2版本
/?q=term&sort=round(score, 2) desc, orders desc
我想通過實地訂單排序搜索結果,但我得到了不相關的結果第一。我得到了幾千個結果。所以,我想在的訂單和得分之間做出妥協。
功能查詢需要索引字段和score
是不是一個真正的領域,因此你不能使用它。但我喜歡femtoRgon的方法。下面是一個其他版本
你可以結合使用RINT()/產品()與query()
q=rint(product(query({!v="author:alice"}) ,100))&defType=func&fl=*,score&sort=score desc, author desc
Substitue 作者:愛麗絲與您的查詢。我不確定性能影響是什麼,因爲它運行子查詢。你將必須檢查。
是的,femtoRgon的方法非常好,但它不能應用。 – tasmaniski
我喜歡的是與rint()和product()的組合,因爲沒有round()函數查詢。 query()解決方案是否適合您? – phisch
我用rint()函數使用了query()函數,但是效果不好。現在使用product()方法的工作非常流行。謝謝! – tasmaniski
沒有round
function query,我所知道的,但有rint
這輪爲int,我相信像你可以使用:
sort=rint(product(score,100)) desc, orders desc
我收到錯誤「排序參數無法解析爲查詢...」。我認爲不能在排序功能中使用分數?你試試這個嗎? – tasmaniski
而不是使用默認的solr QueryComponent使用scorePrecisionComponent這將削減額外的精度和給你的排序條件更多的權重。 您可以通過配置solr參數(scorePrecision)將分數精確度更改爲所需的值。
你的目標是什麼?與相同查詢的其他分數相比,得分只有相關性。 – phisch
謝謝。我編輯了這個問題。 – tasmaniski