2

我正在使用 Lucene.net 为大约 200 万种产品的数据库编写一个搜索引擎。我正在使用Snowball Analyzer,到目前为止,我对性能和结果集印象深刻。

我似乎无法克服的一个问题是检测搜索输入中的缺失空格。

例如:

用户正在寻找“Black Diamond”品牌产品,但他们搜索“blackdiamond”。

由于雪球分析器Tokens为 Black Diamond 创建了两个单独的结果,因此我得到0个结果。

我可以采取什么方法来纠正这个问题?我对Shingle Analyzer(n-gram) 进行了一些研究,但不确定这是否有帮助。

是否可以将 aShingle AnalyzerSpellChecker( 这将是一个有效的解决方案) 结合起来?如果我能用你的意思是什么来提示人们:“黑钻石”,那将是一个主意。发生这种情况时的链接。

4

1 回答 1

0

最初运行用户查询怎么样,如果没有结果(或分数低于某个阈值),运行 N 个额外的搜索(其中 N 是把单词分成两个的可能性的数量)显示用户结果获得最高分的可能性。

于 2012-10-07T00:06:43.790 回答