弹性搜索空间独立搜索



我有一个带有默认索引的 elasticsearch 实例设置。 其中已索引了 10000 个文本文档,我想执行与空间无关的查询。我想执行以下情况的搜索。

案例 1 索引中的空格在查询中没有空格:

index data : 123 456 43
query data :12345643

案例 2 查询中的空格在索引中没有空格:

index data : 12345643
query data : 123 456 43

如上所示,查询不会,因为查询数据是一个术语,索引数据是三个术语。反之亦然,对于案例 2

情况 3 部分匹配与空间差异:

index data : 12345643
query data : 123 4 5

情况 4 部分匹配附加数据(尾随/前导(和空格差:

index data : 12345643
query data : 123 4 54
index data : 1234564343
query data : 123 4 5

我想创建一个删除空格并将完整内容索引为一个单词的索引,但我不知道它如何适用于 case3 和 case4。我也不知道这种方法的后备

我会删除空格并使用(边缘(ngram(分词器或标记过滤器(创建自定义索引时间分析器。

如果要匹配前缀和后缀,也可以在搜索时使用 edge-ngram 分词器/令牌过滤器。

最新更新