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"]}}]}}}

它与雪球分析仪有关吗?我对弹性很陌生,在这里需要一些快速帮助。

非常感谢提前...

4

1 回答 1

0

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

于 2017-06-05T19:02:20.560 回答