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

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

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

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

Портирована на многие другие языки программирования: Си (Lucene4c), C++ (CLucene), Node.js, Go, Delphi (MUTIS), Perl (PLucene), Ruby (Ferret и RubyLucene), PHP (в рамках фреймворка Zend), Lisp (Montezuma), C# (Lucene.Net).
Q341
свободная
Concept
Q83540
полнотекстового поиска
Concept
Q489709
Apache
ORG
Q4182287
поисковых системах
Concept
Q3050461
Elasticsearch
MEDIA
Q2858103
Solr
MEDIA
Q251
Java
Concept
Q165400
SourceForge.net
MISC
Q938925
Jakarta
MEDIA
Q29120
Hadoop
MISC
Q1372248
Nutch
MEDIA
Q1759675
YaCy
UNK
Q1235236
документоориентированная СУБД
Concept
Q47607
SQL
MEDIA
Q8561403
DocFetcher
MEDIA
Q1138815
локальный поисковик
Concept
Q526719
ранжированный поиск
Concept
Q283679
символами подстановки
Concept
Q235557
форматов
Concept
Q234460
текстовая информация
Concept
Q851989
Портирована
Concept
Q15777
Си
Concept
Q2407
C++
MEDIA
Q756100
Node.js
Concept
Q37227
Go
MEDIA
Q4037189
Delphi
Concept
Q42478
Perl
Concept
Q161053
Ruby
MEDIA
Q59
PHP
MEDIA
Q189477
Zend
ORG
Q132874
Lisp
Concept
None
C#
UNK
Q773196
Lucene
ORG
Q773196
Lucene
ORG
Q773196
Lucene
ORG
Q773196
Lucene
ORG
Q773196
Lucene
ORG
Q773196
Lucene
ORG
Q773196
Lucene
ORG
1999-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
в 1999
DATE
2001-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
В 2001
DATE
2005-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
в 2005
DATE
+20^^http://www.w3.org/2001/XMLSchema#decimal
20
NUMBER
+30^^http://www.w3.org/2001/XMLSchema#decimal
30
NUMBER
+4^^http://www.w3.org/2001/XMLSchema#decimal
4
NUMBER
developer
programming language
based on
developer
based on
instance of