Пусть есть папка с документами - допустим,
некая справочная система. Этот набор документов будет распространяться
на сменном носителе.
Для удобства пользователя мы реализуем возможность
быстрого поиска по этим документам, причем с учетом морфологии русского
языка. Поисковая система должна по возможности избегать создания на
компьютерах пользователей каких-либо файлов, поэтому индексная база
должна быть создана заранее и распространяться вместе с документами.
Полезная особенность поискового движка -
для его работы не требуется вносить какие-либо изменения в системный
реестр пользовательской машины (например, регистрировать COM модули).
При созданиии и использовании переносимых индексов используются всего пара вызовов API:
В папке \demo\ai\solarix\Search_Engine\samples\PortableIndex находится проект для VS 2003 с двумя программами:
PortableIndexer - создание
переносимого индекса для документов в указанной папке. Эта утилита
запускается на стадии подготовки набора документов и не
распространяется на сменном носителе, использует несколько dll и файлы словаря для поддержки морфологии. Она индексирует документы в папке
и копирует созданную индексную базу в эту же папку. После этого
докменты и индекную базу можно записывать на сменный носитель. Пример вызова:
PortableIndexer e:\Docs
PortableSearcher - поиск
документов по заданным ключевым словам в указанной папке с
использованием ранее созданного индекса. Эта программа является простой
заготовкой для поисковой системы, распространяемой вместе с
документами. На основе результатов поиска формируется отчет в виде HTML
файла, который можно открыть в любом браузере. Пример вызова:
PortableSearcher f:\MyDocs шарикоподшипник
Проверена работа индексирующей и поисковой утилит на:
Windows 2000 Professional SP5
Windows XP SP3 Russian
Windows XP SP3 Chinese
Windows 2003 Server
Vista Ultimate x64
Скачать SDK поисковой системы с примерами и другие компоненты можно здесь 
© Mental Computing 2010
|
|
изменено 16-Aug-11 |