Компиляция поисковой системы

Исходные тексты поискового движка

Проект Solarix Intellectronix относится к категории open source, то есть при согласии с условиями лицензии Вы можете скачать исходные тексты проекта и откомпилировать их, модифицировав для своих нужд, или использовав как часть собственного проекта.

Компиляция из исходных текстов может быть полезна для того, чтобы получить исполнимые файлы с максимальной оптимизацией под свою платформу (выкладываемые на сайте исполнимые файлы файлы поисковых утилит и компонент откомпилированы для системы команд первой версии процессора Pentium). Кроме того, наличие исходных текстов позволяет внести в алгоритм работы утилит модификации (хотя лучше, конечно, связаться с разработчиками для согласованных действий). Наконец, возможность самостоятельной компиляции означает, что поисковую машину можно "погонять" в отладчике, разбираясь с деталями его работы, которые не отражены в документации.

Если самостоятельная компиляция поискового движка Вам не подходит, но Вы все-таки хотели бы использовать поисковый движок FAIND в своих проектах - загляните на описание API, с помощью которого можно использовать поисковую машину в виде .NET компонента или Win32 DLL.

Для компиляции можно использовать разные компиляторы (ограничения связаны с качеством поддержки стандарта C++), но результаты, а именно - качество получаемого коды, различаются очень серьезно, что отражено в таблице бенчмарков.

Макросы для управления функциональностью движка

С их помощью можно значительно уменьшить размер кода поискового движка, исключив ненужные для конкретного применения возможности.

макрос роль
FAIND_UNPACK с поддержкой разархивирования
FAIND_RAW_READER с поддержкой поиска в документах неизвестного формата
FAIND_RTF_READER с поддержкой документов в формате RTF
FAIND_REPORTS с формированем статистических отчетов
FAIND_ODBC с поддержкой записи результатов в ODBC СУБД
FAIND_LAN с поддержкой поиска в локальной сети (только MS Windows)
FAIND_NO_LOG отключается код для трассировки работы движка
FAIND_NO_ECHO отключается код для вывода сообщение на консоль
FAIND_WEB включать код для работы с веб-сайтами (HTTP и FTP)
FAIND_PLUGINS включать код для поддержки плагинов
FAIND_THREADS поддержка многопоточности
FAIND_FILEDB индексатор хранит корневые таблицы в простом не-транзакционном файловом хранилище
FAIND_SQLITE индексатор хранит корневые таблицы в СУБД SQLite
FAIND_4G_DOCS в одном индексе может быть до 232-1 документов (по умолчанию только 65535)
FAIND_DOC_READER с поддержкой документов MS Word
FAIND_FILEMON с поддержкой кода для отслеживания изменений в проиндексированных документах
SOL_NO_AA отключить синтаксические модули (остается только морфология)
LEM_UNICODE_EX подключить расширенную поддержку UNICODE и разных алфавитов
LEM_UNICODE_CONSOLE использовать консоль MS Windows с прямым выводом UNICODE символов
LEM_ICU использовать библиотеку IBM ICU для работы с Unicode'ом

Компиляция в MS VisualStudio

Проект для компиляции в MS VisualStudio.2003 находится в подкаталоге LEM\Demo\AI\Solarix\Search\Faind после распаковки архива библиотеки LEM.

В списке проектов Вы можете найти как полную версию движка (называется faind), так и упрощенную версию (faind-lite). Проект для упрощенной версии можно использовать как основу для собственных модификаций поискового движка, так как время компиляции для него в несколько раз меньше, чем для полной версии.

Для успешной компиляции необходимо определить переменные окружения:

TMP - имя каталога для временных файлов (для сохранения obj файлов)

LEM_PATH - путь к каталогу библиотеки LEM.

BOOST_PATH - путь к каталогу с библиотекой Boost C++ (см. о структуре каталогов).

ICU_PATH - путь к каталогу библиотеки IBM ICU (расширенная поддержка юникода), необходима только для версии Pro движка и утилит.

