Apache Lucene підходить для будь-якої програми, яка вимагає підтримки повнотекстового пошуку, а також підтримці сервера споживання ресурсів вниз і проводити швидкі і високоточні результати.
Lucene широко вважається одним з кращих пошукових систем по всьому, будучи в основі багатьох інших пошукових інструментів, найбільш відомими з яких Apache Solr .
Lucene повністю написана на Java і, оскільки випускається Фондом Apache, він був перенесений на багатьох інших мовах і існують різні прив'язки і обгортки, як третя сторона розробила програмне забезпечення.
Що нового в цьому випуску:
- Все доступ до файлів тепер використовує NIO.2 інтерфейси Java, який дають Lucene сильний безпеку індексу точки зору кращу обробку помилок і безпечні робить.
- Кожен сегмент Lucene тепер зберігає унікальний ідентифікатор за сегменті і за вчинення, щоб допомогти в точної реплікації індексних файлів.
- У злиття, IndexWriter тепер завжди перевіряє вхідні сегменти для корупції до злиття. Це може означати, по оновленню до 5.0.0, що злиття може розкрити давню приховану корупцію в старому індексі 4.x.
Що нового у версії 5.2.1 / 4.10.4 / 3.6.2:
- Все файл доступ в даний час використовує API, NIO.2 Java, який дають Lucene сильний безпеку індексу точки зору кращу обробку помилок і безпечних фіксацій.
- Кожен сегмент Lucene тепер зберігає унікальний ідентифікатор за сегменті і за вчинення, щоб допомогти в точної реплікації індексних файлів.
- У злиття, IndexWriter тепер завжди перевіряє вхідні сегменти для корупції до злиття. Це може означати, по оновленню до 5.0.0, що злиття може розкрити давню приховану корупцію в старому індексі 4.x.
Що нового у версії 5.1.0 / 4.10.4 / 3.6.2:
- Все файл доступ в даний час використовує API, NIO.2 Java, який дають Lucene сильний безпеку індексу точки зору кращу обробку помилок і безпечних фіксацій.
- Кожен сегмент Lucene тепер зберігає унікальний ідентифікатор за сегменті і за вчинення, щоб допомогти в точної реплікації індексних файлів.
- У злиття, IndexWriter тепер завжди перевіряє вхідні сегменти для корупції до злиття. Це може означати, по оновленню до 5.0.0, що злиття може розкрити давню приховану корупцію в старому індексі 4.x.
Що нового у версії 5.0.0 / 4.10.3 / 3.6.2:
- Нові Правила .getMin / Max методи для вилучення низькі і найвищі умови для кожного поля.
- Новий IDVersionPostingsFormat, оптимізований для ID пошуку, які пов'язують монотонно зростаючу версію за ID.
- з атомної оновлення набору док значення поля.
- Численні оптимізацій для збільшення продуктивності значення Doc пошуку часу.
- нові (за замовчуванням) Lucene49NormsFormat краще стискати деякі випадки, такі як дуже короткими полями.
- Нью-SORTED_NUMERIC docvalues типу для ефективної обробки багатозначних числових полів.
- індексування проходить попередній маркер потоку для більш легкого використання.
- MoreLikeThis приймає кілька значень для кожного поля.
- Всі класи, які оцінюють їх використання оперативної пам'яті в даний час реалізувати новий підзвітні інтерфейс.
- Lucene файли тепер написаний (Файл) OutputStream на всіх платформах, повністю забороняючи шукає зі спрощеними IO API.
- Поліпшення повідомлення заплутаною помилку при MMapDirectory не можете створити нову карту.
Що нового у версії 4.8.0:
- Lucene має новий Rescorer / QueryRescorer API для виконання другий прохід rescoring або reranking результатів пошуку з використанням більш дорогих функцій скорингу після збору першого проходу хіт.
- AnalyzingInfixSuggester тепер підтримує близькому до реального масштабі часу автозаповненням.
- Спрощені ударостійкі упорядковано проводки (з використанням SortingMergePolicy і EarlyTerminatingCollector) використовувати сортування клас Lucene, щоб висловити порядок сортування.
- Масова скоринг і нормальної итератор оцінок на основі були розділені, так що деякі запити можуть зробити об'ємну рахунок більш ефективно.
- Перейшли на MurmurHash3 хеш терміни під час індексації.
- IndexWriter тепер підтримує оновлення довічних полів значень док.
- HunspellStemFilter тепер використовує від 10 до 100x менше оперативної пам'яті. Він також завантажує всі відомі словники OpenOffice без помилок.
- Lucene тепер також fsyncs метадані директорій на фіксацій, якщо операційна система і файлова система дозволяють це (Linux, MacOSX, як відомо, працюють).
- Lucene тепер використовує Java 7 файлової системи функцій під капотом, так індексні файли можуть бути видалені на Windows, навіть коли читачі як і раніше відкриті.
- серйозну помилку в NativeFSLockFactory була зафіксована, які могли б дозволити кільком IndexWriters придбати ту ж блокування. Файл блокування вже не буде видалено з каталогу індексу, навіть якщо блокування не відбулася.
Що нового у версії 4.7.0:
- При сортуванні по String (SortField.STRING), тепер ви можете вказати, чи слід пропущені значення повинні бути відсортовані спочатку (за замовчуванням), або в минулому.
- підтримка НЗТ для файлових систем, які не мають видалити при останньому закритті або не можете видаляти під час заслання семантики.
- Додана LongBitSet для управління більш 2.1b біти (інакше використовувати FixedBitSet).
- Додана аналізатор для курдською мовою.
- Додана підтримка корисного навантаження для FileDictionary (Запропонувати) і зробити його більше параметрів.
- Додана нова BlendedInfixSuggester, яка, як AnalyzingInfixSuggester але підвищує пропозиції, які відповідали жетони з низьких позиціях.
- Додана SimpleQueryParser :. Аналізатор для запитів людини увійшов
- Додана multitermquery (групові символи, приставка і т.д.), щоб PostingsHighlighter.
Що нового у версії 4.6.0:
- Додана підтримка оновлень NumericDocValues польових (без звернення індексації документа) через IndexWriter.updateNumericDocValue (термін, String, Long).
- Новий FreeTextSuggester може передбачити наступне слово за допомогою простої моделі мови Ngram корисне для & Quot; довгий хвіст & Quot; пропозиції.
- Новий модуль вираз дозволяє для настроюється позиціонування з скрипта-подібний синтаксис.
- Новий DirectDocValuesFormat може тримати все значення DOC в купі як нестислий Java Native масивів.
- Term.hasFreqs можна визначити, якщо дане поле індексується за документ
- Термін частоти.
Тепер
Що нового у версії 4.5.0:
- Нові реалізації DocIdSet в пам'яті яких особливо краще ніж FixedBitSet на невеликих наборів :. WAH8DocIdSet, PFORDeltaDocIdSet і EliasFanoDocIdSet
- CachingWrapperFilter Тепер кешируєт фільтри з WAH8DocIdSet за замовчуванням, який має ту ж використання пам'яті як FixedBitSet в гіршому випадку, але менше і швидше для невеликих наборів.
- TokenStreams Тепер встановити позицію приріст кінці (), тому ми можемо відрегулювати задній отвори.
- IndexWriter більше не клонує дана IndexWriterConfig.
- Різні виправлення і оптимізація з моменту випуску 4.4.
Що нового у версії 4.4.0:
- модуль Новий реплікатор: повторити індексу зміни між сервером і клієнт.
- Новий AnalyzingInfixSuggester :. Знаходить пропозиції, засновані на матчі в будь-яких маркерів в реченні, а не тільки на основі чистого відповідності приставки
- Новий PatternCaptureGroupTokenFilter :. Випускають кілька маркерів, по одному для кожної групи захоплення в одному або декількох Java регулярних виразів
- модуль Нью Lucene Facet.
Що нового у версії 4.3.0:
- Новий SearcherTaxonomyManager управляє близькому до реального масштабі часу відновлює з як IndexSearcher і TaxonomyReader (для ограновування).
- Додана нова методика фасетів до модуля фасета обчислити межу розраховує за допомогою SortedSetDocValuesField, без окремого індексу таксономії.
- Значні поліпшення продуктивності для minShouldMatch BooleanQuery внаслідок пропуску в результаті чого до 4000% швидше запитів.
- Різні виправлення і оптимізація з моменту випуску 4.2.1.
Що нового у версії 4.1.0:
- Lucene більше не прагне під час запису файлів (всі поля написані в конкатенуються тільки способом). Це означає, що працює за замовчуванням з конкатенуються тільки потоки, HDFS, і т.п ..
- Новий запропонувати реалізацій: AnalyzingSuggester, де основною формою (обчислюється з Lucene Analyzer), використовуваного для пропозицій окремий від повернутого тексту і FuzzySuggester, що додатково дозволяє неточного відповідності на вході .
- Близько-реальному часі була додана підтримка для модуля фасетів.
- Новий Маркер (postingshighlighter) додають до модуля маркером.
- Додана FilterStrategy щоб FilteredQuery для більшої гнучкості в фільтрованої виконання запиту.
- Додана CommonTermsQuery прискорити запити з дуже високою частотою точки. Частоти термін неефективне виявлена під час запиту -. Немає часу індекс, необхідний препарат
- Кілька виправлень і оптимізацій з моменту випуску 4.0.
Що нового у версії 4.0-альфа:
- Формати індекс для точки, що розміщуються списки, зберігати поля, термін
- вектори і т.д. є знімними через API Codec. Ви можете вибрати один з передбачених реалізацій або налаштувати формат індексний власний кодек для задоволення ваших потреб.
- значно швидше продуктивність при використанні фільтра під час пошуку.
- файлові системи можуть оцінювати граничний НЛ (Мб / сек) злиття потоків, щоб зменшити IO розбрату між злиття і пошук теми.
- FuzzyQuery 100-200 разів швидше, ніж в попередніх версіях.
- Новий орфографічний, DirectSpellChecker, знаходить можливі коригування
- безпосередньо проти головного пошукового індексу, не вимагаючи окремого індексу.
каталоги, засновані
Що нового у версії 3.6.0:
- На додаток до Java 5 і Java 6, цієї реліз тепер повна підтримка Java 7 (необхідний мінімум JDK 7У1).
- TypeTokenFilter фільтри жетони на основі їх TypeAttribute.
- фіксоване зміщення помилки в ряді CharFilters, Tokenizers і TokenFilters, які можуть привести до винятків у виділенням.
- Додані фонетичні кодери: Metaphone, SOUNDEX, Caverphone, Бейдер-Морса і т.д. .
- CJKBigramFilter і CJKWidthFilter замінити CJKTokenizer.
- Kuromoji морфологічний аналізатор розмічає текст на японській мові, виробляючи обидві складові слова і їх сегментацію.
- Статичний індекс обрізка (Carmel обрізка) видаляє проводки з низьким внутрішньо-документа термін частоти.
- QueryParser Тепер інтерпретує '*' в якості відкритого кінця для запитів стосовно діапазону.
- FieldValueFilter виключає документи відсутні зазначеного поля.
- CheckIndex і IndexUpgrader дозволяють вказати конкретну реалізацію FSDirectory для використання з новою опцією -dir-осущ командного рядка.
- ПФТС можуть тепер зробити зворотний пошук (по виходу) в деяких випадках і можуть бути упаковані, щоб зменшити їх розмір. Існує в даний час метод для вилучення Top N найкоротші шляхи з початкового вузла в ФСТ.
- Новий WFSTCompletionLookup Suggester підтримує більш дрібнозернистої позиціонування для пропозицій.
- FST suggesters засновані тепер використовують в автономному (на основі дисків) Сортувати, а не в пам'яті те, коли попереднього сортування пропозицій.
- ToChildBlockJoinQuery приєднується в протилежному напрямку (одного з батьків до дітей документів).
- Новий запит часу приходу є більш гнучким (але менш продуктивним), ніж індекс часу приєднується.
- Додана HTMLStripCharFilter позбавити HTML розмітку.
Що нового у версії 3.5.0:
- Додана дуже істотний (3-5X) ОЗУ зниження потреби провести індекс терміни при відкритті IndexReader.
- Додана IndexSearcher.searchAfter який повертає результати після певного ScoreDoc (наприклад останній документ на попередній сторінці), щоб підтримати глибокі прецедентів підкачки.
- Додана SearcherManager управляти спільне і повторне відкриття IndexSearchers за кількома потоків пошуку. Ключові випадки IndexReader надійно закритий, якщо немає посилання більше.
- Додана SearcherLifetimeManager який безпечно забезпечує узгоджене уявлення індексу кількох запитах (наприклад підкачки / розкрученому).
- Перейменовано IndexWriter.optimize щоб forceMerge перешкоджати використанню цього методу, так як це жахливо дорого і рідко виправдано більше.
Що нового у версії 3.3.0:
- Модуль перевірки орфографії в даний час включає запропонувати / автоматичне заповнення функціональність, з трьома реалізаціями :. Jaspell, тернарного TRIE і кінцевий
- Підтримка об'єднання результатів з декількох осколків, як для & Quot; нормальна & Quot; Результати пошуку (TopDocs.merge), а також згруповані результати, використовуючи угруповання модуля (SearchGroup.merge, TopGroups.merge).
- оптимізована реалізація KStem, менш агресивною Стеммер для англійської.
- однопрохідної угруповання реалізацію на основі блок індексування документів.
- Поліпшення MMapDirectory (тепер також реалізація за замовчуванням, що повертається FSDirectory.open на 64-бітної Linux).
- NRTManager спрощує обробку, близькому до реального часу пошуку з декількох пошукових потоків, дозволяючи додатком контролювати, які зміни індексації має бути видно, які пошукові запити.
- TwoPhaseCommitTool полегшує виконання мульти-ресурс двоетапного здійснюють, в тому числі IndexWriter.
- Merge замовчуванням політика, TieredMergePolicy, має новий метод (установка / getReclaimDeletesWeight), щоб контролювати, як агресивно він спрямований сегменти з вилучень, і в даний час більш агресивним, ніж раніше за замовчуванням.
- PKIndexSplitter інструмент розбиває індекс на термін середньої точки.
Що нового у версії 3.2.0:
- Новий модуль угруповання під Lucene / вно / угруповання, що дозволяє результати пошуку будуть згруповані по однозначною індексованої області.
- Новий інструмент IndexUpgrader повністю перетворює старий індекс для поточного формату.
- Реалізація нового каталогу, NRTCachingDirectory, кешируєт невеликі сегменти в оперативній пам'яті, щоб зменшити навантаження введення / виведення для додатків з швидко НЗТ відкрити ставки.
- нова реалізація колектор, CachingCollector, має можливість збирати критеріям хіти (ідентифікатори документа і, можливо, також балів), а потім відтворювати їх. Це корисно для колекціонерів, які вимагають два або більше проходів для отримання результатів.
- Індекс документ блоку з використанням нових addDocuments або updateDocuments методи IndexWriter в. Ці експериментальні API, переконайтеся, що блок документів назавжди залишиться суміжними в індексі, дозволяючи цікаве майбутнє послугами, як угруповання і приєднується.
- Нова політика злиття за замовчуванням, TieredMergePolicy, який є більш ефективним завдяки можливості об'єднати несуміжних сегментів.
- NUMERICFIELD тепер повертається правильно при завантаженні збереженого документа (раніше ви отримали нормальне поле назад, з перетвореною рядки числове значення).
Що нового у версії 3.1.0 :.
- ConstantScoreQuery тепер дозволяє безпосередньо обгортання Query
- IndexWriter тепер налаштований за допомогою нової окремої забудовника API, IndexWriterConfig. Тепер ви можете управляти раніше фіксований внутрішній ліміт різьблення IndexWriter, викликавши setMaxThreadStates.
- IndexWriter.getReader замінюється IndexReader.open (IndexWriter). Крім того, тепер ви можете вказати, чи повинен видаляє бути вирішені при відкритті читача НЗТ.
- MultiSearcher застаріла; ParallelMultiSearcher була поглинена безпосередньо в IndexSearcher.
- На 64-бітної ОС Windows і Solaris віртуальних машинах, MMapDirectory тепер реалізація за замовчуванням (повертається FSDirectory.open). MMapDirectory також дозволяє unmapping якщо JVM підтримує його.
- Новий TotalHitCountCollector просто підраховує загальну кількість звернень.
- ReaderFinishedListener API дозволяє зовнішнім кеші виселити записи раз в сегмент завершено.
Що нового у версії 3.0.1 :.
- Видалити непотрібні синхронізації в FuzzyTermEnum
- При вирішенні віддалені терміни, зробити це в строк порядку сортування для підвищення продуктивності.
- Чи не неправильно тримати попередження про те ж величезною перспективі, коли IndexWriter.infoStream включений.
- Fix Мін / MaxPayloadFunction повертає 0, коли тільки один корисного навантаження присутній.
- Перелік, що складається з усіх нульових наддуву пунктах (наприклад, текст: Foo ^ 0) упорядковано неправильно і проводиться неприпустимі docids .
- Вилучено захищений внутрішній клас ScoreTerm від FuzzyQuery. Ця зміна була необхідно, тому що компаратора цього класу повинен бути змінений в суперечливому чином. Клас ніколи не був призначений, щоб бути відкритими.
Що нового у версії 2.9.2:
- BooleanQuery ігнорував disableCoord в хеш-код і дорівнює методи , викликати погані речі відбуваються, коли кешування BooleanQueries.
- Чи не неправильно тримати попередження про те ж величезною перспективі, коли IndexWriter.infoStream включений.
- При високих індексації НЗТ читач міг тимчасово втратити делеции.
Що нового у версії 3.0.0:
- Дистанційні системне властивість для установки SegmentReader реалізацію класу.
- Змінити тип повертається з SnapshotDeletionPolicy # знімка () з IndexCommitPoint до IndexCommit. Код, який використовує цей метод повинен бути повторно проти Lucene 3.0, щоб працювати. Раніше застарілим IndexCommitPoint також видаляється.
- Забезпечити зручність AttributeFactory який створює екземпляр маркера для всіх основних атрибутів.
- Видалити рекурсию в NumericRangeTermEnum.
- Оптимізувати Відстань Левенштейна обчислення в FuzzyQuery.
Коментар не знайдено