通过加权某些元素对solr结果进行排序

时间:2010-10-01 15:06:46

标签: solr

我有solr查询,只返回索引中的最新项。但是我试图选择是否传入类别,如果类别字段加权,如果有类别字段的匹配则那些加权更高但仍然没有类别显示。

所以文档结构看起来像这样:

{id:1, title:"sometitle", category:['cat1','cat2']},{id:1, title:"sometitle", category:[]}

我的一般查询类似于:

title:*

但如果传递了类别,我会使用相同的标题:*查询,但我希望对结果进行排序,以使那些与传入的类别相匹配的类别字段的结果加权更高

我尝试了提升查询(bq),但这不起作用(这是有道理的,因为我的查询是全部返回),我按分数排序主要并在“创建”字段上进行二次排序

1 个答案:

答案 0 :(得分:3)

如果我理解你的问题,你希望某些文件得分更高,无论你的查询,对吧?那些有类别的文件应该比没有类别的文件更好?

如果这是您想要的,请参阅:How can I increase the score for specific documents?

或者,您可能会要求仅在查询时才提升内容。您的查询应该是

+(title:"title to search for") category:"categories to boost"

这只会找到与标题相匹配的内容,但如果它包含您在该查询中包含的类别,则会提高分数。