我需要知道一个单词或多个单词何时在索引的字段中,并且该文档的得分更高。

我的问题是,如果我搜索“ Sherton Hotel”,我会得到最大的结果


佩蒂特酒店
疯牛
西蒙斯


我希望这些能够产生最大的效果


毛伊岛喜来登酒店临近月球
看起来像喜来登的梦幻般酒店


我想要的是,如果单词Im正在搜索或类似词在其中,在这种情况下,hotelName字段除了字段文本的长度外,它们的得分也更高。

我认为对于Lucene
“ Seraton Hotel”与“ Crazy Cow”的相似之处要比“ Sheraton喜欢喜来登的梦幻酒店”更多。

最佳答案

TermQuery寻找完全匹配,FuzzyQuery做的事情有些不同。不知道hotelNameToSearchhotel.getName().toLowerCase是什么,我真的不能说是怎么回事,但是为什么不使用内置的queryParser?只需添加带有数字的代字号(〜)即可表示模糊查询?

10-07 17:18