Lucene搜索,单词分隔符未发现

时间:2015-07-10 17:46:03

标签: java lucene hibernate-search

我有单词列表,例如:

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

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

我实际上希望搜索对&符号,短划线,空格和其他一些字符不敏感。

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

我正在使用Hibernate Search。

1 个答案:

答案 0 :(得分:0)

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

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

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