Interested Article - 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), Python (PyLucene).

Литература

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

Примечания

  1. . Дата обращения: 27 сентября 2023. 27 сентября 2023 года.

Ссылки

Источник —

Same as Lucene