我有文档,其中包含很少的单词,几个句子和文档包含很多文本。当用户搜索某些内容时,Solr首先将文本提供最少的文本为最相关的文本,最后为文档提供了最多的文本。但是,与用户有关,相关性应不同。第一个结果应该是相关的,但还需要包含更多的文本,因为用户需要获取最相关的文档,但文本有更多文本 - 阅读某些内容。
因此,我如何首先获得相关的文档,但是那些首先具有更多文本的文档,而不是那些单词的文档。我正在使用一个文本字段并在其中搜索。
lucene使用的默认相似性类具有评分算法,具有长长的校序,该类别的内容较少,而内容较少的内容则更少。
基本上是基于术语的数量。
您可以轻松地扩展相似性类,以提供长时间的自定义实现,该实现基于数字无效。
。
然后,可以在schema.xml中指定此类的核心。
"甜蜜的一个人计算到恒定的规范 [Min,Max]范围("最佳点"),以及较小的规范值 长度超出了此范围。比甜的文档短或更长 现场范围是"惩罚"
min和max的默认值为1,因此不适合您。尝试设置值,例如: -
<similarity class="org.apache.lucene.misc.SweetSpotSimilarity">
<str name="paramkey">param value</str>
</similarity>