2008-10-21 6 views
8

Unsere Firma hat Tausende von PDF-Dokumenten. Wie erstellen wir eine einfache Suchmaschine mit Lucene, Solr oder Nutch? Wir stellen eine grundlegende Java/JSP-Webseite zur Verfügung, auf der Menschen Wörter eingeben und grundlegende und/oder Abfragen durchführen und ihnen dann die Dokumentverknüpfungen aller passenden PDFs anzeigen können.Wie erstellen wir eine einfache Suchmaschine mit Lucene, Solr oder Nutch?

Antwort

3

Keines der Projekte in der Lucene-Familie kann PDF-Dateien nativ verarbeiten, aber es gibt Dienstprogramme, in die Sie reinlegen können, und gut geschriebene Beispiele, wie Sie Ihre eigenen erstellen können.

Lucene wird so ziemlich alles tun, was Sie brauchen, aber es gibt Overhead in Bezug auf Ihre Zeit, wie Tony oben sagte. Tausende von Dokumenten ist wirklich nicht dass viele, so dass Sie in der Lage sein könnten, mit einer leichteren Alternative wegzukommen.

Das sagte, ich würde immer noch empfehlen, Solr zu betrachten - es ist viel, viel einfacher einzurichten als Lucene, hat Unterstützung für Backups, Replikation usw., sowie eine raffinierte JSON-Schnittstelle, die sehr gut zu Ihrem Anwendungsfall passen würde: http://wiki.apache.org/solr/SolJSON

+1

Solr 1.4 analysiert PDFs und MS Word Dokumente. –

0

Wenn Sie einen Linux-Server haben, können Sie Beagle verwenden, um sie zu indizieren, und dann einfach die Suchfunktion verwenden, die mit ihm geliefert wird. Es hat eine (experimentelle) Web-Suchoberfläche und kann auch in das FireFox-Suchfeld eingebunden werden.

Es indiziert Dateien automatisch, so wie sie enthalten sind, und ich vermute, dass Sie es viel effizienter finden, Beagle zu verbessern oder zu reparieren, als Ihre eigene Suchoberfläche nach Lucene zu schreiben.

1

Die Beantwortung einer so breiten Frage in diesem Forum wird hart sein. Ich empfehle Ihnen das Buch Lucene in Action,, das die Grundlagen der Indizierung und Suche in einer gut lesbaren Weise behandelt.

Angesichts Ihrer Anwendung klingt es wie Nutch und Solr wahrscheinlich nicht notwendig. Da all Ihre Dokumente lokal verfügbar sind, wird Nutch wahrscheinlich nicht hilfreich sein. Solr kann Ihnen helfen, einen Cluster von Suchern zu verwalten, wenn Sie eine hohe Abfragelast haben, aber Lucene ist sehr performant und verarbeitet große Dokumentenmengen in einer sehr skalierbaren Weise.

Der eine Bereich, der möglicherweise viel Ihrer Anstrengung verbrauchen wird, ist die Verwendung von PDF. Es ist möglich, PDF-Dokumente zu indizieren, und es gibt Lucene contributions to facilitate the extraction of raw text from PDFs, aber je nach Dokument kann die Qualität der Ergebnisse variieren. Oftmals ist der Kontext eines Schlüsselworts in einem PDF-Dokument aufgrund von Formatierungsanweisungen unklar, und dies kann es schwierig machen, Annäherungssuchen durchzuführen oder den Kontext eines Treffers anzuzeigen.

2

Werfen Sie einen Blick auf eprints. Es enthält einen Workflow für das Hinzufügen neuer Dokumente, PDFs für die automatische Indexierung und Miniaturansicht und bietet eine umfassende Volltextsuchfunktion. Es kann auch leicht angepasst und gebrandmarkt werden.

Warum erfinden Sie das Rad neu. Nochmal.

+0

Wieder .... lmmfao .. mod +1 für richtig und lustig zugleich. –

-4

Mit dem (imho) deutlichen Vorteil, auf einem Mac zu sein, verwende ich SearchLight auf einem etwas älteren G5. nettes Webinterface, das den integrierten Indizierungsservice von Mac OS ins Rampenlicht stellt.

3

Google Search Appliance http://www.google.com/enterprise/gsa/

+2

Warum die Downvotes? –

+2

Ich verstehe auch nicht die Down-Stimmen. Eine GSA ist genau das, was Sie brauchen. Es wird nicht nur alle Ihre PDFs indexieren, es wird auch Ihr gesamtes Intranet indizieren und es wird wesentlich bessere Suchergebnisse liefern als Lucene. – GateKiller

+0

+1 downvotes waren eher unfair. Abgesehen von der Implikation, dass das OP nach einer "freien" Lösung suchen könnte, ist GSA eine würdige Überlegung für diese Art von Anwendung ... – mjv

8

Ich habe viel Glück mit lucene hatte, aber es ist nicht klicken, installieren und suchen, ist es ein wenig Arbeit erfordern.
Wenn Sie etwas brauchen, das Sie downloaden und installieren und innerhalb von 10 Minuten suchen können, sehen Sie sich die kostenlose Ominifind Yahoo Edition http://omnifind.ibm.yahoo.net/, verwendet Lucene, aber ist so verpackt, dass es konfiguriert und bereit ist, bei der Installation zu starten, viel einfacher Möglichkeit, Lucene zu probieren.

3

Ich denke, Sie möchten ein System, um Ihre PDF-Datei zu verwalten. Bitte versuchen Sie das dspace-System zu verwenden. Dspace ist eine digitale Bibliothek, unterstützt Lucene basierend auf. www.dspace.org.

+0

Entschuldigung, ich habe einen Fehler, http://www.dspace.org/. –

7

Nutch + Lucene + PDF-Plugin in Nutch aktiviert ist Ihre Lösung. Nutch ermöglicht es Ihnen, PDFs zu analysieren, indem Sie das pdf-Plugin aktivieren.

In Lucene können Sie die gecrawten und geparsten Daten indexieren, und Nutch hat servelet, das Ihnen eine Suchoberfläche bietet.

Wir verwenden das gleiche für unsere internen Lans.

1

Eine großartige kostenlose Suchtechnologie, die Sie sich vielleicht anschauen, ist die IBM Yahoo! freie Suche. Ich bin mir nicht sicher, ob sie die Pläne, Lucene unter der Decke zu verwenden, eingehalten haben, aber es bleibt einer der wirklich großen, Osten, freie Suchtechnologien zu verwenden. Ich glaube, dass es bis zu 500.000 Dokumente verarbeitet und PDF- und andere Nicht-Text-Formate unterstützt. Grafische Benutzeroberfläche; Einfache Anpassung der Suchergebnisse und grundlegende Suchanalysen. Einfacher Thesaurus und mächtige API, damit Sie so ziemlich alles machen können, was Sie wollen, wenn die Out-of-the-Box-Ergebnisse nicht Ihren Vorstellungen entsprechen. Wir haben dies einer Reihe von Kunden empfohlen, wo weniger als eine halbe Million Dokumente vorhanden waren und sie es lieben.