2017-06-05 55 views
0

我有问题,而从弹性 这里获取数据回不回的数据映射弹性,如果字符串的一部分被用于搜索

"device": { 
    "properties": { 
     "deviceName": { 
     "type": "string", 
     "analyzer": "snowball" 
     } 
    } 
} 

当我使用完整的设备名称(即ZACe0933d850f)我正在查询结果。

工作查询

{"query": {"bool":{"must":[{"query_string":{"query":"ZACe0933d850f","fields":["*name","*Name","*text","*Text"]}}]}}} 

,但是当我试图用ZAC只有我没有得到任何结果进行搜索。

不工作查询

{"query": {"bool":{"must":[{"query_string":{"query":"ZAC","fields":["*name","*Name","*text","*Text"]}}]}}} 

有什么事情雪球分析仪有关?我对弹性很新,需要一些快速帮助。

感谢很多提前...

回答

0

你的问题是你不知道的文字究竟弹性搜索。您的文本将被标记,并且在您的输入中有一个ZACe0933d850f令牌,但不是ZAC。可能你应该在你的分析器中使用一个ngram标记过滤器。