0
点赞
收藏
分享

微信扫一扫

elasticsearch多路查询

搬砖的小木匠 2021-09-19 阅读 50

_msearch

_msearch对应的是一个query数组,每个一个query都可以设置单独的from、size以及查询排序逻辑

  • 一个简单的例子
GET my-index-000001/_msearch
{ }
{"query" : {"match" : { "message": "this is a test"}}}
{"index": "my-index-000002"}
{"query" : {"match_all" : {}}}

查询与查询直接可以使用换行符,内部不行

可以发现返回的外层多了一个responses数组, 接口执行时间以最大响应query时间为准


  • 支持配置查询模板
    创建查询模板
POST /_scripts/my_template_1
{
  "script": {
    "lang": "mustache",
    "source": {
      "query": {
        "match": {
          "message": "{{query_string}}"
        }
      }
    }
  }
}

使用模板进行_msearch查询

GET _msearch/template
{"index" : "main"}
{ "id": "my_template_1", "params": { "query_string": "some message" } }

需要注意的是如果使用的是http接口,那么Content-Type需要设置为:application/x-ndjson

举报

相关推荐

0 条评论