Solr Boost非查询术语

时间:2011-12-01 09:57:33

标签: solr edismax

我的所有结果都是“活动,非活动,历史”类型 - 这是Solr索引的字段。

我希望我的结果会在 type =“active”的提升下返回。

我可以订购哪个足够,但不是很好。

因此,当用户搜索“生病”这个词时,他们会得到最相关的结果,但对于活跃的文档会有更高的推动力。

不仅仅是排序结果集!

2 个答案:

答案 0 :(得分:6)

您可以使用edismax parser和以下提升查询bq参数将您想要的结果提升到顶部......

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

在此示例中,您要添加一个提升查询以增加其类型处于活动状态的文档的相关性。

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

答案 1 :(得分:3)

以上示例将创建一个加法增强。 如果你想要“type = active”的乘法增强,你可以添加:

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

为“type = active”

提供了2倍的提升