【问题标题】:LUCENE - Fuzzy Search on a word containing SpaceLUCENE - 对包含空格的单词进行模糊搜索
【发布时间】:2018-01-10 18:29:00
【问题描述】:

我面临的情况看起来很简单,但我真的无法想象一个明确的解决方案:

  • 想象一下,我想在 Lucene 索引中为包含“夏天,生活很轻松”的文本编制索引。

  • 我希望在我的 ui 上搜索“夏令时”找到包含我的夏令时文本的索引文档,同时保持 StandardAnalyser 标准数据的所有优势。

我想使用模糊查询就足够了(因为距离为 1)。因为我使用基于空格的分词器,所以解决方案并不相关 我不知道使用哪种分析仪来实现这种可能性?同时保留 StandardAnalyzer 的所有优点(停用词、添加同义词的可能性……)。

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

【问题讨论】:

  • ShingleFilter 不会帮忙吗?它将多个标记合二为一 - 允许您将标记作为“夏季时间”以及“夏季”和“时间”。
  • 哇,我不知道这个,我认为它可以帮助:)。我会测试并随时通知您。非常感谢
  • 这完全解决了我的问题,非常感谢,我建议您将其设置为答案,以便我验证它:)

标签: search solr lucene full-text-search


【解决方案1】:

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

这样,您将获得“夏季时间”作为单个标记,以及“夏季”和“时间”(除非您禁用 outputUnigrams)。当您这样做时,您将获得编辑距离较小的标记,并且模糊搜索应该可以按照您的意愿工作。

【讨论】:

    猜你喜欢
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多