【发布时间】:2011-10-04 04:52:30
【问题描述】:
Sphinx 的邻近度排序器使用稍微修改的 BM25 排序器(统计词袋)+ 最长词子串匹配公式,强烈支持后者,而 Solr 使用其他一些统计排序函数(不是 BM25,但类似) + 如果需要单词二元组,则进行提升(这类似于 LWS 方法)。我认为这两者都没有模拟人类对相关性的看法,当答案中的单词不一定相邻或顺序相同时,相关性不会从悬崖上掉下来。
简单例子:
查询:鲍勃·琼斯
正文:。 . . .琼斯,鲍勃。 . . . (看起来与我相关,但这将回退到仅统计数据)
-或-
正文:。 . . .鲍勃中间名琼斯。 . . . (相同)
我知道这样做是有代价的,但我不是唯一一个注意到如果单词乱序或分离,Solr 和 Sphinx 基本上都会退回到词袋统计排名器一个词,在某些情况下甚至可能是停用词。
想法?如果我想将上述任何一种情况的排名高于单词仅出现在文档中某处的情况怎么办?还是我错了,Solr 或 Sphinx 会这样做吗?
【问题讨论】:
标签: search solr sphinx full-text-search relevance