Nicht schema-änderung erfordern eine Neuindizierung aller Solr Dokumente oder nur Dokumente, die mit den geänderten schema-Felder?
Ich habe Millionen von Dokumenten in meiner Solr-index. Nur tausend von diesen Dokumenten haben, Feld A, dessen schema ich ändern will. Die schema-änderungen sind das ändern mehrwertigen von true auf false, gespeichert von false auf true, und Typ von text-Strings, die Dinge, die erfordern re-index. Re-Indizierung der tausend Dokumenten wird mich ein paar Minuten, wo-wie neu-Indizierung alles wird Tage dauern.
Die re-Indizierung der Seite auf Solr-wiki (http://wiki.apache.org/solr/HowToReindex) sagt: "löschen Sie alle Dokumente, bevor Sie beginnen, Ihre Indizierung Prozess", aber nicht sagen, wenn du nicht.
Kann ich löschen, nur die tausend Dokumente mit Feld A und index neu jene tausend, oder muss ich die löschen Sie den gesamten index (alle Dokumente), bevor das neu-indizieren Sie alle?
Getestet hab ich das "löschen der paar" - Szenario in einem kleinen, Beispiel index; und-updates und-Abfragen wie erwartet auf dem Feld geändert wurde. Allerdings, ich weiß nicht, ob ich einfach nur Glück und einige Probleme lauern, weil nicht alles löschen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur im Kopf behalten, dass, wenn Sie indexieren Sie ein Dokument mit der gleichen Id, das alte Dokument ist automatisch markiert als "gelöscht" aber nicht physisch aus dem index gelöscht. Und Begriff, Vektor-Analyse wird angewendet, um alle Dokumente (inklusive gelöschter Dokumente)
Wenn Sie brauchen, um körperlich clean up gelöschte Dokumente, die Sie benötigen, um durchführen index "Optimieren", Sie können dies tun, von der solr admin-Oberfläche.
Also Wenn ich an deiner Stelle, würde ich auch nicht alles löschen. Würde ich nur re-index nur den paar tausend betroffenen Dokumente. Führen Sie dann später optimieren zu säubern, die index.