...
Четверг, 06.02.2025, 18:55
...

Меню сайта

облако тегов

Главная » Статьи » Тематические статьи

Поисковый движок Xapian

Любой разработчик сталкивается с задачей реализовать поиск в веб-приложении. Для каких-то случаев подойдут и простые решения. Но чем сложнее структура контента, тем больше потребность в сложном поиске. Какие есть поисковые проекты, пригодные для применения в реальных приложениях?

Под поисковым сервером (“поисковик”) здесь понимается программное решение, которое ведет свою базу документов, по которых происходит поиск. Поисковик предоставляет возможность добавлять, удалять, обновлять документы в базе. Этот процесс индексирования может быть реализован отдельным компонентом или же сервером.

Другой компонент принимает запрос и производит выборку данных, соответствующих запросу. Он может ранжировать документы по степени соответствия поисковому запросу. Эти важные системы поисковика могут быть реализованы как библиотека или быть самостоятельными серверами с доступом через прикладные протоколы.

Отдельно выделяется модуль реализации веб-поиска. В поисковом сервере может иметься возможность получать страницы веб-сайтов по НТТР и заносить в поисковый индекс. Такой модуль называется “пауком”.

С ним поисковый сервер становится похож на Google или Yandex. С его помощью можно реализовать поисковик по каким-то сайтам, например, по тематическим. Среди бесплатных проектов присутствует такой сервер, реализующий веб-поисковик. Интересно?

Поисковый движок Xapian
выгодно отличается от конкурентов наличием “живого” индекса, мощным языком запросов, проверкой орфографии, и поддержкой синонимов. В пакет движка входит Omega — так называется надстройка над библиотекой, готовая для использования в роли самостоятельного поисковика. Она отвечает за индексацию разных типов документов.

Xapian — достаточно качественный и хороший продукт, однако он менее распространен и гибок, чем Lucene или Sphinx. Если необходимо встроить модуль поиска в какое-то приложение, то лучше поискать готовые порты к поисковой библиотеке Lucene для вашего языка программирования. Они есть для всех распространенных ЯП, хотя могут и не реализовывать всех возможностей оригинала на Java.

А для приложений, написанных на С++ с дополнительными требованиями по широким возможностям языка запросов, Xapian будет самым лучшим выбором. Однако он требует модификации и ручной доводки для встраивания в код вашего приложения или при использовании его в качестве отдельного поискового сервера.

Категория: Тематические статьи | Добавил: ewgen (08.11.2010)
Просмотров: 1476
Copyright MyCorp © 2025
Используются технологии uCoz