match和query_string之间的区别

时间:2017-10-24 18:03:00

标签: elasticsearch

匹配查询和查询字符串查询有什么区别?说,我有以下查询,它们是否具有相同的功能?

GET /_search
{
    "query": {
        "match" : {
            "_all" : "this is a test"
        }
    }
}

GET /_search
{
    "query": {
        "query_string" : {
            "query" : "this is a test",

        }
    }
}

考虑到使用query_string而不指示任何特定字段的事实,将自动使用_all字段

1 个答案:

答案 0 :(得分:1)

来自elasticsearch documentation

  

比较匹配查询到query_string / field

     

匹配查询系列确实如此   不经过“查询解析”过程。它不支持字段   名称前缀,通配符或其他“高级”功能。对于   这个原因,它失败的可能性非常小/不存在,并且   它提供了一个很好的行为,只需分析和   将该文本作为查询行为运行(通常是文本搜索   盒子)。此外,phrase_prefix类型可以提供一个伟大的“和你一样   输入“自动加载搜索结果的行为。