我试图通过使用lucene实现模糊短语搜索(匹配拼写错误的单词),通过引用各种博客,我认为尝试模糊短语搜索ngram索引。lucene用于模糊短语匹配的ngram tokenizer
但是我找不到ngram tokenizer作为我的lucene3.4 JAR库的一部分,是不推荐使用,还是用其他东西替换? - 目前我正在使用standardAnalyzer,在这里我可以获得体面的结果以获得完美匹配的条款。
我有以下两个要求来处理。
我的索引有一个带有短语“xyz abc pqr”的文档,当我提供查询“abc xyz”〜5时,我能够得到结果,但是我的要求是为同一个文档获取结果,即使我有一个在我的查询(我明白比赛分数会少一些) - 额外的单词像“abc xyz pqr tst” - 在短语中使用邻近额外单词不起作用,如果我从查询中移除邻近和双引号“”,我期待结果(但是我得到很多误报,比如只包含xyz的文档,只有abc等)
在上面的例子中,如果有人拼错查询“abc xxz”,我仍然想要得到相同文档的结果。
我想用ngram试一试,但不确定它会按预期工作。
有什么想法?
感谢约翰,我会尝试这一点,并让你知道。 – Rushik 2012-02-29 03:39:37