【问题标题】:Lucene search, word separator unawareLucene 搜索,单词分隔符不知道
【发布时间】:2015-07-10 17:46:03
【问题描述】:

我有单词列表,例如:

'today
today
t-oday
t oday
t/oda y

如果我搜索单词 todayt/oday'today,如何从 Lucene 索引中检索所有这些单词。

我实际上希望搜索对与号、破折号、空格和其他一些字符不敏感。

处理这种情况的最佳方法是什么?我应该编写自己的分析器/标记器还是可以使用某些东西来执行此搜索?

我正在使用休眠搜索。

【问题讨论】:

    标签: java lucene hibernate-search


    【解决方案1】:

    CharFilter 添加到您的分析仪可能是最好的解决方案。这允许您在应用标记器之前预处理输入。 Hibernate documentation 中有一些 TokenFilter 示例(参见示例 4.13)。

    我建议使用MappingCharFilterFactory,并定义映射以去除您不感兴趣的字符。

    从输入中去除所有空格对我来说似乎是一个相当不寻常的情况,因为这可能会阻止有用的标记化,但我想我假设你已经考虑到了这一点。

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多