ElasticSearch6:document的dataSource元数据以及定制返回结果解析

1.dataSource元数据

就是说,我们在创建一个document的时候,使用的那个放在request body中的json串,默认情况下,在get的时候,会原封不动的给我们返回回来。但是一般情况下,我们不需要所有的字段,所以需要进行定制。

2.使用定制返回结果的例子

GET /ecommerce/product/_search
{
  "query": {
    "match": {
      "name": "yagao"
    }
  },
  "_source": [
    "name","desc"
    ]

}

结果:

{
  "took": 10,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 3,
    "max_score": 0.2876821,
    "hits": [
      {
        "_index": "ecommerce",
        "_type": "product",
        "_id": "5",
        "_score": 0.2876821,
        "_source": {
          "name": "zhuyan yagao",
          "desc": "meibai jiankang"
        }
      },
      {
        "_index": "ecommerce",
        "_type": "product",
        "_id": "4",
        "_score": 0.18232156,
        "_source": {
          "name": "yayale yagao",
          "desc": "gaoxiao meibai"
        }
      },
      {
        "_index": "ecommerce",
        "_type": "product",
        "_id": "1131mmABEP2XuYqpoflk",
        "_score": 0.18232156,
        "_source": {
          "name": "heiren yagao",
          "desc": "gaoxiao meibai"
        }
      }
    ]
  }
}



另一种语法:

GET /ecommerce/product/4?_source=name,price

执行结果:

{
  "_index": "ecommerce",
  "_type": "product",
  "_id": "4",
  "_version": 2,
  "found": true,
  "_source": {
    "price": 100,
    "name": "yayale yagao"
  }
}

你可能感兴趣的:(ElasticSearch)