Body 用于在任何地方搜索

Body for searching anywhere

在Elasticsearch中,很容易执行如下搜索请求,例如通过浏览器:

<protocol>://<address>:<port>/<index>/_search?q="search term"

这必须使用某种默认的匹配各种索引字段的组合。

通过搜索 body 在特定字段.

中进行地址搜索可以找到的常用示例

对于上述类型的 URL 查询,正确的搜索 body 是什么?

q=...实际上相当于query_string搜索。

所以 .../index/_search?q="search term" 等同于

GET index/_search
{
  "query": {
    "query_string": {
      "query": "search term"
    }
  }
}

query_string 查询的参数之一是 default_field,如果未指定,则等于名为 index.query.default_field 的索引设置的值,其默认值为*(即所有字段)

如果你想将搜索限制在特定的领域,那么你可以这样做:

GET index/_search
{
  "query": {
    "query_string": {
      "query": "search term",
      "default_field": "content"
    }
  }
}

这相当于 .../index/_search?q=content:"search term"