簡體   English   中英

Solr:按日期進行的提升未按正確順序返回,我的提升存在問題嗎?

[英]Solr: boosting by date not returning in right order, is something wrong with my boost?

我正在使用Solr搜索事件,並且我需要按日期對事件進行增強,以便距離事件越近的當前日期,與具有相同名稱但日期較晚的事件相比,其得分越高。 因此,2015年1月的“校友聚會”應該比2015年10月的“校友聚會”出現在結果列表上更高。

我閱讀了Solr相關性常見問題解答,這是我在solr中使用的查詢:

?q={!boost%20b=recip(abs(ms(NOW,dt_startdate)),3.16e-11,1,1)}searchterms&sort=score desc

它肯定會更改結果的順序,但是順序是錯誤的。 例如,我給我返回了四個結果的搜索之一是將它們返回為2012、2013、2014、2015,但應該相反(2015年4月vs 2014年4月,應該首先顯示)。 我嘗試只是將其更改為

sort=score asc

但是,與返回的順序相反,該命令完全不同。 它去了2014年,2015年,2012年,2013年

我的提振有什么問題? 我相信,如果沒有提高,它們的相關性應該都是相同的,因為包含我要搜索的術語的字段對於每個術語都是完全相同的。 實際上,在我加薪之前,訂單更好 雖然不正確,但它到2014年,2015年,2013年,2012年的時間比現在更近了。

編輯:我意識到提升不一定會按日期順序進行,這很好,但是9個月前的事件肯定會出現在2012年之前,特別是因為沒有提升,2014年的事件就排在了最前面。名單。 目前,2012年將首先出現。

編輯2(重要) :好的,所以我決定檢查有無加速情況下我的四個項目的得分。

2012:0.37118697提升:0.005060354

2013:0.4639837提升:0.005060354

2014:0.55678046提升:0.0044278097

2015:0.4639837提升:0.0044278097

因此,您可以看到,提升實際上使舊版本的舊版本 變得更糟 為什么這樣做呢? 我真的不太了解提升的效果,所以我不知道為什么它會使分數變得更糟。

聽起來您只是想根據日期對搜索進行排序,而不要使用增強功能-增強功能是使新文檔趨向更高的趨勢,而不是以降序/升序排列。

對於提升示例,將對不超過一年(iirc)的文檔應用不同的提升,而較舊的文檔將不會從該條款中獲得任何提升。 請記住,其他搜索字詞也會應用提升,並且這些子句的得分可能會比​​年齡增長的提升更高/更相關。

日期提升不是一門精確的科學,並且還必須根據您的其他提升來應用提升值(通過更改recip調用中的值或通過使用^ weight對其進行優先級排序)。

暫無
暫無

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

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