Встраиваемые поисковые системы

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

 

Список поисковых систем

 

№   

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

Ссылка

1.

Sphinx

http://sphinxsearch.com/

2.

Whoosh

https://bitbucket.org/mchaput/whoosh/wiki/Home

3.

Solr

http://lucene.apache.org/solr/features.html

4.

Elasticsearch

https://www.elastic.co/products/elasticsearch

5.

Algolia

https://www.algolia.com/mobile

6.

Azure

https://azure.microsoft.com/ru-ru/services/search/

7.

Swiftype

https://swiftype.com/app-search

 

1. Sphinx

Это система полнотекстового поиска, главными преимуществами которой является высокая скорость поиска и индексации, высокая масштабируемость и интеграция с такими СУБД, как PostgreSQL и MySQL и ODBC совместимых баз данных, поддержка стоп-слов и морфологического поиска. Легко устанавливается. Перед включением можно выбрать наиболее подходящий тариф. Размер оплаты зависит от оперативной памяти, доступной для использования сервисом Sphinx.

 

2. Whoosh

Чистая поисковая система python, быстрая и многофункциональная, имеет Pythonic API. Главными преимуществами также являются высокая скорость поиска и индексации, текстовый анализ. Удобен в использовании, когда предпочтителен Pythonic интерфейс, в случае исследовательских платформ, также, если ваше приложение может эффективно использовать одно глубоко интегрированное решение поиска / поиска.

 

3. Solr

Является платформой полнотекстового поиска. Имеет открытый исходный код, высокую масштабируемость, интеграцию с базами данных, динамическую кластеризацию, фасетный поиск и подсветку результатов, обрабатывает документы со сложными форматами. Solr имеет HTTP/XML и JSON API. Осуществляет геопространственный поиск и кэширование фильтров, запросов и документов.

 

4. Elasticsearch

Поисковая система, написанная на Java, в основе используется библиотека Lucene, имеются API. Обеспечивает долгосрочное сохранение индекса, горизонтально масштабируемый поиск, многопоточность, распределенную работу с данными

 

5. Algolia

Это SaaS, индексирующий веб-сайт клиента и предоставляющий API для поиска по страницам. Быстродействующая система, поддерживающая контекстно-зависимые запросы. Осуществляет поиск offline, геопространственный поиск.

 

6. Azure

Поисковое решение Microsoft. Предполагает доступ через REST API, обеспечивает масштабируемость, обработку огромного количества документов, стабильную пропускную способность, надежное хранение данных. Есть возможность без увеличения стоимости создать несколько индексов.

 

7. Swiftype

WordPress-плагин для продвинутого поиска. Адаптирует результаты под реальные запросы, обеспечивает произвольное ранжирование результатов, поиск по нескольким доменам, детальную аналитику и легкость настройки. Имеет продвинутый и интуитивный API.

 

Сводная таблица

 

 

     Sphinx    

    Whoosh   

       Solr      

 Elasticsearch 

       Algolia      

       Azure      

      Swiftype     

Индексирование online или пакетный подход к индексации

   

+

     

+

Обработка естественных языков

+

+

+

+

+

+

+

Синонимы

     

+

   

+

Поддержка неполных запросов

 

+

+

+

     

Поиск offline

       

+

   

Геопространственный поиск

   

+

+

+

+

 

Аналитика запросов

           

+

Контроль ранжирования

             

Масштабируемость

+

 

+

   

+

 

Интуитивное API

+

+

 

+

+

+

+

Количество преимуществ

3

3

5

5

4

4

5

 

Вывод

Исходя из количества преимуществ и популярности, наиболее используемые и эффективные поисковые системы в приложениях - это Solr, Elasticsearch, Swiftype. В этой статье мы не затрагивали ценовой фактор, т.к. очень многие параметры влияют на цену, и ее трудно сравнить. Поэтому предлагаем вам сделать это самостоятельно.