如何修改SOLR tf idf相似度?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改SOLR tf idf相似度?相关的知识,希望对你有一定的参考价值。
我正在尝试搜索标题因此只是单词的存在就足够了,其频率至少与我的用例无关。
例如:搜索查询是:“早点登上我的宠物”
我得到的结果是:结果1:宠物2.3924026
结果2:宠物计算机舱宠物限制2.0538325
结果3:宠物预售允许1.6092906
理想情况下,我希望结果3位于顶部,需要一些外部工作。然而,结果1是显而易见且可接受的,但结果2的得分为2.05,因为其“宠物”被提及两次,暗示tf值更高[2/4(在删除停止词之后)]。我的要求只是检测单词的存在而不是单词的频率。
怎么做到这一点?
答案
如果您不需要短语搜索或其他依赖于索引位置数据的功能,则可以将omitTermFreqAndPositions="true"
用于相关字段。在这种情况下,不会存储条款的位置或频率。
如果这不是一个选项,您可以创建一个扩展DefaultSimilarity的虚拟相似度类,并为tf返回1.0f。这样的例子可以在Solr Custom Similarity找到。
您还可以为每个字段配置不同的相似度类,允许您删除单个字段的tf
评分。
第三种选择是使用the constant scoring operator作为您希望获得常量分数的查询部分。不确定edismax解析器是否支持此功能。
以上是关于如何修改SOLR tf idf相似度?的主要内容,如果未能解决你的问题,请参考以下文章