elasticsearch - 在ES通配符v/s query_string中,用于查询多个字段的哪个更快,为什么?

标签 elasticsearch

您好,我正在尝试在ES中搜索通配符查询,现在要在多个字段中进行搜索,我可以有两种方法,首先使用query_string搜索该词。

{
    "query": {
       "query_string": {
            "fields": ["title", "description", "state"], 
            "query": "Ban*",
            "lowercase_expanded_terms": false
        }
    }
}



我可以使用 bool(boolean) 查询,在其中我可以编写多个通配符查询来执行此操作,而我的问题是你们都认为哪一个是快速且适当的。
    "bool": {
      "should": [
        {"query": {"wildcard": {"title": {"value": "Ban*"}}}},
        {"query": {"wildcard": {"description": {"value": "Ban*"}}}},
        {"query": {"wildcard": {"taste": {"value": "Ban*"}}}}
      ]
    }

最佳答案

Lucene查询字符串查询只是将查询字符串转换为具有这些简单查询(例如match,wildcard,regexp)等的bool查询。

因此,您应该不会看到任何区别。

关于elasticsearch - 在ES通配符v/s query_string中,用于查询多个字段的哪个更快,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33844942/

相关文章:

docker - 关于Docker Swarm上Elasticsearch分片的问题

elasticsearch - 查询嵌套对象时,Elasticsearch查询无法返回结果

c# - Elasticsearch 使用不同排序顺序获取距离

elasticsearch - ElasticSearch嵌套[AND OR]过滤器

elasticsearch - Filebeat 未在 Windows 中启动

php - Query for Elasticsearch中的多个范围

elasticsearch - Logstash似乎更改了Elasticsearch输出URL

elasticsearch - Logstash 重复数据

elasticsearch - Elasticsearch可以对值的对数进行衰减搜索吗?

elasticsearch - 索引新数据,同时在Elasticsearch中以零停机时间替换旧数据