elasticsearch Elasticsearch/Lucene首字母缩略词搜索,elasticsearch,lucene,elasticsearch,Lucene" /> elasticsearch Elasticsearch/Lucene首字母缩略词搜索,elasticsearch,lucene,elasticsearch,Lucene" />

elasticsearch Elasticsearch/Lucene首字母缩略词搜索

elasticsearch Elasticsearch/Lucene首字母缩略词搜索,elasticsearch,lucene,elasticsearch,Lucene,我发现公司名称中的首字母缩略词有多种格式,例如 AB工业 A.B.工业 A B工业 这些名称可能以任何一种格式出现在我的索引数据中,也可能以任何一种格式出现在搜索查询中 是否有任何过滤器和标记器的组合,可以搜索任何列出的格式,以查找任何列出格式的索引文档?如果您使用的是StandardAnalyzer,您的数据将以“.”分隔,a和B将作为单独的术语索引 我建议尝试以下选项 1) 实现您自己的自定义分析器,删除StandardFilter并将ClassicTokenizer与小写筛选器一起使用。

我发现公司名称中的首字母缩略词有多种格式,例如

AB工业
A.B.工业
A B工业

这些名称可能以任何一种格式出现在我的索引数据中,也可能以任何一种格式出现在搜索查询中


是否有任何过滤器和标记器的组合,可以搜索任何列出的格式,以查找任何列出格式的索引文档?

如果您使用的是StandardAnalyzer,您的数据将以“.”分隔,a和B将作为单独的术语索引

我建议尝试以下选项

1) 实现您自己的自定义分析器,删除StandardFilter并将ClassicTokenizer与小写筛选器一起使用。(根据ClassicTokenizer文档-“在标点符号处拆分单词,删除标点符号。但是,不后跟空格的点被视为标记的一部分”

2) 如果上述操作有效,那么“A.B”仍将被索引为“A.B”,因此查询“AB”将找不到任何匹配项。要完全解决这个问题,您必须有您的标记器,在索引之前,您可以在其中规范化标记A.B->AB、A B->AB等等

你可以在谷歌上获得大量定制标记器和分析器的示例

让我知道实验情况