Elasticsearch Space独立搜索

时间:2017-07-11 14:17:14

标签: elasticsearch

我有一个带默认索引的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有什么用处。我也不知道这种方法的后备。

1 个答案:

答案 0 :(得分:1)

我会删除空格并使用(edge-ngrams(标记器或标记过滤器)创建自定义索引时分析器。

如果要匹配前缀和后缀,也可以在搜索时使用edge-ngram tokenizer / token-filter。