multi_match中的Elasticsearch query_string

时间:2017-01-18 11:17:56

标签: elasticsearch

我的ElasticSearch(我使用的是1.6版)应用程序中有以下查询:

{
    "query":{
        "span_multi":{
            "match":{
                "query_string": {
                    "fields": ["field_name"],
                    "query": "*term*"
                }
            }
        }
    }
}

它工作正常。只要我在fields参数中添加另一个字段,例如

{
    "query":{
        "span_multi":{
            "match":{
                "query_string": {
                    "fields": ["field_name", "another_field_name"],
                    "query": "*term*"
                }
            }
        }
    }
}

我收到以下错误:

spanMultiTerm [match] must be of type multi term query

我做错了什么?我如何解决这个问题对我原始查询的影响最小?

1 个答案:

答案 0 :(得分:1)

您需要使用多重匹配查询:

{
    "multi_match" : {
      "query":    "*term*", 
      "fields": [ "field_name", "another_field_name" ] 
    }
}