Solr
Solr (произносится «солар»[4]) — платформа полнотекстового поиска с открытым исходным кодом, основанная на проекте Apache Lucene. Её основные возможности: полнотекстовый поиск, подсветка результатов, фасетный поиск, динамическая кластеризация, интеграция с базами данных, обработка документов со сложным форматом (например, Word, PDF). Так как в Solr есть возможность распределенного поиска и репликации, Solr хорошо масштабируем[5]. По состоянию на май 2016 года Solr является вторым по популярности поисковым движком[6].
Solr | |
---|---|
![]() | |
Тип | поисковая система |
Автор | Yonik Seeley[d] |
Разработчик | Apache Software Foundation |
Написана на | Java[1][2] |
Первый выпуск | 17 января 2006[2] |
Аппаратная платформа | Java Virtual Machine |
Последняя версия |
|
Лицензия | 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.
История
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].
В 2013 году было несколько релизов Solr: 4.1 в январе, 4.2 в марте, 4.2.1 в апреле и 4.3.0 в мае, включающие многие оптимизации, исправления ошибок, улучшения.
В феврале 2015 года вышла версия 5.0.0.
20 сентября 2017 года вышла версия 7.0.0.
Основные возможности
- Используется библиотека Lucene для полнотекстового поиска
- фасетный поиск
- подсветка результатов поиска
- язык запросов поддерживает структурный поиск так же хорошо, как и поиск по тексту
- множество форматов взаимодействия поверх HTTP, включая JSON, XML, CSV, бинарные форматы, а также множество библиотек для других языков программирования
- веб-интерфейс для администрирования
- репликация — это позволяет увеличить скорость обработки запросов
- поиск в данных, распределённых на множество узлов — это позволяет увеличить объём данных для поиска
- кластеризация результатов поиска, основанная на Carrot2
- расширяемость за счёт подключаемых модулей (плагинов)
- гибкое управление релевантностью
- кэширование запросов, фильтров и документов
- геопространственный поиск
- автоматическое управление большими кластерами с использованием ZooKeeper
Примечания
- The solr Open Source Project on Open Hub: Languages Page — 2006.
- https://projects.apache.org/json/projects/lucene-solr.json
- https://solr.apache.org/news.html#apache-solrtm-8111-available
- Как произносится Solr
- Знакомство с Solr
- DB-Engines Ranking — popularity ranking of search engines (недоступная ссылка). Дата обращения: 15 июня 2013. Архивировано 19 октября 2018 года.
- Lucene and Solr Development Have Merged | SearchHub | Lucene/Solr Open Source Search (недоступная ссылка). Архивировано 30 мая 2013 года.
- [SOLR-1] CNET code contribution — ASF JIRA .
- Публичные веб-сайты, использующие Solr
- Информация о версии Solr 1.3
- Информация о версии Solr 1.4
- Информация о версии Solr 3.1
- SolrCloud
- Apache Lucene .
Литература
- Берримен Дж., Тарнбулл Д. Релевантный поиск с использованием 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.
- David Smiley, Eric Pugh. Apache Solr 3 Enterprise Search Server. — Packt Publishing, 2011. — 410 p. — ISBN 978-1-84951-606-8.
- Surendra Mohan. Administrating Solr. — Packt Publishing, 2013. — 120 p. — ISBN 978-1-78328-325-5.
Ссылки
- Официальный сайт (англ.)