在我的rails应用程序中使用Using,我将其设置为允许与infix进行部分匹配(例如,搜索“infix”将匹配“烟灰缸”)。
然而,我希望完整的单词匹配比中缀匹配有更多的权重(相关性)。
因此,如果我对“托盘”的搜索返回这3个结果:“银托盘”、“烟灰缸”和“其他一些托盘”--我希望“烟灰缸”是按相关度排序的最后一个结果。
有没有办法将Sphinx配置为这样做?
发布于 2012-11-08 21:26:54
你需要定义你自己的排名器。以下是默认设置的外观:
SPH_RANK_PROXIMITY_BM25 = sum(lcs*user_weight)*1000+bm25
SPH_RANK_BM25 = bm25
SPH_RANK_NONE = 1
SPH_RANK_WORDCOUNT = sum(hit_count*user_weight)
SPH_RANK_PROXIMITY = sum(lcs*user_weight)
SPH_RANK_MATCHANY = sum((word_count+(lcs-1)*max_lcs)*user_weight)
SPH_RANK_FIELDMASK = field_mask
SPH_RANK_SPH04 = sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25http://sphinxsearch.com/docs/2.0.6/weighting.html
https://stackoverflow.com/questions/13248145
复制相似问题