Для нормальной компиляции необходимо не менее 512 Мб оперативной памяти, желательно 1 Гб (на 512 Mb при компиляции .NET версии поисковой машины начинается раздражающий свопинг - линкер VisualStudio создает очень компактный код, но явно загружает в оперативную память весь объектный код для выполнения сложных оптимизаций). Иногда при нехватке памяти компилятор и линкер MSVS начинают давать загадочные сбои (с выдачей INTERNAL COMPILER ERROR или Linker fault). В этом случае просто запускайте компиляцию снова - обычно помогает.

Проект faind.sln в вышеуказанном каталоге содержит несколько конфигураций, в том числе: версия утилиты для Win32, для .NET, поисковый движок в виде .NET компонента, поисковый движок в виде DLL.

Компиляция в Borland CBuilder

Проект существует только для версии консольной утилиты faind-lite, так как более масштабные проекты с трудом перевариваются данным компилятором. Один из симптомов - сообщение Internal error, после чего среда перестает работать до перегрузки операционной системы. К сожалению, вылечить это нельзя.

Компиляция с помощью утилиты MAK

Для компиляции можно также использовать нашу утилиту MAK - аналог make. В каталоге с исходниками φaind есть файл makefile - это скрипт для компиляции поисковой утилиты для разных платформ (включая GNU/Linux).

Если что-то не получается с компиляцией

Проект находится в состоянии непрерывной модификации. Поэтому иногда выкладываемые на сайтах исходные тексты могут не компилироваться. Обращайтесь к разработчикам в этих случаях - мы постараемся разрешить возникающие проблемы.

  © Elijah Koziev 2010
прикладные проекты на основе грамматического словаря API грамматической машины компоненты для доступа к грамматическому словарю условия получения SDK токенизатор и сегментатор морфологический анализ и синтез лемматизатор база N-грамм синтаксический анализатор словоформы морфология и синтаксис русского языка падеж число род совершенный и несовершенный вид экспорт в SQL формат экспорт в XML формат скрипт SQL словаря структура SQL словаря структура XML словаря компоненты для доступа к грамматическому словарю ORM Persistent Dictionary Library лемматизация стемминг примеры использования грамматического словаря склонение существительных в русском языке склонение русских прилагательных спряжение глаголов в русском языке поиск текста с учетом морфологии OCR подсистема расширенные регулярные выражения генератор текста генератор случайного текста и имитатор рандомизатор синонимизатор перефразировщик Статистика буквенных паттернов

Грамматический словарь русского языка



Грамматический словарь
склонение и спряжение глаголов, существительных, прилагательных

В состав входит русский и английский словарь.

платформа:  Windows 2000 ... Windows 7
требования: 512 Mb свободной памяти, 300 Мб на диске
размер:         34 Мб

  скачать грамматический словарь купить грамматический словарь SDK грамматического словаря
грамматический словарь русского языка



SDK Грамматического словаря



SDK Грамматического Словаря
склонение и спряжение глаголов, существительных, прилагательных

В состав входит русский и английский словарь.

платформа:  Windows 2000 ... Windows 7
размер:         13 Мб

SQL словарь (демо):
sqlite mysql oracle firebird mssql

скачать демо-версию SDK купить SDK API грамматического словаря



Поисковая система



Integra
настольная и сетевая поисковая система 

платформа:  Windows XP ... Windows 7
требования: 512 Mb свободной памяти
размер:         21 Мб

Дополнительные компоненты:
MySQL поисковый сервер 13.5 Мб
Integra.Premium MySQL 3.9 Мб

скачать поисковую систему SDK поисковой системыописание поисковой системы



SDK Поисковой системы



SDK Поискового движка
API для настольной и сетевой поисковая система 

платформа:  Windows XP ... Windows 7
размер:         17 Мб

Дополнительные компоненты:

MySQL поисковый сервер 13.5 Мб
Integra.Premium MySQL 3.9 Мб

скачать SDK SDK поисковой системы



Экранный переводчик



Translator
экранный переводчик

платформа:  Windows XP ... Windows 7
требования: 256 Mb свободной памяти
размер:         4.4 Мб

Дополнительные компоненты:
расширенный англо-русский словарь 6.4 Мб


скачать экранный переводчикописание экранного переводчика



 01-Jul-10