1、讲解如何使用es进行分页搜索的语法

  • size:表示页面数量大小
  • from:表示查询的起始下标
  1. GET /_search?size=10
  2. GET /_search?size=10&from=0
  3. GET /_search?size=10&from=20

分页的上机实验, 我们假设将这9条数据分成3页,每一页是3条数据,来实验一下这个分页搜索的效果

GET /test_index/_doc/_search?from=0&size=3

{
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 9,
    "max_score": 1,
    "hits": [
      {
        "_index": "test_index",
        "_type": "_doc",
        "_id": "8",
        "_score": 1,
        "_source": {
          "test_field": "test client 2"
        }
      },
      {
        "_index": "test_index",
        "_type": "_doc",
        "_id": "6",
        "_score": 1,
        "_source": {
          "test_field": "tes test"
        }
      },
      {
        "_index": "test_index",
        "_type": "_doc",
        "_id": "4",
        "_score": 1,
        "_source": {
          "test_field": "test4"
        }
      }
    ]
  }
}

第一页:id=8,6,4
GET /test_index/test_type/_search?from=3&size=3
第二页:id=2,自动生成,7
GET /test_index/test_type/_search?from=6&size=3
第三页:id=1,11,3

2、什么是deep paging问题?为什么会产生这个问题,它的底层原理是什么?

deep paging性能问题,以及原理深度图解揭秘,很高级的知识点
image