2011-10-09 19 views
5

我已經有提前確定的提升。我在solr索引中有一個名爲boost1的字段。這個提升字段的值將從1到10與谷歌PR排名相似。這是應用於solr中運行的每個查詢的提升。這裏是我的索引如何提高字段在索爾

  • 編號
  • 標題
  • 文本
  • 助推

升壓場應適用於每一個查詢的字段。我試圖實現類似於Google PR排名的功能。有沒有辦法使用solr來做到這一點?

+0

這仍然(從2012年)信息和幫助:https://nolanlawson.com/2012/06/02/comparing-boost-methods-in-solr/ – Risadinha

回答

8

您可以在查詢期間添加提升,例如

q={!boost b=boost1} 

How_can_I_boost_the_score_of_newer_documents

然而,這可能需要你通過明確添加。

如果您將dismaxedismax與請求處理程序一起使用,則可以使用bf(Boost函數)參數來提升文檔。 http://wiki.apache.org/solr/DisMaxQParserPlugin#bf_.28Boost_Functions.29

bf=boost1^0.5 

這可以被添加到該請求處理程序定義的默認值,以使它們適用於所有的搜索查詢。

您可以使用查詢功能來改變升壓FunctionQuery

+0

嗨,如何做一個更復雜的功能查詢使用乘法實現提振..請檢查http://stackoverflow.com/questions/19874983/use-function-query-for-boosting-score-in-solr –

+0

你可能想更喜歡'boost'(乘法增強)到'edismax'查詢中的'bf'(加法提升)參數。一篇文章闡明瞭所有不同的參數:https://nolanlawson.com/2012/06/02/comparing-boost-methods-in-solr/ – Risadinha