Как индексировать и искать .doc файлы
Вопрос
У меня есть приложение, которое нужно загружать в него файлы .doc. Эти документы должны быть индексом, и весь сбор документов должен быть доступен для поиска. Это будет работать на сервере Windows без установленного слова, используя IIS и SQLServer, но я бы предпочел не быть привязан к полному текстовому индексации SQLServer.
Я думал об использовании lucene.net для индексационной части, и мне было интересно, как будет лучший способ вытащить текст из файлов .doc. Я, вероятно, мог бы извлечь текст, читая во всем потоке, а затем используя регуляцию, чтобы вытащить любые обычные символы, но это кажется огромным и подверженным ошибкам.
Я видел статью об использовании ifilters, которая звучит многообещающе, но я подумал, что выложу это, так как это не то, с чем я знаком.
PS Если это имеет значение, в этих файлах .DOC будут иметь поля Mail-Merge, и нет другой текущей альтернативы для формата .DOC.
Решение
Что касается решения, которое не требует внешней программы, похоже, что решение для ifilter - это путь (даже если вы можете считать это как внешнюю программу).
Вот простая статья и код Codeplex о том, как это можно сделать: http://www.codeproject.com/kb/cs/ifilter.aspx
Другие советы
В наших приложениях на основе PHP мы всегда использовали внешние программы, аналогичные этим: doc2txt. Анкет Затем мы взяли текст и сохранили его в базе данных. Если вы ищете в Google "Doc2txt", вы найдете много разных программ, которые делают то же самое. Просто возьмите тот, который подходит вам лучше всего.
Может, вы хотите заказать Соль.