2012-09-01 16 views

Odpowiedz

29

Tika obsługuje dwa tryby "serwera". Prostsza i bardziej oryginalna jest flaga Tika App---server. Bardziej funkcjonalny, ale także nowszy jest JAX-RS JSR-311 server component, który jest dodatkowym słojem.

Serwer sieciowy Tika-App jest bardzo prosty w użyciu. Po prostu uruchom Tika-App z flagą --server i flagą --port ### informującą, do którego portu chcesz nasłuchiwać. Następnie połącz się z tym portem i wyślij mu pojedynczy plik. Otrzymasz wersję html. Netcat działa dobrze za to, coś java -jar tika-app.jar --server --port 12345 następnie nc 127.0.0.1 12345 < MyFileToExtract będzie Ci z powrotem html

JAX-RS JSR-311 server component obsługuje kilka różnych adresów URL, na takie rzeczy jak metadane, zwykły tekst itp rozpocząć się serwer z java -jar tika-server.jar, a następnie zrobić HTTP PUT wzywa do odpowiedniego adresu URL z Twoim dokumentem wejściowym, a otrzymasz zwrot środków. Jest wiele szczegółów i przykładów (w tym użycie curl do testowania) na serwerze Tika App Network Server jest dość prosty, obsługuje tylko jeden tryb (ekstrakt do HTML) i jest ogólnie używany do testowania/demonstrowania/tworzenia prototypów./etc. Tika JAXRS Server jest w pełni RESTful usługą, która mówi HTTP i eksponuje szeroki zakres trybów Tika. W dzisiejszych czasach jest ogólnie zalecanym sposobem łączenia się z Tika przez sieć i/lub ze stosów innych niż Java.

+4

Ta odpowiedź bardzo mi pomogła. W rzeczywistości serwer nie tylko zwraca HTML. Używając na przykład innych opcji, takich jak "-j", serwer zamiast tego zwraca metadane JSON. – Marian

+1

Zamiast tego możesz użyć curl. 'curl -s http: // localhost: 9998/tika --header" Zaakceptuj: tekst/zwykły "-T filename.xls' –

3

Aby zwiększyć Gagravarr doskonałą odpowiedź:

  • Jeśli dokument dostał od serwera WEB => curl -u „http: // mójserwer domeny/* ścieżka do doc */doc-name.extension "| nc 127.0.0.1 12345
  • I to nawet lepiej, jeśli dokument jest chroniony hasłem => curl -u logowanie: * Hasło * „http: // mójserwer domeny/* ścieżka-do -doc */doc-name.extension "| nc 127.0.0.1 12345
13

Wystarczy dodać do wspaniałej odpowiedzi @ Gagravarr.

Mówiąc o Tika w trybie serwera, ważne jest, aby odróżnić dwóch wersjach, które w przeciwnym razie mogą spowodować zamieszanie:

  • tika-app.jar ma --server --port 9998 opcje, aby rozpocząć prosty serwer
  • tika-server.jar jest oddzielny komponent przy użyciu JAX-RS

pierwszy wariant przewiduje jedynie ekstrakcji tekstu i zwraca zawartość jako HTML. Najprawdopodobniej to, czego naprawdę chcesz, to druga opcja, która jest usługą RESTful, eksponującą znacznie więcej funkcji Tiki.

Możesz po prostu download the tika-server.jar ze strony projektu Tika.Uruchom serwer przy użyciu

java -jar tika-server-x.x.jar -h 0.0.0.0 

Opcja -h 0.0.0.0 (host) sprawia, że ​​serwer nasłuchiwać wszelkich przychodzących żądań, inaczej bez niego byłoby słuchać tylko dla żądań z localhost. Możesz także dodać opcję -p, aby zmienić port, w przeciwnym razie domyślnie będzie to 9998.

Następnie, po uruchomieniu serwera, możesz po prostu uzyskać do niego dostęp za pomocą przeglądarki. Wyświetli listę wszystkich dostępnych punktów końcowych.

Wreszcie wyodrębnić metadanych z pliku można użyć cURL tak:

curl -T testWORD.doc http://example.com:9998/meta 

Zwraca meta dane jako par klucz/wartość jednej w wierszu. Można również mieć Tika powrócić wyniki jako JSON przez dodanie odpowiedniego przyjęcia nagłówek:

curl -H "Accept: application/json" -T testWORD.doc http://example.com:9998/meta 

[Aktualizacja 19.01.2015] Wcześniej komentarz powiedział, że Tika-server.jar nie jest dostępny do pobrania. Naprawiono, że tak naprawdę istnieje jako pobieranie binarne.

+0

Serwer Tika został już od jakiegoś czasu zbudowany i dystrybuowany jako standard! Możesz go znaleźć na swoim najbliższym serwerze Apache lub użyć linku z [strony pobierania] (http://tika.apache.org/download.html) – Gagravarr

+0

Tęskniłem za tym, dziękuję za wskazanie tego! –

+1

Proponuję, abyś zredagował swoją odpowiedź, by zachęcać ludzi do pobierania słoików tika i tika-server z serwerów lustrzanych, a nie tika-src, ponieważ będą one dla nich szybsze i łatwiejsze! – Gagravarr

Powiązane problemy