📌  相关文章
📜  查看索引中可用的所有文档 (1)

📅  最后修改于: 2023-12-03 15:10:47.421000             🧑  作者: Mango

查看索引中可用的所有文档

当我们需要访问和操作一个索引中的文档时,首先要确认哪些文档是可用的。在 Elasticsearch 中,我们可以使用以下方法来查看索引中可用的所有文档。

1. 使用查询 API

我们可以使用 Elasticsearch 提供的查询 API 来获取索引中所有文档的 ID。例如,以下查询将返回名为 my_index 的索引中的所有文档 ID:

GET /my_index/_search?size=10000&_source=false
{
  "query": {
    "match_all": {}
  }
}

注意,由于默认情况下查询 API 只能返回 10 条搜索结果,我们需要通过设置参数 size 来获取所有文档 ID。在上面的例子中,我们将 size 设置为 10000。

返回的响应将会包含一个 _scroll_id,用于后续的检索请求:

{
  "_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAA.../...",
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 3,
      "relation": "eq"
    },
    "max_score": null,
    "hits": [
      {
        "_index": "my_index",
        "_type": "_doc",
        "_id": "1",
        "_score": null,
        "_source": false,
        "sort": [
          1
        ]
      },
      {
        "_index": "my_index",
        "_type": "_doc",
        "_id": "2",
        "_score": null,
        "_source": false,
        "sort": [
          2
        ]
      },
      {
        "_index": "my_index",
        "_type": "_doc",
        "_id": "3",
        "_score": null,
        "_source": false,
        "sort": [
          3
        ]
      }
    ]
  }
}
2. 使用 Cat API

我们也可以使用 Elasticsearch 提供的 Cat API 来查看索引中所有可用文档的 ID。例如,以下命令将返回名为 my_index 索引中所有文档的 ID:

GET /_cat/indices/my_index*?h=_id

响应如下:

1
2
3

以上就是查看 Elasticsearch 索引中可用的所有文档的两种方法。你可以选择其中一种来获取索引中的文档 ID。