Apache Solr

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Apache Solr
Тип

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

Написана на

Java

Аппаратная платформа

Java Virtual Machine

Последняя версия

6.0.0 (8 апреля 2016),
6.1.0 (17 июня 2016)

Лицензия

лицензия Apache

Сайт

lucene.apache.org/solr

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

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

С момента слияния двух проектов в 2010 году[4] — 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[5]. Как и любой проект в ASF, Solr вошёл в инкубационный период, в течение которого решались организационные, правовые и финансовые вопросы.

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

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

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

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

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

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

В 2013 году было несколько релизов Solr: 4.1 в январе, 4.2 в марте, 4.2.1 в апреле и 4.3.0 в мае, включающие многие оптимизации, исправления ошибок, улучшения.

В феврале 2015 года вышла версия 5.0.0.

Основные возможности[править | править вики-текст]

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

  • 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.

Ссылки[править | править вики-текст]