我如何知道创建索引的 Elasticsearch 版本?

ern*_*lez 5 lucene indexing upgrade elasticsearch reindex

有没有办法知道特定索引是在哪个 Elasticsearch 版本中创建的?

当您想要升级集群并且可能需要在升级集群之前将较旧的索引重新索引到较新的版本以避免不兼容问题时,这主要有用。

例如,如果我们要升级到7.5版本,如果我们有在5.x或更早版本中创建的索引,则需要在升级到7.5.0之前重新索引或删除它们。如果存在不兼容的索引,Elasticsearch 节点将无法启动。5.x 或更早版本索引的快照无法恢复到 7.x 集群,即使它们是由 6.x 集群创建的 ( https://www.elastic.co/guide/en/elasticsearch/reference/current/reindex -upgrade.html)。

ern*_*lez 7

我们可以通过两个简单的调用来了解这一点:
- GET my_index?human
-GET my_index/_settings?human

在这两个调用中,您都会在响应中找到如下内容:

"version" : {
    "created_string" : "7.4.2",
    "created" : "7040299"
}
Run Code Online (Sandbox Code Playgroud)

created字段指示发布版本。created_string仅当您包含?human标志以获得更清晰的视图时,该字段才会出现。