📅  最后修改于: 2023-12-03 15:10:47.421000             🧑  作者: Mango
当我们需要访问和操作一个索引中的文档时,首先要确认哪些文档是可用的。在 Elasticsearch 中,我们可以使用以下方法来查看索引中可用的所有文档。
我们可以使用 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
]
}
]
}
}
我们也可以使用 Elasticsearch 提供的 Cat API 来查看索引中所有可用文档的 ID。例如,以下命令将返回名为 my_index
索引中所有文档的 ID:
GET /_cat/indices/my_index*?h=_id
响应如下:
1
2
3
以上就是查看 Elasticsearch 索引中可用的所有文档的两种方法。你可以选择其中一种来获取索引中的文档 ID。