如何使用querystringquery在elasticsearch中使用通配符搜索术语

时间:2017-02-23 08:42:40

标签: elasticsearch

我使用以下查询

  "query" : {
    "query_string" : {
      "query" : "*036-1922*",
      "default_field" : "partNumber"
    }
  }

但即使我的文件包含036-1922

,它也会返回null

看起来像检查*也是当我们在给定的术语中有特殊字符时在这里解释 - 在036-1922。

如何过来这个。

2 个答案:

答案 0 :(得分:0)

两件事。

  1. 你是否试过逃避破折号,如下:036\-1922
  2. 通配符对性能非常不利,尤其是领先的通配符。查看this以获取更多信息

答案 1 :(得分:0)

我找到了解决方案,问题通过使用

解决了

“查询”:{     “请求参数” : {       “查询”:“\ * 036-192 \ *”,       “default_field”:“partNumber”     }   }