Apache Lucene е подходящ за всяко приложение, което изисква подкрепа за търсене на пълен текст, като в същото време запазване на потреблението на ресурсите на сървъра надолу и производство на бързи и висока точност на резултатите.
Lucene е широко считан за един от най-добрите търсачки около, е в основата на много други инструменти за търсене, най-известният същество Apache Solr .
Lucene е написана изцяло на Java и тъй като се освобождава от фондацията Apache, той е пренесен на много други езици и различни автомати и опаковки съществуват като трета страна разработен софтуер.
Какво ново в тази версия:
- All достъп до файлове вече използва NIO.2 APIs на Java, които дават по-силен Lucene безопасността индекс по отношение на по-добро управление на грешки и безопасни ангажира.
- Всеки сегмент Lucene сега съхранява уникален идентификатор на маршрута и на-ангажира да подпомогне точна репликация на индексни файлове.
- По време на сливането, IndexWriter сега винаги проверява входящите сегменти за корупция преди сливането. Това може да означава, на обновяване до 5.0.0, че сливането може да разкрие дългогодишната латентна корупцията в по-стар индекс 4.x.
Какво ново във версия 5.2.1 / 4.10.4 / 3.6.2:
- All файл достъп сега използва NIO.2 APIs на Java, които дават по-силен Lucene безопасността индекс по отношение на по-добро управление на грешки и по-безопасни ангажира.
- Всеки сегмент Lucene сега съхранява уникален идентификатор на маршрута и на-ангажира да подпомогне точна репликация на индексни файлове.
- По време на сливането, IndexWriter сега винаги проверява входящите сегменти за корупция преди сливането. Това може да означава, на обновяване до 5.0.0, че сливането може да разкрие дългогодишната латентна корупцията в по-стар индекс 4.x.
Какво ново във версия 5.1.0 / 4.10.4 / 3.6.2:
- All файл достъп сега използва NIO.2 APIs на Java, които дават по-силен Lucene безопасността индекс по отношение на по-добро управление на грешки и по-безопасни ангажира.
- Всеки сегмент Lucene сега съхранява уникален идентификатор на маршрута и на-ангажира да подпомогне точна репликация на индексни файлове.
- По време на сливането, IndexWriter сега винаги проверява входящите сегменти за корупция преди сливането. Това може да означава, на обновяване до 5.0.0, че сливането може да разкрие дългогодишната латентна корупцията в по-стар индекс 4.x.
Какво ново във версия 5.0.0 / 4.10.3 / 3.6.2:
- Нови Условия .getMin / MAX методи за извличане на най-ниските и най-високите условията в едно поле.
- New IDVersionPostingsFormat, оптимизиран за самоличност заявки, които се асоциират с монотонно увеличаване версия на ID.
- атомна актуализация на набор от док стойности полета.
- Многобройни оптимизации за изпълнение док стойности търсене време.
- New (по подразбиране) Lucene49NormsFormat по-добре да компресирате някои случаи като много кратки полета.
- тип New SORTED_NUMERIC docvalues за ефективна обработка на мулти-ценен числови полета.
- Indexer минава предишния знак поток за по-лесно повторно използване.
- MoreLikeThis приема множество стойности в едно поле.
- Всички класове, които смятат, тяхното използване RAM вече прилагат нова отчетно интерфейс.
- Lucene файлове са вече написани от (File) OutputStream на всички платформи, напълно забраняване търси с опростени IO APIs.
- Подобряване объркващо съобщението за грешка, когато MMapDirectory не можете да създадете нова карта.
Какво ново във версия 4.8.0:
- Lucene има нов Rescorer / QueryRescorer API за извършване второто преминаване rescoring или reranking с резултати от търсенето с помощта на по-скъпи функции точкуване след събирането на първо преминаване хит.
- AnalyzingInfixSuggester вече поддържа почти реално време AutoSuggest.
- Опростени въздействието сортирани постинги (използвайки SortingMergePolicy и EarlyTerminatingCollector) да използвате Sort клас Lucene да изразява реда на сортиране.
- Bulk точкуване и нормална итератор базирани точкуване се разделят, така че някои могат да правят заявки за насипни точкуване по-ефективно.
- Switched да MurmurHash3 хеш отношение по време на индексирането.
- IndexWriter вече поддържа актуализиране на бинарни полета док стойност.
- HunspellStemFilter сега използва 10 до 100 пъти по-малко RAM. Той също така зарежда всички известни OpenOffice речници без грешка.
- Lucene сега също fsyncs метаданните директория на ангажира, ако операционната система и файловата система тя (Linux, MacOSX се знае, че работи) позволи.
- Lucene сега използва Java 7 функции на файловата система под капака, така индексни файлове може да бъде изтрит от Windows, дори когато читателите са все още отворени.
- Сериозен бъг в NativeFSLockFactory е фиксиран, който би могъл да позволи на множество IndexWriters за придобиване на същата ключалка. Файл за заключване вече не се изтрива от директорията на индекса, дори когато не се провежда ключалката.
Какво ново във версия 4.7.0:
- Когато сортирате по String (SortField.STRING), Сега можете да укажете дали липсващите стойности, трябва да се сортират първите (по подразбиране), или последните.
- подкрепа NRT за файлови системи, които не разполагат с изтриване на последната близо или не можете да изтривате докато съотнесени семантика.
- Добавено LongBitSet за управление на повече от 2.1B бита (в противен случай използвайте FixedBitSet).
- Добавено Analyzer за кюрдски.
- Добавена Payload подкрепа за FileDictionary (Предложете) и да я направи по-конфигурируеми.
- Добавена нова BlendedInfixSuggester, което е като AnalyzingInfixSuggester но повишава предложения, които съответстват на символите, с по-ниски позиции.
- Добавено SimpleQueryParser:. парсер за човека-влязъл заявки
- Добавено multitermquery (заместващи символи, префикс, и т.н.), за да PostingsHighlighter.
Какво ново във версия 4.6.0:
- Добавена е поддръжка за NumericDocValues полеви ъпдейти (без ре- индексиране на документа) чрез IndexWriter.updateNumericDocValue (Term, String, Long).
- New FreeTextSuggester може да предскаже следващата дума, използвайки прост език модел ngram полезно за & quot; & quot дълга опашка; предложения.
- Нов израз модул дава възможност за персонализирано класиране с скрипт-подобен синтаксис.
- Нов DirectDocValuesFormat може да побере всички стойности док в грамада като некомпресиран Java родния масиви.
- Term.hasFreqs вече могат да определят дали дадена област индексира на-док
- срочни честоти.
Какво ново във версия 4.5.0:
- Нови в памет DocIdSet реализации, които са особено добре от FixedBitSet върху малките набори:. WAH8DocIdSet, PFORDeltaDocIdSet и EliasFanoDocIdSet
- CachingWrapperFilter сега кешира филтри с WAH8DocIdSet по подразбиране, който има същия използването на паметта, както FixedBitSet в най-лошия случай, но е по-малък и по-бързо на малки серии.
- TokenStreams сега определени нарастване на позиция в края (), така че можем да се справим зад дупки.
- IndexWriter вече не клонира дадената IndexWriterConfig.
- Различни поправки и оптимизации, тъй като на 4.4 освобождаването.
Какво ново във версия 4.4.0:
- New Replicator модул: репликира индексни ревизии между сървъра и клиент.
- New AnalyzingInfixSuggester:. установи, предложения, основани на мачове до някакви символи по предложението, а не само въз основа на чисто съвпадение префикс
- New PatternCaptureGroupTokenFilter:. излъчват множество символи, по един за всяка улавяне група в една или повече Java regexes
- New Lucene Facet модул.
Какво ново във версия 4.3.0:
- New SearcherTaxonomyManager управлява почти реално време отваря отново на както IndexSearcher и TaxonomyReader (за faceting).
- Добавен нов метод нюанс към модула аспект да се изчисли с помощта на фасет брои SortedSetDocValuesField, без отделен индекс таксономия.
- Различни поправки и оптимизации, тъй като на 4.2.1 версия.
<> Li Значителни подобрения в производителността за minShouldMatch BooleanQuery поради прескочите в резултат на което до 4000% по-бързо запитвания.
Какво ново във версия 4.1.0:
- Lucene вече не се стреми, когато пишете файлове (всички полета са написани в един само за добавяне посоки). Това означава, че работи по подразбиране се прикрепя с-само потоци, hdfs и т.н ..
- New Предлагам реализации: AnalyzingSuggester, където се осъществява основната форма (изчислена от Lucene Analyzer), използван за предложения е отделен от завърна текста и FuzzySuggester, което допълнително дава възможност за неточна съвпадение на входа .
- До-подкрепа реално време се добавя към модула аспект.
- New Highlighter (postingshighlighter) добавен в модула за осветяване.
- Добавено FilterStrategy да FilteredQuery за по-голяма гъвкавост в филтрира изпълнение на заявката.
- Добавено CommonTermsQuery да ускорят заявките с много високо чести условия. Срочни честоти ефективно се открива по време на заявката -. Не индекс време изисква подготовка
- Няколко поправки и оптимизации, тъй като освобождаването 4.0.
Какво ново във версия 4.0-алфа:
- формати индекса за термини, постинги списъци, съхранявани полета, срок
- вектори и т.н. са сменяем чрез API Codec. Можете да изберете от предвидените реализации или да персонализирате формата на индекс със свой собствен Codec да отговарят на вашите нужди.
- Значително по-висока производителност, когато се използва по време на Filter търсите.
- файлова система, базирани директории могат да класират лимит на IO (MB / сек) на сливане теми, за да се намали IO раздора между сливане и търсите теми.
- FuzzyQuery е 100-200 пъти по-бързо, отколкото в последните версии.
- Нова проверка на правописа, DirectSpellChecker, установи възможни корекции
- пряко срещу основният индекс за търсене без да се изисква отделен индекс.
Какво ново във версия 3.6.0:
- В допълнение към Java 5 и 6 Java, това освобождаване вече е пълна Java 7 подкрепа (задължително минимално JDK 7u1).
- Фиксирани компенсират грешки в редица CharFilters, Tokenizers и TokenFilters, които биха могли да доведат до изключения по време подчертаване.
- CJKBigramFilter и CJKWidthFilter замени CJKTokenizer.
- Kuromoji морфологичен анализатор tokenizes японски текст, производство на двете съставни думи и тяхното сегментацията.
- Static индекс резитба (Carmel подрязване) премахва постинги с ниска честота в рамките на план-документ.
- QueryParser сега интерпретира "*" като отворен край за заявки обсег на действие.
- FieldValueFilter изключва документи липсват предписаното поле.
- CheckIndex и IndexUpgrader ви позволи да се уточни конкретното прилагане FSDirectory да използвате с новата опция -dir-impl командния ред.
- New WFSTCompletionLookup suggester подкрепя фини гранули класиране за предложения.
- ToChildBlockJoinQuery присъединява в обратната посока (майка до детските документи).
- New заявка време присъединяването е по-гъвкав (но по-малко performant) от индекса време се присъединява.
- Добавено HTMLStripCharFilter да се съблича HTML код.
<> Li TypeTokenFilter филтри символи на базата на тяхната TypeAttribute.
<> Li Публикувана фонетични енкодери: Metaphone, Soundex, Caverphone, Beider-Морс и др .
<> Li FSTs вече могат да се обратно търсене (от изхода) в някои случаи и могат да бъдат опаковани, за да намали размера им. Там сега е метод за извличане на най-N-кратките пътища от начален възел в FST.
<> Li FST базирани suggesters сега използват офлайн (базиран на диск) подредени, а не в паметта на сортиране, когато предварително сортиране на предложенията.
Какво ново във версия 3.5.0:
- Добавена много съществено (3-5X) RAM необходимо намаляване да държи индекса на условия за откриване на 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, а по-малко агресивна Stemmer за английски.
- Single-пас групиране изпълнение въз основа на документ блок индексиране.
- Подобрения на MMapDirectory (сега също изпълнението по подразбиране връща от FSDirectory.open на 64-битов Linux).
- NRTManager опростява обработката почти в реално време за търсене с множество нишки от търсенето, което позволява на приложението да контролира които индексиране промени трябва да бъде видим която заявки за търсене.
- TwoPhaseCommitTool улеснява извършването на множество ресурси двуфазна ангажира, включително IndexWriter.
- политика по подразбиране се сливат, TieredMergePolicy, има нов метод (набор / getReclaimDeletesWeight) да контролира как агресивно тя е насочена към сегмента с делеции, и сега е по-агресивни, отколкото преди по подразбиране.
- PKIndexSplitter инструмент разделя индекс със срок средна точка.
Какво ново във версия 3.2.0:
- Нова група модул, под Lucene / вноска / групиране, дава възможност на резултатите от търсенето да бъдат групирани по единично-ценен индексирана област.
- Нов инструмент IndexUpgrader напълно превръща стар индекс на сегашния формат.
- Нов изпълнение Directory, NRTCachingDirectory, кешира малки сегменти в RAM, за да се намали I / O товар за приложения с бърз NRT възобнови цени.
- Нов изпълнение Collector, CachingCollector, е в състояние да събере попадения за търсене (IDs документи и евентуално също партитури) и след това да ги възпроизведете. Това е полезно за колекционерите, които изискват два или повече преминавания да дават резултати.
- Index документ блок, използвайки нови addDocuments или updateDocuments методи IndexWriter му. Тези експериментални APIs гарантират, че блокът на документи ще остане завинаги прилежащата в индекса, което позволява интересно бъдеще предлага като групиране и се присъединява.
- A нова политика по подразбиране се сливат, TieredMergePolicy, която е по-ефективна, поради възможността да се слеят не са съседни сегменти.
- NumericField сега се върна правилно когато заредите съхранен документ (преди това сте получили нормален Невярно обратно, с преобразува низ числова стойност).
Какво ново във версия 3.1.0:.
- ConstantScoreQuery сега позволява директно обвиване на Query
- IndexWriter сега е конфигуриран с нов отделен строител API, IndexWriterConfig. Сега можете да контролирате фиксирано преди лимит вътрешна резба IndexWriter е като се обадите на setMaxThreadStates.
- IndexWriter.getReader се заменя със IndexReader.open (IndexWriter). В допълнение вече можете да укажете дали изтривания трябва да бъде решен, когато отворите NRT четец.
- MultiSearcher е отхвърлена; ParallelMultiSearcher се абсорбира директно в IndexSearcher.
- На 64bit Windows и Solaris JVMs, MMapDirectory сега е изпълнението по подразбиране (върнати от FSDirectory.open). MMapDirectory също така дава възможност unmapping ако JVM го поддържа.
- New TotalHitCountCollector просто брои общият брой на попадения.
- ReaderFinishedListener API позволява външни кешове да изгони записи веднъж сегмент е завършен.
Какво ново във версия 3.0.1:.
- Премахване на ненужни синхронизация в FuzzyTermEnum
- Когато се разпознава изтрити отношение, да го направи в срок подредени за по-добра производителност.
- Не неправилно запази предупреждаващи за същия огромно план, когато IndexWriter.infoStream е включен.
- Fix Min / MaxPayloadFunction връща 0, когато само един полезен товар е налице.
- Заявки, състояща се от всички клаузи нулева тласък (например текст: Foo ^ 0) подредени неправилно и произведени невалидни docids .
- Премахнато защитената вътрешен клас ScoreTerm от FuzzyQuery. Е необходимо Промяната защото сравнителен на този клас е да се промени в несъвместим начин. Класът никога не е бил предназначен да бъде публична.
Какво се нови във версия 2.9.2:
- BooleanQuery се игнорира disableCoord в своята хеш-код и се равнява на методите , предизвика лоши неща да се случват, когато кеширане BooleanQueries.
- Не неправилно запази предупреждаващи за същия огромно план, когато IndexWriter.infoStream е включен.
- При високи цени за индексиране, NRT читател може временно да загубят заличавания.
Какво ново във версия 3.0.0:
- Премахнато имота система, за да зададете SegmentReader изпълнението клас.
- Смени типа връщане на SnapshotDeletionPolicy # моментна снимка () от IndexCommitPoint да IndexCommit. Код, който използва този метод трябва да се прекомпилирани срещу Lucene 3.0, за да работят. Предишният отхвърлена IndexCommitPoint също е отстранен.
- Осигурете удобство AttributeFactory който създава Token инстанция за всички основни качества.
- Премахване на рекурсия в NumericRangeTermEnum.
- Optimize Левенщайн Разстояние изчисление в FuzzyQuery.
Коментари не е намерена