Lucene搜索 - 如果字段中有单词或类似内容,则得分更高

时间:2010-08-20 13:52:34

标签: java text lucene field

我需要知道我的索引中的一个或多个单词何时位于某个字段内,并且该文档的分数会更高。

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

  1. Petit Hotel
  2. Crzy cow
  3. Simmonss
  4. 我希望这些会有最好的结果

    1. 茂宜岛喜来登酒店附近的月亮
    2. 一个看起来像喜来登
    3. 的梦幻般的酒店

      我希望如果Im搜索或类似的词在里面,在这种情况下,hotelName字段他们有更高的分数..除了字段文本的长度。

      我认为对于Lucene来说, “Seraton Hotel”与“Crazy Cow”的相似性高于“看起来像喜来登的梦幻般的酒店”。

1 个答案:

答案 0 :(得分:1)

TermQuery查找完全匹配,FuzzyQuery做的事情略有不同。在不知道hotelNameToSearchhotel.getName().toLowerCase是什么的情况下,我无法说明最新情况,但为什么不使用内置的queryParser?只需添加一个带数值的波浪号(〜)来表示模糊查询?