例如,零件编号列表包括:
JRB-1000
JRB 1000
JRB1000
JRB100-0
-JRB1000
如果用户搜索“JRB1000”或“JRB 1000”,我想返回上述所有部件号的匹配项。
最佳答案
编写一个自定义 Analyzer
,将它们拆分为多个标记( JRB
、 1000
;对用户来说相对容易和宽容)或将它们连接成单个标记( JRB1000
;硬但精确)。实现您自己的 Analyzer
相当于覆盖现有参数中的 tokenStream
参数,并且可能编写自定义 TokenFilter
类。
将您的新 Analyzer
应用于正在编制索引的文档和查询。
(链接适用于 Java 版本,但 .NET 应该类似。)
关于.net - 如何设置 Lucene 以便我可以搜索忽略空白字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3916367/