Я пытаюсь найти простое решение проблемы, которая у меня есть, потому что все те, что я нашел до сих пор, кажутся слишком сложными!
Ситуация такова, что мы используем проприетарное приложение для управления большинством аспектов нашего бизнеса. Он имеет базу данных SQL Server 2005, которая довольно велика. Приложение также позволяет прикреплять документы Word и PDF к записям, которые мы широко используем, и они хранятся в файловой системе на сервере с именами файлов, на которые есть ссылки в базе данных. К сожалению, возможности поиска в приложении плохие, поэтому я пытаюсь создать свою собственную версию.
Пока у меня есть аккуратная страница ASP.NET с окном поиска, которое позволит пользователям вводить слова для поиска, а также фильтровать их результаты в других полях, таких как отдел, дата и т. Д. Сохраненные Процедура, которую я написал в базе данных, ищет слова, которые они ищут, в нескольких разных полях базы данных. То, к чему я на самом деле стремлюсь, - это стиль «один поиск, чтобы управлять ими всеми» в стиле Google, когда пользователю не нужно указывать, где он ожидает найти слово, которое он ищет, он просто получит хиты в любом месте, где это появляется в базе данных. И это работает.
Теперь я хочу добавить возможность поиска, включающую текст документов, которые «прикреплены» к записям. Все они - файлы .doc или .pdf, но если бы я не смог найти файлы .pdf, это не стало бы концом света.
В моем идеальном мире я бы нашел какое-нибудь программное обеспечение, которое будет индексировать папку, содержащую документы (в настоящее время их около 100 000, в среднем около 100 КБ), и заполнить таблицу в моей существующей базе данных этим индексом, чтобы Тогда я мог бы просто включить эту таблицу в свой поиск. Я бы хотел, чтобы в нем содержалась запись для каждого уникального слова, которое он проиндексировал, и таблица соединений, ссылающаяся на документы в файловой системе, содержащей это слово.
Учитывая, что это кажется фантастическим, и нет никакого программного обеспечения, которое будет это делать, или что-то похожее, насколько я могу судить, какое решение вы бы порекомендовали? На сервере уже запущен dtSearch, индексирующий те самые файлы, которые мне интересны. Однако, хотя я мог бы просмотреть документацию, пытаясь выяснить, как реализовать поиск по этому индексу через мою собственную веб-страницу (которую я начал сделать, и нашел тяжелый ход), это должен был бы быть отдельный поиск к той из базы данных SQL. Я не смог вернуть результаты из файлового индекса и базы данных единым способом.
Итак, начиная с окончательного желания хранить индексированные слова в базе данных с целью осуществления полнотекстового поиска по этому вопросу, что бы кто-нибудь предложил?