我问的问题可能有一个名字,它与贝叶斯统计有关。
我有一个街道地址数据库,我正在使用Lucene来匹配用户输入的地址(如果您需要一个类比,假设我在Google Maps工作)。
假设“西北大道”和“西北海岸大道”都是有效的街道名称,那么在搜索“0.001^0.001西北大道”时,我如何让Lucene将"2000西北大道“的得分高于"1000西北海岸大道”呢?
1000^0.001意味着,数字应该用来打破平局,但在其他情况下,匹配街道名称比将正确的数字与错误的街道匹配更重要。
不幸的是,在本例中,1000^0.001导致错误的匹配(北岸)先于正确的匹配。
什么评分算法可以使Lucene在搜索中未能指定索引术语时向下调整分数,其中罕见术语的权重高于普通术语?
发布于 2015-04-21 15:44:14
我会通过仔细地对街道名称进行标记化来解决这个问题。例如,您可以这样做:
https://stackoverflow.com/questions/29760190
复制相似问题