Solr (произносится «солар»[4]) — платформа полнотекстового поиска с открытым исходным кодом, основанная на проекте Apache Lucene. Её основные возможности: полнотекстовый поиск, подсветка результатов, фасетный поиск, динамическая кластеризация, интеграция с базами данных, обработка документов со сложным форматом (например, Word, PDF). Так как в Solr есть возможность распределенного поиска и репликации, Solr хорошо масштабируем[5]. По состоянию на май 2016 года Solr является вторым по популярности поисковым движком[6].

Solr
Логотип программы Solr
Тип поисковая система
Автор Йоник Сили[вд]
Разработчик Apache Software Foundation
Написана на Java[2][1]
Первый выпуск 17 января 2006[1]
Аппаратная платформа Java Virtual Machine
Последняя версия
Репозиторий git.apache.org/solr.git
Лицензия Apache License 2.0
Сайт solr.apache.org
Логотип Викисклада Медиафайлы на Викискладе

Solr написан на Java и запускается как отдельное веб-приложение полнотекстового поиска (начиная с версии 5.0 запускается, как самостоятельное приложение, а не внутри какого-либо контейнера сервлетов). Solr использует Lucene в качестве основы для реализации индексации и поиска. У Solr есть HTTP/XML и JSON API, что делает возможным использовать Solr из всех популярных языков программирования. Также Solr можно очень гибко настраивать и подключать к нему внешние модули.

С момента слияния двух проектов в 2010 году[7] — Lucene и Solr — они оба делаются одной и той же командой из Apache Software Foundation, так что часто на эти продукты ссылаются как Lucene/Solr или Solr/Lucene.

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

  • фасетный поиск
  • подсветка результатов поиска
  • язык запросов поддерживает структурный поиск так же хорошо, как и поиск по тексту
  • множество форматов взаимодействия поверх HTTP, включая JSON, XML, CSV, бинарные форматы, а также множество библиотек для других языков программирования
  • веб-интерфейс для администрирования
  • репликация — это позволяет увеличить скорость обработки запросов
  • поиск в данных, распределённых на множество узлов — это позволяет увеличить объём данных для поиска
  • кластеризация результатов поиска, основанная на Carrot2
  • расширяемость за счёт подключаемых модулей (плагинов)
  • гибкое управление релевантностью
  • кэширование запросов, фильтров и документов
  • геопространственный поиск
  • автоматическое управление большими кластерами с использованием ZooKeeper

История

править

Solr был создан в 2004 году Йоником Сили (Yonik Seeley) в CNET Networks как внутренний проект для поиска по сайту компании. Затем Йоник Сили наряду с Грантом Инджерсоллом (Grant Ingersoll) и Эриком Хатчером (Erik Hatcher) создали компанию LucidWorks, оказывающую коммерческую поддержку и обучение Apache Solr’у.

В январе 2006 года CNET Networks решила открыть исходный код, передав его в ASF как проект, основанный на Lucene[8]. Как и любой проект в ASF, Solr вошёл в инкубационный период, в течение которого решались организационные, правовые и финансовые вопросы.

В январе 2007 года Solr был выведен из инкубационного статуса и стал стабильно расти, привлекая сильное сообщество пользователей, разработчиков и спонсоров. Хотя это был довольно новый проект, Solr уже использовался в нескольких высоконагруженных веб-сайтах[9].

В сентябре 2008 года состоялся выпуск Solr версии 1.3, включающий в себя многие улучшения, например возможность распределенного поиска и оптимизация производительности[10].

В ноябре 2009 года состоялся выпуск Solr версии 1.4, включающий в себя оптимизации индексирования, полнотекстового и фасетного поиска, улучшена обработка документов со сложным форматом (PDF, Word, HTML), улучшена кластеризация результатов поиска, основанная на Carrot2, улучшена интеграция с базами данных[11].

В марте 2010 года проекты Lucene и Solr были слиты в один. Теперь оба продукта совместно разрабатываются одной командой разработчиков.

В 2011 году была изменена схема версионирования Solr’а. С этого момента версия Solr соответствует версии Lucene: после версии 1.4 следующей версией стала 3.1[12].

В октябре 2012 года выпущена версия Solr 4.0, включающую функции для работы в облаке — SolrCloud[13][14].

В феврале 2015 года вышла версия 5.0.0, 20 сентября 2017 года — 7.0.0, в июне 2022 года — 9.0.0

Примечания

править
  1. 1 2 https://projects.apache.org/json/projects/lucene-solr.json
  2. The solr Open Source Project on Open Hub: Languages Page — 2006.
  3. https://solr.apache.org/news.html#apache-solrtm-970-available
  4. Как произносится Solr. Дата обращения: 15 июня 2013. Архивировано 28 июня 2013 года.
  5. Знакомство с Solr. Дата обращения: 15 июня 2013. Архивировано 1 августа 2013 года.
  6. DB-Engines Ranking — popularity ranking of search engines. Дата обращения: 15 июня 2013. Архивировано из оригинала 19 октября 2018 года.
  7. Lucene and Solr Development Have Merged | SearchHub | Lucene/Solr Open Source Search. Архивировано из оригинала 30 мая 2013 года.
  8. [SOLR-1] CNET code contribution — ASF JIRA. Дата обращения: 15 июня 2013. Архивировано 14 ноября 2018 года.
  9. Публичные веб-сайты, использующие Solr. Дата обращения: 15 июня 2013. Архивировано 22 сентября 2018 года.
  10. Информация о версии Solr 1.3. Дата обращения: 15 июня 2013. Архивировано 26 сентября 2009 года.
  11. Информация о версии Solr 1.4. Дата обращения: 15 июня 2013. Архивировано 27 октября 2011 года.
  12. Информация о версии Solr 3.1. Дата обращения: 15 июня 2013. Архивировано 17 июня 2014 года.
  13. SolrCloud. Дата обращения: 15 июня 2013. Архивировано 3 июня 2013 года.
  14. Apache Lucene. Дата обращения: 15 июня 2013. Архивировано 28 июня 2013 года.

Литература

править
  • Берримен Дж., Тарнбулл Д. Релевантный поиск с использованием Elasticsearch и Solr = Relevant Search. — ДМК-Пресс, 2018. — 408 с. — ISBN 978-5-97060-592-9.
  • Rafal Kuc'. Apache Solr 4 Cookbook. — Packt Publishing, 2013. — 328 p. — ISBN 978-1-78216-132-5.

Ссылки

править