如果连字符出现,ElasticSearh按字的部分搜索

时间:2016-05-19 09:57:01

标签: elasticsearch

例如,我有以下字符串:gulp11-22-3322-33-4433-44-55,我只想找到44-55-66。但除了最后一次,ES还给我回报。

此外,稍后我需要按部分11-22-33进行搜索,它应该返回第一条记录。

2 个答案:

答案 0 :(得分:4)

如果您的文件被分析,您的字符串将存储为["11","22","33"]["22","33","44"]["33","44","55"]["44","55","66"]。当您搜索11-22-33时,它也会被标记为["11","22","33"],除最后一个之外的所有内容都与之相关,因此它们将返回。如果您想要存储字符串,则需要将字段设置为not_analyzed

答案 1 :(得分:1)

我也有同样的问题。即使在not_analyzed之后它也无法正常工作。原因是我添加的字段是一个新字段,我在没有修改映射的情况下尝试。默认情况下,在插入未映射的字段时,Elasticsearch使用默认映射。