我发现公司名称中的首字母缩写词有多种格式,例如
AB Industries
A.B. Industries
A B Industries
这些名称可能位于我的任何格式的索引数据中,也可能出现在任何这些格式的搜索查询中。
是否有任何过滤器和标记器组合可以搜索任何列出的格式,以查找任何列出的格式的索引文档?
答案 0 :(得分:1)
如果您使用的是StandardAnalyzer,您的数据将以'。'分隔。 A和B将作为单独的条款编入索引。
我建议尝试以下选项
1)实现您自己的自定义分析器,删除StandardFilter并使用LowerCaseFilter使用ClassicTokenizer。 (根据ClassicTokenizer文档 - “在标点符号上拆分单词,删除标点符号。但是,没有空格后面的点被视为标记的一部分”
2)如果以上工作,仍然将“A.B”索引为“A.B”,因此查询“AB”将找不到任何匹配。要完全解决此问题,您必须使用您的标记器来标准化标记A.B-> AB,A B->索引前的AB等。
您可以在google上获得大量自定义标记器和分析器的示例。
让我知道实验状态。