官方文档

1. 获取数据

  1. GET user/_doc/1
  2. {
  3. "_index" : "user", //所属
  4. "_type" : "_doc",
  5. "_id" : "1",
  6. "_version" : 11, #版本号
  7. "_seq_no" : 10, #并发控制,用于乐观锁
  8. "_primary_term" : 1, #同_seq_no, 主分片重新分配, 如重启,就会变化
  9. "found" : true,
  10. "_source" : {
  11. "name" : "bobby"
  12. }
  13. }

只返回source的值

  1. GET user/_source/1

2. 搜索数据

官方文档

Elasticsearch有两种查询方式

  1. 1. URI带有查询条件(轻量查询)
  2. 查询能力有限,不是所有的查询都可以使用此方式
  3. 2. 请求体中带有查询条件(复杂查询)
  4. 查询条件以JSON格式表现,作为查询请求的请求体,适合复杂的查询

1. 通过url查询数据

请求参数位于_search端点之后,参数之间使用&分割,例如:

  1. GET /_search?pretty&q=title:azure&explain=true&from=1&size=10&sort=title:asc&fields:user,title,content

搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档。

2. 通过request body查询数据

  1. GET account/_search
  2. {
  3. "query": {
  4. "match_all": {}
  5. }
  6. }