LUCENE - 模糊搜索包含空格的单词

时间:2018-01-10 18:29:01

标签: search solr lucene full-text-search

我所面对的案例似乎很简单,但我真的无法想象一个明确的解决方案:

  • 想象一下,我想索引一个包含" Summertime的文字,生活很简单"在Lucene指数上。

  • 我想在夏天的时间里搜索我的ui"查找索引包含Summertime文本的文档,同时保留StandardAnalyser标准数据的所有好处。

我想使用fuzzyQuery就足够了(因为距离是1)。因为令牌化器我使用基于空格的分割,所以解决方案并不相关 我不知道哪种分析仪可以用来实现这种可能性?同时保留了StandardAnalyzer的所有好处(停用词,添加同义词的可能性......)。

也许它比我想象的更简单(至少看起来如此),但我现在看不到任何解决方案...... :(

1 个答案:

答案 0 :(得分:1)

您可以使用ShingleFilter使Solr将多个令牌组合成一个,用户定义分隔符。

这样你就可以将“夏令时”作为单一标记,以及“夏天”和“时间”(除非你禁用outputUnigrams)。执行此操作时,您将获得具有较小编辑距离的标记,并且模糊搜索应该按照您的意愿运行。