Elasticsearch学习系列之多文档操作mget

测试数据

GET /library/books/1

复制代码
{
   "_index": "library",
   "_type": "books",
   "_id": "1",
   "_version": 1,
   "found": true,
   "_source": {
      "title": "Elasticsearch:the definitive guide",
      "name": {
         "first": "zachary",
         "last": "tong"
      },
      "publish_date": "2017-02-19",
      "price": "49.99"
   }
}
复制代码

GET /library/books/2

复制代码
{
   "_index": "library",
   "_type": "books",
   "_id": "2",
   "_version": 1,
   "found": true,
   "_source": {
      "title": "Elasticsearch:the definitive guide",
      "name": {
         "first": "zachary",
         "last": "tong"
      },
      "publish_date": "2017-02-19",
      "price": "59.99"
   }
}
复制代码

multi get

多字段查询可以设置多个文档查询条件,每个查询条件在结构上都比较类似

复制代码
GET /_mget
{
  
    "docs": [
      {
      "_index" : "library",
      "_type"  :  "books",
      "_id"    :  "1"
    },
    {
      "_index" : "library",
      "_type"  : "books",
      "_id"    : "2"
    }
    ]
  
  
}
复制代码

当然,在查询条件中,body中_index字段也可以放在查询字符串中

复制代码
GET /library/_mget
{
  
    "docs": [
      {
      
      "_type"  :  "books",
      "_id"    :  "1"
    },
    {
      
      "_type"  : "books",
      "_id"    : "2"
    }
    ]
  
  
}
复制代码

对于type也是一样:

复制代码
GET /library/books/_mget
{
  
    "docs": [
      {
      "_id"    :  "1"
    },
    {
      "_id"    : "2"
    }
    ]
}
复制代码

如果索引和类型都放在查询URL中,那么字段ID就可以放在一个数组中:

GET /library/books/_mget
{
  "ids" : ["1","2"]
}

如果想要查询不通类型的相同ID,就需要指定类型名称

复制代码
GET /test/_mget/
{
  "docs" : [
        {
            "_type":"typeA",
            "_id" : "1"
        },
        {
            "_type":"typeB",
            "_id" : "1"
        }
    ]
}
#这个例子不适用上面的测试数据
复制代码

Fields过滤

fields过滤是获取指定的字段

代码

复制代码
GET /_mget 
{
  "docs" : [
      {
        "_index":"library",
        "_type" : "books",
        "_id"   : "1",
        "fields" : ["publish_date","price"]
      },
      {
        "_index":"library",
        "_type" : "books",
        "_id"   : "2",
        "fields" : ["publish_date","price"]
      }
    ]
  
}
复制代码

结果

复制代码
{
   "docs": [
      {
         "_index": "library",
         "_type": "books",
         "_id": "1",
         "_version": 1,
         "found": true,
         "fields": {
            "publish_date": [
               "2017-02-19"
            ],
            "price": [
               "49.99"
            ]
         }
      },
      {
         "_index": "library",
         "_type": "books",
         "_id": "2",
         "_version": 1,
         "found": true,
         "fields": {
            "publish_date": [
               "2017-02-19"
            ],
            "price": [
               "59.99"
            ]
         }
      }
   ]
}
复制代码

 

posted @   差点点温柔  阅读(1356)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示