如何设置Lucene以便我可以搜索忽略空格字符?

时间:2010-10-12 15:34:02

标签: .net lucene lucene.net

例如,零件编号列表包括:

JRB-1000
JRB 1000
JRB1000
JRB100-0
-JRB1000

如果用户搜索“JRB1000”或“JRB 1000”,我想返回上述所有部件号的匹配。

1 个答案:

答案 0 :(得分:2)

编写一个自定义Analyzer,将其拆分为多个令牌(JRB1000;相对容易和宽恕用户)或将它们连接成一个令牌({{1}很难但很精确)。实现您自己的JRB1000等于覆盖现有Analyzer参数,并且可能编写自定义TokenFilter类。

在要编入索引和查询的文档上应用新的tokenStream

(链接适用于Java版本,但.NET应该类似。)