Frage

Ich verwende Lucene.Net eine Website zu erstellen Bücher, Artikel zu suchen, etc, gespeichert als PDF-Dateien. Ich muss in der Lage, meine Suchergebnisse basierend auf den Namen des Autors, zum Beispiel zu filtern. Kann dies mit nur Lucene getan werden? Oder brauche ich eine DB die Filterfelder für jedes Dokument zu speichern?

Auch was ist der beste Weg, um meine Dokumente zu indizieren? Ich werde etwa 50 Dokumente mit zu beginnen haben und in regelmäßigen Abständen werde ich habe eine Reihe von Dokumenten zum Index hinzufügen - über ein Web-Formular sein kann. Sollte ich eine DB verwenden die Dokumentpfade zu speichern?

Danke.

War es hilfreich?

Lösung

Hier ist eine Liste von dem, was Sie IMO tun müssen:

  1. Auszug Rohtext aus PDF - bitte finden Sie unter diese Frage die iTextSharp für diesen Zweck.
  2. Für jedes PDF-Dokument erstellen Lucene.net Dokument, das mehrere Felder hat: Autor, Titel, Dokumenttext und was auch immer Sie suchen möchten. Es wird empfohlen, auch pro Dokument ein eindeutiges ID-Feld zu haben. Ich schlage vor, Sie auch ein Feld speichern mit dem Pfad zum ursprünglichen PDF-Dokument.
  3. alle Dokumente Nach der Indizierung erhalten Sie einen Lucene Index haben Sie von Feldern suchen.
  4. Sie können neue Dokumente hinzufügen, indem Sie Schritt zu wiederholen 2. Es ist einfacher, diese offline zu tun -. Inkrementelle Updates hart sind

Andere Tipps

Lucene hat ein paar verschiedene Analysatoren, die den Lärm scheuern kann und tun „ergeben“, was hilfreich ist, wenn Sie Fulltextsuchung tun wollen, aber du bist immer noch die PDF selbst irgendwo speichern, gehen zu müssen. Lucene.Net ist glücklich, einen Index für das Dateisystem zu bauen, und man konnte ein Feld in das Dokument einfügen es so etwas wie „PATH“ mit dem Pfad zu dem Dokument mit dem Namen Builds.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top