Elasticsearch 中的单布尔必须查询

Single bool must queries in Elasticsearch

将单个 Elasticsearch 查询包装在 bool must 查询中是否会改变搜索结果,或者以下两个查询是否相同(在 elasticsearch 如何处理它们和结果方面)?

单个 query_string 查询(没有 bool 查询作为包装器):

POST _search
{
  "query": {
    "query_string" : { "query" : "My query string" }
}}

bool 包含单个 query_string 查询的查询:

POST _search
{
  "query": {
    "bool" : {
      "must" : {
        "query_string" : { "query" : "My query string" }
}}}}

两者在语义上完全相同,并且会产生相同的结果。

不过值得注意的是,bool查询只有在有多个子句时才有意义,否则指定它是没有用的。