The Apache Lucene — это свободная библиотека для высокоскоростного полнотекстового поиска, написанная на Java. Может быть использована для поиска в интернете и при решении различных задач вычислительной лингвистики. Например, Lucene используется как компонент в децентрализованной поисковой системе YaCy (свободное ПО).
Основные возможности
Масштабируемая и высокоскоростная индексация
свыше 95GB в час на современном оборудовании
требуется малый объем RAM — «heap» всего 1MB
размер индекса примерно 20—30 % от размера исходного текста
Мощный, точный и эффективный поисковый алгоритм
ранжированный поиск — лучшие результаты показываются первыми
множество мощных типов запросов: запрос фразы, wildcard запросы, поиск интервалов и т. д.
поиск, основанный на «полях» (таких как заголовок, автор, текст)
возможность сортировать по различным полям
multiple-index поиск с возможностью объединения результатов
возможность одновременного поиска и обновления индекса
Кроссплатформенное решение
исходный код полностью написан на Java
наличие портов на другие языки программирования
Порты на другие языки
Lucene портирована на другие языки программирования:
Lucene4c — C CLucene — C++ Node-CLucene — Node.js Golucene — Go MUTIS — Delphi Plucene — Perl Kinosearch — Perl PyLucene (Wrapper — not port) — Python Ferret и RubyLucene — Ruby Zend_Lucene — PHP Montezuma — Lisp Lucene.Net — C#