Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

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

Нашел очень интересный проект. Вот текст с его главной страницы, объясняющий суть дела:

Добро пожаловать на веб-сайт проекта Xapian.

Xapian - это библиотека поискового движка в открытых исходных кодах, распространяемая по лицензии GPL. она написана на C++, но имеет обвязки для использования в Perl, Python, PHP, Java, Tcl, C# и Ruby (пока!)

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

Если вы решите использовать Xapian для своего сайта, то взгляните, также, в сторону приложения Omega, которое является надстройкой над Xapian. В отличие от других поисковых решений для веб-сайтов, универсальность Xapian позволит вам расширять Omega по мере роста ваших потребностей.

Последней стабильной версией является 1.2.0, релиз которой состоялся 2010-04-28.

Текущий релиз ветки 1.0 - это 1.0.20, выпущенный 2010-04-27.

А вот более подробно:

Возможности

Вот наиболее значимые плюсы Xapian:

  • Является свободным ПО с открытыми исходными кодами. Лицензируется по GPL.
  • Поддерживает Юникод (включая коды символов, не попадающие в BMP) и хранит проиндексированные данные в UTF-8.
  • Высокая переносимость. Запускается под Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Solaris, HP-UX, Tru64, IRIX и, вероятно, под другими Unix-платформами, а также и в Microsoft Windows.
  • Написан на C++. Обвязки для Perl дуступны в модуле Search::Xapian в CPAN. Обвязки для Java JNI включены в модуль xapian-bindings. Кроме того поддерживается SWIG, который может генерировать обвязки для многих языков. В настоящее время это работает для Python, PHP, TCL, C# и Ruby.
  • Ранжированный вероятностный поиск - важные слова получают больший вес, чем неважные слова. Этим достигается то, что более релевантные документы с большей вероятностью попадают в топ поисковой выдачи.
  • Обратная релевантность - для данного документа или нескольких документов Xapian может предложить уточняющие термины для введенного запроса, дополнительные документы на смежные темы, категории документов и т.п.
  • Поиск фраз и "поиск с зазором". Пользователи могут искать точные совпадения фраз или с указанием числа слов, которые могут размежать ключевые слова в заданном порядке или в произвольном порядке.
  • Полный набор операторов для структурированного логического поиска ("ассортимент NOT рынок" и т.п.). Результаты логического поиска ранжируются с помощью вероятностных коэффициентов. Логические фильтры могут применяться также для ограничения вероятностного поиска.
  • Поддержка стемминга поисковых запросов (например, по запросу "футбол" будут находиться также документы со словами "футбольный" и "футболист"). Это помогает находить релевантные документы, которые иначе были бы опущены. В настоящее время в библиотеку включены стеммеры для следующих языков: английский, венгерский, голландский, датский, испанский, итальянский, немецкий, норвежский, португальский, румынский, русский, турецкий, финский, французский и шведский.
  • Поддерживаются синонимы. Как в явной форме (например, "~деньги"), так и путем автоматического расширения запроса.
  • Xapian может опознавать запросы с орфографическими ошибками и предлагать пользователю исправленные запросы. Эта возможность основана на анализе слов, находящихся в проиндексированных данных, поэтому работает даже для тех слов, которые отсутствуют в словарях (например, слово "хapian" будет предложено в качестве поправки к запросу "xapain").
  • Поддержка файлов баз данных, превышающих 2GB. Это необходимо для сканирования больших коллекций документов.
  • Независимость от формата даты на используемой платформе. Вы можете создать базу данных на одной машине и искать по ней на другой машине.
  • Позволяет одновременное обновление индекса и поиск по индексу. Новые документы моментально становятся доступными для поиска.

Вместе с библиотекой мы предоставляем несколько маленьких образцов программ, которые используют нашу библиотеку, а также большое приложение, - Omega, - индексатор и CGI-скрипт для вывода результатов поиска.

  • Индексатор умеет индексировать документы HTML, PHP, PDF, PostScript, OpenOffice/StarOffice, OpenDocument, Microsoft Word/Excel/Powerpoint/Works, Word Perfect, AbiWord, RTF, DVI, Perl POD, а также простой текст. Научить индексатор поддерживать другие форматы довольно легко при наличии доступного фильтра для преобразования. Этот индексатор работает с локальными файлами, но мы также предоставляем скрипт, позволяющий это изменить и создать веб-паука для организации поиска по удаленным сайтам с использованием Omega.
  • Вы также можете индексировать данные в какой-нибудь SQL- или иной РСУБД, поддерживаемой модулем Perl DBI. Таковыми являются MySQL, PostgreSQL, SQLite, Oracle, DB2, MS SQL, LDAP и ODBC.
  • Поисковый CGI фронтенд с полностью настраиваемым внешним видом. Он может быть перенастроен для вывода результатов в XML или CSV, что может оказаться полезным, если вы хотите непосредственно использовать результаты поиска в программном коде для динамической генерации своих собственных страниц или для интеграции поиска в работающий на AJAX'е фронтент.

Перевод с английского: Д.Скоробогатов. 27.05.2010
Оригинальные тексты доступны на сайте http://xapian.org/

Спонсор перевода: проект Lamp-Dev.ru, посвященный разработке средствами PHP, MySQL, Apache, Linux, HTML, CSS, JavaScript и т.п.


Другие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2012-12-13 21:28:01

Метки материала: xapian, поиск, поисковые машины, поисковики, поисковые системы, поисковый индекс


1 комментарий

08.11.2011 17:16:36 #
Mozilla Firefox Гость Vladimir
Очень долгое время ищу для своего проекта достойное ПО. Сейчас система работает на движке dataparksearch.
Однако увидев данную статью, решил попробовать этот продукт.
 
Огромное спасибо за информацию, которую вы предоставили.

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.