我正在开发一个平台,用户在集合中组织项目。用户可以跟随每个集合。这些收藏品后来被Solr索引,并且可以搜索到。我意识到,如果我对集合名称(以及其中的项目名称)使用非常简单的提升,我得到的结果大多是具有非常少量项目的集合(这是正常的,因为单词池是小得多=>相关性更高)。当然,这不是我想要的。
我想要的是能够使用另一个我在Solr中编入索引的字段来增加集合名称,称为numItems。
换句话说,取代name:query^3
取代name:query^numItems
,甚至更好name:"query"^(numItems*numFollowers)
这可能吗?这是唯一的选择吗?想到的唯一另一件事是尝试用相同的参数对结果进行排序。
答案 0 :(得分:2)
最简单的方法是通过schema.xml中的omitNorms
字段属性禁用主域的长度规范化。
如果您仍需要微调评分,可以使用函数查询。有关详细信息,请参阅here,但使用上述简单提升的查询字符串的简短示例如下:
q={!boost b=(numItems*numFollowers)}query