Categories: Софт

Sphinx. Для чего нужен Sphinx? Основные возможности и применение

Sphinx — это поисковая система с открытым исходным кодом, которая позволяет осуществлять полнотекстовый поиск. Наиболее известен тем, что выполняет поиск по большим данным очень эффективно. Индексируемые данные, как правило, могут поступать из самых разных источников: базы данных SQL, текстовые файлы, файлы HTML, почтовые ящики и так далее.

Основные возможности Sphinx

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

  • Высокая скорость индексации (до 10-15 МБ/сек на каждое процессорное ядро);
  • Высокая скорость поиска (до 150—250 запросов в секунду на каждое процессорное ядро с 1 000 000 документов);
  • Высокая масштабируемость (крупнейший известный кластер индексирует до 3 000 000 000 документов и поддерживает более 50 миллионов запросов в день);
  • Поддержка распределенного поиска;
  • Поддержка нескольких полей полнотекстового поиска в документе (до 32 по умолчанию);
  • Поддержка нескольких дополнительных атрибутов для каждого документа (то есть группы, временные метки и т. д.);
  • Поддержка стоп-слов;
  • Поддержка однобайтовых кодировок и UTF-8;
  • Поддержка морфологического поиска — имеются встроенные модули для английского, русского и чешского языков; доступны модули для французского, испанского, португальского, итальянского, румынского, немецкого, голландского, шведского, норвежского, датского, финского, венгерского языков;
  • Нативная поддержка PostgreSQL и MySQL;
  • Поддержка ODBC совместимых баз данных (MS SQL, Oracle и т. д.).

Как работает Sphinx?

Sphinx в качестве источника данных использует базу данных, на основе этого он создает у себя поисковые индексы которые позволяют осуществлять быстрый поиск данных.

Для работы с Sphinx используется API через которое код сайта получает по поисковому запросу массив идентификаторов найденных записей, которые потом будут сопоставлены в коде с записям в БД сайта.

Какие проблемы решает Sphinx?

Если объем данных в БД сайта достигает несколько сотен тысяч записей или больше, то поиск по ней стандартными средствами БД будет крайней медленный. Поэтому для решения данной проблемы используют Sphinx.

Основная проблема которую решает Sphinx это быстрый поиск в большом объеме данных, а также решает проблему эффективного полнотекстового поиска.

Выводы

Использование Sphinx вместо MySQL может обеспечить значительные преимущества в скорости, Чем просто использование нативных поисковых возможностей баз данных.

Еще по теме Sphinx поисковый движок

Установка и настройка Sphinx

admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago