2009-07-18 10 views
4

Ich habe eine Anwendung, die DOC-Dateien hochgeladen werden müssen. Diese Dokumente sollten dann indexiert sein und die gesamte Sammlung von Dokumenten sollte durchsuchbar sein. Dies wird auf einem Windows Server ausgeführt, ohne Word installiert, mit IIS und SqlServer, aber ich wäre lieber nicht mit SqlServer Volltext-Indexierung gebunden.Wie indexieren und suchen .doc-Dateien

Ich dachte an Lucene.Net für die Indizierung Teil und fragte mich, was der beste Weg, um den Text aus den .doc-Dateien zu bekommen wäre. Ich könnte den Text wahrscheinlich extrahieren, indem ich den ganzen Strom einlese und dann ein regEx benutze, um irgendwelche regelmäßigen Zeichen herauszuziehen, aber das scheint stark und fehleranfällig.

Ich sah einen Artikel über die Verwendung von iFilters, der sich vielversprechend anhört, aber ich dachte, ich würde das hier veröffentlichen, da es mir nicht vertraut ist.

P.S. Wenn es darauf ankommt, haben diese .doc-Dateien in ihnen Seriendruckfelder und es gibt keine andere aktuelle Alternative für das .doc-Format.

Antwort

3

Soweit eine Lösung, die kein externes Programm benötigt, sieht es so aus, als wäre die iFilter-Lösung der Weg zu gehen (obwohl Sie das als externes Programm zählen könnten).

Hier ist ein einfacher CodePlex Artikel und Code auf, wie es getan werden kann: http://www.codeproject.com/KB/cs/IFilter.aspx

0

Vielleicht möchten Sie zur Kasse gehen Solr.

+0

Sieht aus wie das Apache muss. Wir führen IIS aus. – Jared

+0

Sie können es separat ausführen und kommunizieren mit ihm über seine API. –

1

In unseren PHP-basierten Anwendungen verwendeten wir immer externe Programme, die diesem ähnelten: doc2txt. Dann nahmen wir den Text und speicherten ihn in der Datenbank. Wenn Sie auf Google nach "doc2txt" suchen, werden Sie viele verschiedene Programme finden, die genau dasselbe tun. Nimm dir einfach die, die dir am besten passt.