2011-10-28 12 views
12

Muszę sprawdzić, czy ekstrakcja tekstu działa w mojej instalacji Solr w systemie Windows Server 2003. Wszystkie przykłady znalezione podczas przesyłania plików do Solr są zwinięte, jak poniżej.Jak mogę przesłać plik do Solr w systemie Windows?

curl "http://localhost:8983/solr/update/extract?&extractOnly=true" --data-binary @tutorial.html -H 'Content-type:text/html' 

Jak mogę to zrobić w systemie Windows? Chcę przetestować załadowanie dokumentu PDF i Worda, a następnie potwierdzenie, że mogę wyszukiwać słowa zawarte w dokumencie na stronie administratora Solr.

Odpowiedz

17

Z przykładów przychodzi post.jar (patrz katalog example\exampledocs z apache-solr-X.X.X.zip):

java -jar post.jar -h

This is a simple command line tool for POSTing raw data to a Solr 
port. Data can be read from files specified as commandline args, 
as raw commandline arg strings, or via STDIN. 
Examples: 
    java -jar post.jar *.xml 
    java -Ddata=args -jar post.jar '<delete><id>42</id></delete>' 
    java -Ddata=stdin -jar post.jar < hd.xml 
    java -Durl=http://localhost:8983/solr/update/csv -Dtype=text/csv -jar post.jar *.csv 
    java -Durl=http://localhost:8983/solr/update/json -Dtype=application/json -jar post.jar *.json 
    java -Durl=http://localhost:8983/solr/update/extract?literal.id=a -Dtype=application/pdf -jar post.jar a.pdf 
Other options controlled by System Properties include the Solr 
URL to POST to, the Content-Type of the data, whether a commit 
or optimize should be executed, and whether the response should 
be written to STDOUT. These are the defaults for all System Properties: 
    -Ddata=files 
    -Dtype=application/xml 
    -Durl=http://localhost:8983/solr/update 
    -Dcommit=yes 
    -Doptimize=no 
    -Dout=no 

LUB

Windows PowerShell 3.0 ma polecenie Invoke-WebRequest który na pewno może być używany za to. Zobacz this blog post.

Invoke-WebRequest

+0

próbowałem zamieszczając PDF za pomocą post.jar ale pojawia się błąd . SimplePostTool: FATAL: Solr zwrócił błąd # 405 Method Not Allowed. – John81

+0

@John: czy mógłbyś opublikować polecenie, którego używałeś? – jeha

+1

@John: Właśnie próbowałem użyć standardowego przykładu: uruchomiłem serwer za pomocą 'apache-solr-3.4.0 \ example> java -jar start.jar' i opublikowałem plik pdf z' apache-solr-3.4.0 \ example \ exampledocs> java -Durl = http: // localhost: 8983/solr/update/extract? literal.id = foobar -Dtype = application/pdf -jar post.jar foobar.pdf' działa dla mnie ... – jeha

1

może mieć następujące opcje -

  • Ogień URL z przeglądarki za pomocą stream.file (stream.url dla zdalnych adresów URL) parametr, który wskazuje na plik w lokalnym systemie plików, na przykład sample_url
  • Zainstaluj cgywin/curl dla Windows, który pomoże ci uruchomić te adresy URL.
  • Napisz krótki program using Solrj (lub dowolny inny klient Solr), aby opublikować te dokumenty.
+0

Mały dodatek: CURL jest dostępny dla okien. Istnieje również biblioteka libCURL, która umożliwia osadzanie operacji CURL w dziesiątkach ważnych języków. – aitchnyu

1

Można spróbować użyć wtyczki Firefox plakat .. Próbowałem kilka pobrań i pracowali w porządku :)

1

Można spróbować to:

C: \ Java \ Libs \ apache- solr-4.0.0-BETA \ example> "C: \ Program Files (x86) \ Internet Explorer \ iexplore.exe" "http: // localhost: 8983/solr/collection1/update? commit = true & stream.contentType = text/csv; charset = utf-8 & stream.file = C: /Java/Libs/apache-solr-4.0.0-BETA/example/exampledocs/listado_talleres_new.csv "

+0

Wygląda na to, że niesłusznie przyjmujesz założenia dotyczące systemu. Czy możesz edytować swoją odpowiedź, aby była bardziej ogólnie stosowana? - Nie określasz także, co powinna zrobić twoja odpowiedź, czy możesz dodać co najmniej krótkie wyjaśnienie? –

1

Jeśli chcesz użyć polecenia cURL do wysyłania plików do solr, musisz pobrać to narzędzie z cURL Home. Podaj ścieżkę cURL.exe w ścieżce environmental variable of the windows a następnie można użyć polecenia ty wyszukiwał

curl "http://localhost:8983/solr/update/extract?&extractOnly=true" --data-binary @"location of file/test.pdf" -H 'Content-type:application/pdf' 

tj które są wymagane, aby zmienić typ zawartości.

Innym sposobem na umieszczenie katalogu w Solr jest użycie narzędzia "post.jar" w katalogu przykładów Solr - pamiętaj, że to narzędzie nie jest przeznaczone do użytku produkcyjnego.

Oto przykładowe polecenie.

java -Ddata=files -Dtype=html -Dfiletypes=htm,html -Dauto=yes -Drecursive=yes -jar post.jar "Drive_letter:\yourpath\." 

Powyższe doskonale współpracuje z Solr 4.0

2

Z solr 5,0 trzeba wspomnieć rdzenia nazwy podczas aktualizacji docs. Tak więc polecenie aby umieścić wszystkie przykłady w exampledocs będą:

java prądem stałym = "core_name" -jar post.jar * .xml

tu wymienić core_name z nazwą rdzenia

1

Korzystanie Solr 6.1 na Windows udało mi się rekurencyjnie indeks folderu za pomocą SimplePostTool od solr-core-xyzjar tak:

java -classpath C:\Solr\solr-6.1.0\dist\solr-core-6.1.0.jar -Dauto=yes -Dc=yourcorename -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool C:\Solr\solr-6.1.0\docs 

będziesz potrzebować Repla ce "C: \ Solr \ solr-6.1.0 \" z folderem solr, podaj poprawny numer wersji dla solr-core-6.1.0.jar, ustaw folder na lokalizację pliku, który chcesz indeksować i upewnij się, że rdzeń już istnieje.

0

Dla Windows Używam tego cоmmand:

java -classpath %SOLR_HOME%\dist\solr-core-6.5.1.jar -Dauto=yes -Dc=books -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool c:\apache-solr-6.5.1\server\solr\books\data\index\*.* 
0

Aby to zrobić za pomocą PowerShell uruchomić następujące polecenie:

$header = @{"Content-type"="text/plain"; "charset"="utf-8"}; 

Invoke-WebRequest -Uri http://localhost:8983/solr/YOUR_CORE_NAME/update/csv -Headers $header -InFile "C:\data.csv" -Method Post 
Powiązane problemy