Indexierung von Dokumenten
Solr bringt ein einfaches und nützliches Werkzeug zur Indexierung von Dokumenten mit: das Simple Post Tool. Es kann über ein Shell-Script gestartet werden, das sich unter bin/post
findet. Die Implementierung des Tools steckt in der Java-Klasse org.apache.solr.util.SimplePostTool
. Es werden eine Reihe von Funktionen unterstützt, u.a.
- die Verarbeitung von verschiedenen textuellen als auch binären Dateitypen (JSON, CSV, XML, HTML, TXT, PDF, DOC, PPT, ODT)
- die rekursive Verarbeitung von Verzeichnisinhalten
- das Crawlen und anschließende Indexieren von Webseiten
Die einfachste Art der Indexierung eines Dokuments besteht in der Übergabe des Dokuments auf der Kommandozeile. Hier ein Beispiel für die Indexierung eines Dokuments, das aus nur einem Feld (mit dem Namen id) besteht:
bin/post -c mycoll -p 8984 -type text/csv -out yes -d $'id\n1'
Der Statuscode 0 in der XML-Rückgabe zeigt an, dass das Dokument erfolgreich in den Index geschrieben wurde. Standardmäßig wird nach der Indexierung des übergebenen Dokuments ein Commit ausgeführt. Ist das nicht gewünscht (weil ein größerer Transaktionskontext verwendet werden soll), so kann dies erreicht werden mittels:
bin/post -c mycoll -p 7475 -type text/csv -out yes -commit no -d $'id\n2'
In diesem Fall muss am Ende der Transaktion ein explizites Commit abgesetzt werden, z.B. mittels
bin/post -c mycoll -p 7574 -type application/xml -out yes -d $'<commit/>'
Ebenso kann ein Rollback ausgeführt werden:
bin/post -c mycoll -p 7574 -type application/xml -out yes -d $'<rollback/>'
Auch ein Index-Optimize kann auf der Kommandozeile mit dem Tool gestartet werden:
bin/post -c mycoll -p 7574 -type application/xml -out yes -d $'<optimize/>'