Die Reindexing APIs ermöglichen das Kopieren von Dokumenten aus einem oder mehreren Quellindizes in einen Zielindex. Sie sind nützlich für Indexmigrationen, Schemaänderungen oder zur Optimierung der Datenstruktur.
Einfaches Reindexing
POST /_reindex
{
"source": {
"index": "old-index"
},
"dest": {
"index": "new-index"
}
}
source.index: Der Quellindex.dest.index: Der Zielindex.Reindexing mit einer Query
POST /_reindex
{
"source": {
"index": "old-index",
"query": {
"term": { "status": "active" }
}
},
"dest": {
"index": "new-index"
}
}
query: Filtert Dokumente im Quellindex, die kopiert
werden sollen.Reindexing mit Datenumwandlung
POST /_reindex
{
"source": {
"index": "old-index"
},
"dest": {
"index": "new-index"
},
"script": {
"source": "ctx._source['new_field'] = 'default_value'"
}
}
script: Transformation der Daten während des
Reindexings.Reindexing aus einem Remote-Cluster
POST /_reindex
{
"source": {
"remote": {
"host": "http://remote-cluster:9200"
},
"index": "remote-index"
},
"dest": {
"index": "local-index"
}
}
remote.host: Die URL des Remote-Clusters.| Parameter | Beschreibung |
|---|---|
source.index |
Der Quellindex. |
dest.index |
Der Zielindex. |
query |
Filtert Dokumente im Quellindex. |
script |
Führt Transformationen während des Reindexings durch. |
remote.host |
Die URL eines Remote-Clusters für das Reindexing. |
Einfaches Reindexing:
Kopieren Sie alle Dokumente aus dem Index users_old in den
neuen Index users_new.
POST /_reindex
{
"source": {
"index": "users_old"
},
"dest": {
"index": "users_new"
}
}Gefiltertes Reindexing:
Kopieren Sie nur Dokumente mit dem Feld status auf
active aus dem Index users_old in
users_new.
POST /_reindex
{
"source": {
"index": "users_old",
"query": {
"term": { "status": "active" }
}
},
"dest": {
"index": "users_new"
}
}Reindexing mit Transformation:
Kopieren Sie Dokumente aus users_old in
users_new und fügen Sie ein neues Feld
migrated mit dem Wert true hinzu.
POST /_reindex
{
"source": {
"index": "users_old"
},
"dest": {
"index": "users_new"
},
"script": {
"source": "ctx._source['migrated'] = true"
}
}Reindexing aus Remote-Cluster:
Kopieren Sie Dokumente aus dem Index remote_users eines
Remote-Clusters in den Index local_users.
POST /_reindex
{
"source": {
"remote": {
"host": "http://remote-cluster:9200"
},
"index": "remote_users"
},
"dest": {
"index": "local_users"
}
}Einfaches Reindexing
POST /_reindex
{
"source": {
"index": "users_old"
},
"dest": {
"index": "users_new"
}
}
Gefiltertes Reindexing
POST /_reindex
{
"source": {
"index": "users_old",
"query": {
"term": { "status": "active" }
}
},
"dest": {
"index": "users_new"
}
}
Reindexing mit Transformation
POST /_reindex
{
"source": {
"index": "users_old"
},
"dest": {
"index": "users_new"
},
"script": {
"source": "ctx._source['migrated'] = true"
}
}
Reindexing aus Remote-Cluster
POST /_reindex
{
"source": {
"remote": {
"host": "http://remote-cluster:9200"
},
"index": "remote_users"
},
"dest": {
"index": "local_users"
}
}