Frage

Mit SOLR 4 kam die Fähigkeit, atomare (teilweise) Updates auf vorhandenen Dokumenten innerhalb des Indexs zu erstellen.D. H.Man kann mit der Dokument-ID übereinstimmen und den Inhalt von nur einem Feld ersetzen oder weitere Einträge in mehr vorhandene Felder hinzufügen: http://wiki.apache.org/solr/atomic_updates

können atomare Updates von DataImportHandler (DIH) erfolgen?

War es hilfreich?

Lösung

Die Antwort lautet "Ja" mit dem ScriptTransformer, den ich durch Versuch und Irrtum entdeckt habe.

Die SolR-Dokumentation zeigt, wie Sie ein Update-Attribut an einen Feldknoten mit "Set", "Hinzufügen" oder "Inc" hinzufügen.Wenn ich eine Test-XML-Datei mit dem erforderlichen Update-Attribut erstellen, funktioniert es, wenn er an den regulären Update-Handler weitergegeben wird.Aber wenn Sie an DIH übergeben werden - auch ohne Transformation - werden die Update-Attribute vollständig ignoriert.

Hier ist eine vereinfachte Version des Skripttransformators, mit dem ich das Update-Attribut erneut wieder integriert und atomare Updates funktioniert.Beachten Sie die Verwendung der Java Hashmap.

generasacodicetagpre.

Dies ergibt die folgende JSON im DIH-Debug-Modus:

generasacodicetagpre.

mehrwertige Felder sind auch kein Problem: Geben Sie anstelle einer Zeichenfolge eine Arrayliste an die HashMAP an.

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top