如何在solr中应用助推器

时间:2014-01-22 19:30:39

标签: solr lucene solr-boost

我是solr的新手,请帮助我提升领域。

我有这样的查询,

q=name:test* OR description:test*

我想将名称为500的增量/体重年龄应用于描述其50岁。

例如: 让我们考虑“test”术语在一个记录的名称字段中出现1次,在描述字段中出现20次来自另一个记录,然后提升计算应该如下所示。

代名:1 X 500 = 500

描述:20 X 50 = 1000。

结果,具有高增值的记录应该排在最前面。 所以基于上面的计算,具有20个匹配的描述字段的记录应该在该记录之后在名称字段中具有1个匹配的顶部。

如果有人为此提供解决方案,请提供

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用boost attribute在索引时提升字段,也可以应用boost in the query,例如q=name:test*^50 OR description:test*(此处还有一些more advanced features )。

我注意到,默认情况下,Lucene采用长度标准化,有效地权衡较短字段上的匹配比较长字段更重要。这听起来有点像你正在尝试重新创建。

如果您需要评分计算与您提供的评分一样简单,我相信您需要编写自己的Similarity class