Lucene

Apache Lucene
Логотип программы Apache Lucene
Тип поиск и программирование
Разработчик Apache Software Foundation
Написана на Java
Операционная система кроссплатформенный
Первый выпуск 30 марта 2000
Аппаратная платформа Java Virtual Machine
Последняя версия 9.7.0[1] (25 июня 2023; 10 месяцев назад (2023-06-25))
Репозиторий github.com/apache/lucene
Лицензия Apache Software License
Сайт lucene.apache.org
Логотип Викисклада Медиафайлы на Викискладе

Lucene — свободная библиотека для высокопроизводительного полнотекстового поиска фонда Apache, используемая в качестве основы в двух самых популярных по состоянию на середину 2010-х годов тиражируемых поисковых системах — Elasticsearch и Solr. Написана на Java.

Разработана Дугом Каттингом (англ. Doug Cutting) в 1999 году, изначально была выложена автором на SourceForge.net. В 2001 году передана в фонд Apache, где вначале развивалась в рамках проекта Jakarta, и перешла в 2005 году в статус проекта верхнего уровня фонда. В рамках проекта верхнего уровня Lucene породила ряд подпроектов, ставших самостоятельными, среди них — Hadoop (инициированный Каттингом и сформировавшим обширную экосистему продуктов), Nutch и Solr (считающийся частью экосистемы Hadoop). Кроме того, библиотека используется в качестве внутреннего механизма в ряде проектов, среди которых YaCy (децентрализованная поисковая система), CrateDB[англ.] (документоориентированная СУБД с поддержкой SQL), Swiftype[англ.] (тиражируемая поисковая система для организаций), DocFetcher (локальный поисковик).

Основная функциональная особенность библиотеки — обеспечение масштабируемой и достаточно высокоскоростной индексации (порядка 100 Гбайт в час на сервере массового класса). Создаваемый индекс занимает примерно 20—30 % от размера исходного текста.

Поисковый алгоритм поддерживает ранжированный поиск (лучшие результаты показываются первыми), нечёткий поиск[англ.], реализовано множество различных типов запросов (запрос фразы, запросы с символами подстановки, поиск интервалов и другие), поиск по значениям метаданных (таких как заголовок, автор, текст). Поддерживается поиск по нескольким индексам с возможностью объединения результатов, реализована сортировка результатов поиска по различным полям. Поиск возможен одновременно с процессом обновления индекса. Логическая архитектура библиотеки представляет любой документ как набор текстовых полей, что позволяет ей функционировать вне зависимости от форматов, как только текстовая информация из них может быть получена.

Портирована на многие другие языки программирования: Си (Lucene4c), C++ (CLucene), Node.js, Go, Delphi (MUTIS), Perl (PLucene), Ruby (Ferret и RubyLucene), PHP (в рамках фреймворка Zend), Lisp (Montezuma), C# (Lucene.Net), Python (PyLucene).

Литература

  • Erik Hatcher and Otis Gospodnetic. Lucene in Action. — 2nd. — Stamford: Manning, 2010. — P. 528. — ISBN 978-1-933988-17-7.

Примечания

  1. Lucene Change Log  (неопр.). Дата обращения: 27 сентября 2023. Архивировано 27 сентября 2023 года.

Ссылки

  • The Apache Lucene
Перейти к шаблону «Apache»
Проекты верхнего уровня
Подпроекты
Apache Commons
Lucene
  • Lucene Java
  • Lucene4c[англ.]
  • Lucy[англ.]
  • Solr
DB[вд]
  • Derby
  • Torque[англ.]
  • DdlUtils[англ.]
  • OJB[англ.]
  • JDO[англ.]
Apache Web Services[англ.]
  • Axis[англ.]
  • Axis2[англ.]
  • CXF
  • WS-Commons[англ.]
  • EWS[англ.]
  • JaxMe[англ.]
  • jUDDI[англ.]
  • Kandula[англ.]
  • Mirae[англ.]
  • Muse[англ.]
  • Pubscribe[англ.]
  • Sandesha[англ.]
  • Scout[англ.]
  • SOAP[англ.]
  • Synapse[англ.]
  • TSIK[англ.]
  • Tuscany[англ.]
  • Woden[англ.]
  • WSIF[англ.]
  • WSRF[англ.]
  • WSS4J[англ.]
  • XML-RPC[англ.]
Другие проекты
Развивающиеся проекты (Incubator)
  • XAP[англ.]
  • River[англ.]
  • OpenEJB[англ.]
  • OpenJPA[англ.]
  • Graffito[англ.]
  • Tuscany[англ.]
  • Log4Net[англ.]
  • Roller
  • Felix
  • Abdera[англ.]
  • CeltiXfire[англ.]
  • FtpServer[англ.]
  • Heraldry[англ.]
  • Ivy[англ.]
  • JuiCE[англ.]
  • Kabuki[англ.]
  • Lokahi[англ.]
  • Lucene.Net[англ.]
  • mod_ftp[англ.]
  • NMaven[англ.]
  • Ode[англ.]
  • stdcxx[англ.]
  • Woden[англ.]
  • WSRP4J[англ.]
  • Yoko[англ.]
  • WADI[англ.]
  • Qpid
  • TripleSoup[англ.]
  • UIMA[англ.]
  • Adobe Flex
Списанные проекты (Attic)
  • AxKit[англ.]
  • Beehive[англ.]
  • Cactus[англ.]
  • ECS[англ.]
  • Excalibur[англ.]
  • Harmony
  • HiveMind[англ.]
  • iBATIS[англ.]
  • Jakarta
  • ORO[англ.]
  • Regexp[англ.]
  • Shale
  • Slide[англ.]
  • Taglibs[англ.]
Перейти к шаблону «Поисковые машины»
Поисковые системы и машины
Общие
Региональные
  • Accoona (Китай/США)
  • Alleba (Филиппины)
  • Ansearch (Австралия/США/Великобритания/Новая Зеландия)
  • Апорт (Россия, закрыт)
  • Daum (Юж. Корея)
  • Guruji.com (Индия)
  • Поиск Mail.ru (Россия, закрыт)
  • Maktoob (Бл. Восток)
  • META (Украина, закрыт)
  • Miner.hu (Венгрия)
  • Najdi.si (Словения)
  • Onkosh (Бл. Восток)
  • Рамблер-Поиск (Россия, закрыт)
  • Rediff (Индия)
  • SAPO (Португалия)
  • Search.ch (Швейцария)
  • Sesam (Норвегия/Швеция)
  • Seznam.cz (Чехия)
  • Спутник (Россия, закрыт)
  • VisualWorld
  • Walla! (Израиль)
  • Yahoo! Japan (Япония)
лидеры
  • Baidu (Китай)
  • Naver (Юж. Корея)
  • Яндекс.Поиск (Россия)
Тематические
Метапоиск
  • AskNet
  • Brainboost
  • Clusty
  • Dogpile
  • exactus.ru
  • Ecosia
  • Excite
  • FarSEER
  • HotBot
  • Info.com
  • Ixquick
  • Krozilo
  • Mamma
  • Metacrawler
  • MetaLib
  • Нигма (закрыт)
  • Myriad Search
  • SideStep
  • Surfwax
  • Turbo10
  • WebCrawler
  • GlobalFileSearch
Открытые /
свободные
Детские
  • AGAKIDS (Россия)
  • Ask Kids (Великобритания)
  • Frag Finn (Германия)
  • Kids AOL (США)
  • Kids Yahoo! (США)
  • Quintura Дети (Россия)
  • Семейный Яндекс (Россия)
  • Гогуль (Россия)