我正在与Lucene.net一起编写一个搜索引擎,用于生成约200万种产品的数据库。我正在使用Snowball Analyzer
,到目前为止,我对性能和结果集印象非常深刻。
我似乎无法克服的一个问题是检测搜索输入中缺少的空格。
例如:
用户正在寻找'Black Diamond'品牌产品,但他们会搜索'blackdiamond'。
由于雪球分析仪为Black Diamond创建了两个单独的Tokens
,我得到 0 结果。
我可以采取什么方法来纠正这个问题?我看了一下Shingle Analyzer
(n-gram),但不确定这是否有帮助。
是否可以将Shingle Analyzer
与SpellChecker
合并(这会是效果解决方案)吗?如果发生这种情况,我是否可以提示用 您是否意味着:'黑钻'? 链接。
答案 0 :(得分:0)
最初如何运行用户查询,如果没有结果(或得分低于某个阈值),运行N个额外搜索(其中N是将单词分成两个的可能性的数量),显示用户获得最高分的可能性的结果。