ElasticSearch:query_string'*'通配符VS前缀查询

时间:2020-01-16 09:04:07

标签: performance elasticsearch kibana elasticsearch-7

我写了一个查询来获取所有名称以c开头的客户端。通过以下两个查询,我得到相同的结果:

#Q1 Query String and * wildcard
GET /client/_search
{
  "query": {
    "query_string": {
      "default_field": "Name.keyword",
      "query": "c*"
    }
  }
}


#Q2 prefix query
GET /client/_search
{
    "query": {
        "prefix": {
            "Name.keyword": {
                "value": "c"
            }
        }
    }
}

我猜字符串查询效率不高,因为它解释了here

请注意,通配符查询会占用大量内存,并且执行效果非常差。-只是想想需要查询多少个词来匹配查询字符串“ a * b * c *”。

但是有人可以告诉我哪种方法最适合我,并且效率更高吗?

谢谢。

0 个答案:

没有答案
相关问题