例如,我有以下字符串:gulp
,11-22-33
,22-33-44
,33-44-55
,我只想找到44-55-66
。但除了最后一次,ES还给我回报。
此外,稍后我需要按部分11-22-33
进行搜索,它应该返回第一条记录。
答案 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使用默认映射。