我有solr查询,只返回索引中的最新项。但是我试图选择是否传入类别,如果类别字段加权,如果有类别字段的匹配则那些加权更高但仍然没有类别显示。
所以文档结构看起来像这样:
{id:1, title:"sometitle", category:['cat1','cat2']},{id:1, title:"sometitle", category:[]}
我的一般查询类似于:
title:*
但如果传递了类别,我会使用相同的标题:*查询,但我希望对结果进行排序,以使那些与传入的类别相匹配的类别字段的结果加权更高
我尝试了提升查询(bq),但这不起作用(这是有道理的,因为我的查询是全部返回),我按分数排序主要并在“创建”字段上进行二次排序
答案 0 :(得分:3)
如果我理解你的问题,你希望某些文件得分更高,无论你的查询,对吧?那些有类别的文件应该比没有类别的文件更好?
如果这是您想要的,请参阅:How can I increase the score for specific documents?。
或者,您可能会要求仅在查询时才提升内容。您的查询应该是
+(title:"title to search for") category:"categories to boost"
这只会找到与标题相匹配的内容,但如果它包含您在该查询中包含的类别,则会提高分数。