2011-12-01 52 views
4

我所有的結果都是「活動,非活動,歷史」類型 - 這是由Solr索引的字段。Solr Boost on non-query term

我希望我的結果能夠返回type =「active」

我可以做的訂單哪些就夠了,但它不是很好。

因此,當用戶搜索一個術語「生病」時,他們會得到最相關的結果生病,但對於活躍的文檔有更高的推動力。

不只是一個排序的結果集!

回答

5

您可以使用edismax parser及以下升壓查詢bq參數設置爲得到您想要的結果被提升到頂部...

http://localhost:8983/solr/select/?q=sick&defType=edismax&bq=type:active^5.0 

在這個例子中要添加升壓查詢,以增加相關的文件類型是活動的。

以下是Solr Wiki DisMaxQParserPlugin頁面上的更多示例。

3

上面的例子將創建一個加法提升。 如果你想爲一個乘法升壓「型=活躍」你可以添加:

&boost=if(termfreq(type,"active"),2,1)

其中給出2倍提升爲「類型=激活」

+0

受此提振方法這篇大文章中推薦描述不同的增強方法:http://nolanlawson.com/2012/06/02/comparing-boost-methods-in-solr/ – Fractalf