【问题标题】:what is difference between query string vs wildcard in ElasticsearchElasticsearch中查询字符串与通配符有什么区别
【发布时间】:2016-06-02 08:10:10
【问题描述】:

您能否告诉我何时使用查询字符串以及何时使用通配符。 在下面的场景中我应该使用什么

POST _search
{
  "query": { 
    "filtered": { 
      "query": [{
        "query_string": {
            "fields": [
                "afDeparture"
                ],
            "query": "16feb*"
            }
        }],
      "filter": [ 
        { "term":  { "boardPoint": "dxb" }}, 
        { "range": { "localDeparture": { "gte": 1454270400000 }}} 
      ]
    }
  }
}

【问题讨论】:

    标签: elasticsearch spring-data-elasticsearch


    【解决方案1】:
    • Query_String 值使用查询解析器进行解析以获取实际查询
      name:this AND surname:that

    • 但通配符查询是术语级别的查询,只计算*?

    总结query_string的值也是要解析的query,但wildcard_query的值是expression

    您的查询可以是

    {
        "query": {
            "wildcard": {
               "afDeparture": {
                  "value": "16feb*"
               }
            },
            "filter": [ 
            { "term":  { "boardPoint": "dxb" }}, 
            { "range": { "localDeparture": { "gte": 1454270400000 }}} 
          ]
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-04-25
      • 1970-01-01
      • 2016-08-15
      • 2015-07-19
      • 2017-01-09
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      相关资源
      最近更新 更多