2012-04-10 12 views
1

Ich versuche, eine Web-Suchanwendung mit solr zu machen, aber ich habe Probleme. Das Problem ist, dass in dem Beispiel, dem ich folgte, alle Dateien in demselben Ordner sind. Aber ich möchte Dateien aus verschiedenen Verzeichnissen indizieren (dh geben Sie den Stammordner an und indexieren Sie alle XML-Dateien aus allen Unterverzeichnissen). Ist das möglich?solr-index von mehreren Ordnern

+1

Sie das Skript leicht ändern können (post.sh , wenn Sie es verwenden), um die Dateien im Verzeichnis und allen Unterverzeichnissen zu iterieren und zu indizieren. – Jayendra

+0

danke. Könnten Sie bitte genauer sein, weil ich nicht weiß, wie das geht? Sollte ich CD verwenden? – Anastasia

+0

In Ihrer bevorzugten Programmiersprache: ** (1) ** traverse alle Verzeichnisse rekursiv ** (2) ** Verwenden Sie eine HTTP-Client-Bibliothek (zB: urllib2 für Python, curl für Shell, libcurl für C) um Dokumente nach solr hochzuladen . – aitchnyu

Antwort

0

Versuchen Sie, diese in einem Shell-Skript (ungetestet):

#!/bin/sh 

FILES=$(find . -iname "*.xml") 
URL=http://localhost:8983/solr/update 

for f in $FILES; do 
    echo "Posting $f" 
    curl $URL --data-binary @$f -H 'Content-type:application/xml' 
    echo 
done 

#send the commit command to make sure all the changes are flushed and visible 
curl $URL --data-binary '<commit/>' -H 'Content-type:application/xml' 
echo 

Platz es im Stammordner, in dem Sie die XML-Dateien.

(i nehme an, Sie haben Linux und das 'post.sh' Skript ist das Beispiel, das Sie folgen)

0

die SimplePostTool rekursive Option Versuchen:

java -Dauto -Drecursive -jar post.jar 
Verwandte Themen