2016-12-05 2 views
0

Ich habe zwei Arten in meinem elasticsearch Index. Beide haben dieselbe Zuordnung. Ich verwende einen für aktive Dokumente, während der andere für archivierte Dokumente verwendet wird.Änderung _type eines Dokuments in elasticsearch

Jetzt möchte ich ein Dokument archivieren, d. H. Seinen _Typ von aktiv zu archiviert ändern. Beide sind im selben Index, also kann ich sie auch nicht neu indizieren.

Gibt es eine Möglichkeit, dies in Elasticsearch 5.0 zu tun?

Antwort

1

Das Ändern des Typs ist schwierig. Sie müssten das Dokument mit dem neuen Typ entfernen und anschließend indizieren.

Warum haben Sie kein Feld in Ihrem Dokument, das "activity" anzeigt? Dann können Sie eine Bool-Abfrage verwenden, um danach zu filtern, was Sie wollen:

{"query": { 
     "bool": { 
     "filter": [{"term": {"status", "active"}}], 
     "query": { /* your query object here */ } 
     } 
    } 
    } 
0

Vereinbaren Sie mit einem Feld, das um die Aktivität des Dokuments anzeigt.

(Oder)

  • Verwenden Sie zwei verschiedene Indizes für "aktiv" und "inaktiv" Typen.
  • Verwenden Sie Aliase, die diesen Indizes zugeordnet werden.
  • Aliase geben Ihnen die Flexibilität, Ihre Indizes ohne Ausfallzeiten zu ändern.
Verwandte Themen