Apache Lucene , tinka bet kokios paraiškos, kad reikia remti visą tekstą paieškos, o taip pat išlaikyti serverio išteklių vartojimą žemyn ir gaminti greitai ir aukšto tikslumo rezultatus.
Lucene yra plačiai laikomas vienu iš geriausių paieškos sistemų aplink, būdama daugelio kitų paieškos įrankius šerdis, garsiausių būtybė Apache Solr .
Lucene parašyta visiškai Java ir nuo išleidžiant Apache fondo, jis buvo perkeltas į daugelį kitų kalbų, ir egzistuoja įvairios jungtys ir vyniojimo kaip trečiosios šalies sukurta programinė įranga.
Kas naujo , šioje laidoje:
- Visi failo prieigos dabar naudoja Java NIO.2 API kurie suteikia Lucene stipresnį indekso saugumą požiūriu geriau apdorojimo klaidų ir saugesnių commits.
- Kiekvienas Lucene segmentas dabar saugo unikalus ID už segmente ir už įsipareigoti pagalba tiksliai replikacijos rodyklės failus.
- Per sujungti, IndexWriter dabar visada tikrina gaunamus segmentus korupcijos prieš sujungiant. Tai gali reikšti, ant atnaujinti į 5.0.0, tai sujungimas gali atskleisti seniai užslėptą korupciją vyresnio 4.x indeksą.
Kas naujo versiją 5.2.1 / 4.10.4 / 3.6.2:
- Visi failą prieigos dabar naudoja Java NIO.2 API, kuri suteikia Lucene stipresnį indekso saugumą požiūriu geriau apdorojimo klaidų ir saugiau įsipareigoja.
- Kiekvienas Lucene segmentas dabar saugo unikalus ID už segmente ir už įsipareigoti pagalba tiksliai replikacijos rodyklės failus.
- Per sujungti, IndexWriter dabar visada tikrina gaunamus segmentus korupcijos prieš sujungiant. Tai gali reikšti, ant atnaujinti į 5.0.0, tai sujungimas gali atskleisti seniai užslėptą korupciją vyresnio 4.x indeksą.
Kas naujo versiją 5.1.0 / 4.10.4 / 3.6.2:
- Visi failą prieigos dabar naudoja Java NIO.2 API, kuri suteikia Lucene stipresnį indekso saugumą požiūriu geriau apdorojimo klaidų ir saugiau įsipareigoja.
- Kiekvienas Lucene segmentas dabar saugo unikalus ID už segmente ir už įsipareigoti pagalba tiksliai replikacijos rodyklės failus.
- Per sujungti, IndexWriter dabar visada tikrina gaunamus segmentus korupcijos prieš sujungiant. Tai gali reikšti, ant atnaujinti į 5.0.0, tai sujungimas gali atskleisti seniai užslėptą korupciją vyresnio 4.x indeksą.
Kas naujo versiją 5.0.0 / 4.10.3 / 3.6.2:
- Nauja sąlygos .getMin / MAX metodai gauti aukščiausią ir žemiausią sąlygas vienam srityje.
- Nauja IDVersionPostingsFormat, optimizuotas ID paieška ", kad susieti monotoniškai didėja versiją vienam ID.
- atominės atnaujinimas iš dok nustatytąsias vertes laukus.
- Daugybė optimizavimo DOC vertes paieška laikotarpio rezultatų.
- Naujas (numatytasis) Lucene49NormsFormat geriau suspausti tam tikrus atvejus, pvz labai trumpų srityse.
- NEW SORTED_NUMERIC docvalues tipas daugiabučių vertinami skaitinių laukų veiksmingai tvarkyti.
- Indexer eina ankstesnę simbolinį srautą, kad būtų lengviau pakartotinai.
- MoreLikeThis priima keletą reikšmių vienam srityje.
- Visos klasės, kad įvertis savo RAM naudojimas dabar įgyvendinti naują atskaitinga sąsaja.
- Lucene failai dabar parašyta (File) OutputStream visose platformose, visiškai neleidžiant Ieškau supaprastintos IO API.
- Gerinti paini klaidos pranešimą, kai MMapDirectory negalite kurti naują žemėlapį.
Kas naujo versijos 4.8.0:
- Lucene turi naują Rescorer / QueryRescorer API atlikti antra perdavimas rescoring arba reranking paieškos rezultatų naudojant brangesnius balais funkcijas po pirmojo prasiskverbimo Hit kolekciją.
- AnalyzingInfixSuggester dabar palaiko beveik realiuoju laiku autosuggest.
- Supaprastinti poveikio surūšiuoti darbai (naudojant SortingMergePolicy ir EarlyTerminatingCollector) naudoti Lucene tarsi klasę išreikšti rūšiavimo tvarką.
- Didmeninis taškų ir normalu iteratorius pagrindu atsakomają buvo atskirtos, todėl kai kurie užklausos gali efektyviau daryti urmu balais.
- Jungiamas MurmurHash3 maišos sąlygas indeksavimo metu.
- IndexWriter dabar palaiko atnaujinimą dvejetainiai dok vertės srityse.
- HunspellStemFilter dabar naudoja 10 100x mažiau RAM. Ji taip pat įkelia visas žinomas OpenOffice žodynai be klaidų.
- Lucene dabar fsyncs katalogo metaduomenys įsipareigoja, jei operacinė sistema ir failų sistema leidžia ją (Linux, MacOSX yra žinoma, kad dirbti).
- Lucene dabar naudoja "Java 7 failų sistemos funkcijas po gaubtu, todėl bylos indeksas gali būti išbrauktas Windows, net tada, kai skaitytojai vis dar atvira.
- rimtas klaidą į NativeFSLockFactory buvo nustatyta, kuris gali leisti daug IndexWriters įsigyti tą patį užraktą. Spyna failas nebėra išbrauktas iš indekso kataloge net tada, kai užraktas nesuteikta.
Kas naujo versijos 4.7.0:
- Kai rūšiavimas pagal eilutę (SortField.STRING) dabar galite nurodyti, ar trūkstamas reikšmes, turi būti rūšiuojami pirmasis (numatytasis) arba paskutinis.
- NRT parama failų sistemas, kurios neturi trinti paskutinio arti arba negalite trinti, o nuorodose semantika.
- patalpintas LongBitSet valdyti daugiau nei 2.1b bitai (kitaip naudoti FixedBitSet).
- patalpintas Analyzer Kurdų.
- Pridėta Keliamoji parama FileDictionary (Siūlykite) ir padaryti jį labiau konfigūruojama.
- pridėjo naują BlendedInfixSuggester, kuris yra tarsi AnalyzingInfixSuggester bet didinamas pasiūlymus, kad atitiko žetonų su mažesnėmis pozicijas.
- patalpintas SimpleQueryParser:. analizatorius žmogaus įrašytas užklausų
- patalpintas multitermquery (pakaitos, priešdėlis, ir tt), kad PostingsHighlighter.
Kas naujo versijos 4.6.0:
- Pridėta parama NumericDocValues lauko atnaujinimus (be naujo indeksuojant dokumentas) per IndexWriter.updateNumericDocValue (terminas, styginių, Rimta).
- Nauja FreeTextSuggester gali numatyti kitą žodį naudojant paprastą ngram kalbos modelį, naudingą & quot; ilgą uodegą & quot; pasiūlymus.
- Naujas išraiška modulis leidžia individualų reitingą su scenarijų kaip sintaksė.
- Naujas DirectDocValuesFormat gali turėti visus dok vertybes krūvos kaip nesuspaustų Java gimtoji matricos.
- Term.hasFreqs dabar gali nustatyti, ar tam tikroje srityje indeksuojami už dok
- laikotarpio dažniai.
Kas naujo versiją 4.5.0 versijos:
- naujas atminties DocIdSet diegimas, kuris yra ypač geriau nei FixedBitSet mažosioms rinkinių. WAH8DocIdSet, PFORDeltaDocIdSet ir EliasFanoDocIdSet
- CachingWrapperFilter dabar išsaugo filtrai su WAH8DocIdSet pagal nutylėjimą, kuri turi tą patį atminties kaip FixedBitSet blogiausiu atveju, bet yra mažesnis ir greitesnis dėl mažųjų rinkinių.
- TokenStreams dabar nustatyti pozicijos prieaugį pabaigoje (), todėl mes galime gale skyles.
- IndexWriter nebėra klonai duotas IndexWriterConfig.
- Įvairūs taisymo ir optimizavimas nuo 4.4 išleidimo.
Kas naujo versijos 4.4.0:
- Nauja replikatora modulis: atkartoti indekso pakeitimus tarp serverio ir klientas.
- Nauja AnalyzingInfixSuggester:. nustato pasiūlymus, pagrįstus rungtynes į bet kurį pasiūlymą žetonų, o ne tik remiantis gryno prefiksas atitikimo
- Nauja PatternCaptureGroupTokenFilter:. skleidžia daug žetonų, po vieną kiekvienai surinkimo grupės vienos ar daugiau Java įpraiškas
- Nauja Lucene Aspektas modulis.
Kas naujo versijos 4.3.0:
- Nauja SearcherTaxonomyManager valdo beveik realiu laiku reopens nuo tiek IndexSearcher ir TaxonomyReader (už faceting).
- pridėjo naują Aspektas metodą į Aspektas modulio apskaičiuoti aspektą skaičiuoja naudojant SortedSetDocValuesField be atskiro taksonomijos indeksą.
- Svarbūs veiklos patobulinimai minShouldMatch BooleanQuery dėl praleidžiant todėl iki 4000% greičiau užklausomis.
- Įvairūs taisymo ir optimizavimas tendencijos nuo 4.2.1 išleidimo.
Kas naujo versijos 4.1.0:
- Lucene nebėra siekia rašant failus (visi laukai rašomi vienintelis append-būdu). Tai reiškia, ji veikia pagal nutylėjimą su Papildyti tik upelių, hdfs, ir tt ..
- Nauja rodo diegimo: AnalyzingSuggester, kai pagrindinis formą (skaičiuojamas nuo Lucene Analyzer), naudojamas pasiūlymų yra atskirtas nuo grąžinto teksto ir FuzzySuggester, kuri papildomai leidžia netikslios atitikimo įvesties .
- Netoli Realtime parama buvo įtraukta į Aspektas modulį.
- Nauja Žymeklis (postingshighlighter) pridedama prie paryškinimo modulį.
- patalpintas FilterStrategy į FilteredQuery lanksčiau filtruoto užklausos vykdymo.
- patalpintas CommonTermsQuery pagreitinti užklausas su labai labai dažnai sąlygomis. Terminuoti dažniai efektyviai aptikti užklausos metu -. Jokio indekso laiką paruošimas reikiamą
- Keletas taisymo ir optimizavimas tendencijos nuo 4.0 išleidimo.
Kas naujo 4.0 versija alfa:
- Indekso formatai požiūriu, darbai sąrašus, saugomi laukai, terminas "
- vektoriai, ir tt yra užmaunamas per Codec API. Galite pasirinkti vieną iš pateiktų realizacijos arba pritaikyti indekso formatą su savo Codec, kad atitiktų jūsų poreikius.
- Žymiai greitesnis veikimas, naudojant filtrą per paiešką.
- Failų sistema, pagrįsta katalogai gali vertinti ribą IO (MB / s) apie suliejimo temas, siekiant sumažinti IO nesutarimų tarp sujungimo ir ieškoti temas.
- FuzzyQuery yra 100-200 kartų greičiau nei per pastaruosius spaudai.
- Naujas rašybos tikrintuvas, DirectSpellChecker, randa galimus pataisymus
- tiesiai prieš pagrindinio paieškos rodyklę, nereikalaujant atskiro indeksą.
Kas naujo versijos 3.6.0:
- Be Java 5 ir Java 6, šios Išleidimo jau pilnas "Java 7 parama (minimalus JDK 7u1 reikia).
- TypeTokenFilter filtrai žetonų remiantis jų TypeAttribute.
- Fiksuoti ofsetinės klaidas daugelyje CharFilters, Tokenizers ir TokenFilters, kad galėtų lemti išimčių metu pabrėžiant.
- Pridėta fonetiniai enkoderiai: metafonas, soundex, Caverphone, Beider-Morse, ir tt .
- CJKBigramFilter ir CJKWidthFilter pakeisti CJKTokenizer.
- Kuromoji morfologinis analizatorius tokenizes japonų tekstą, gaminanti tiek sudėtinius žodžius ir jų segmentavimas.
- Statinis puslapis genėjimas (Karmelio genėjimas) pašalina darbai su mažo viduje-dokumento trukmės dažniu.
- QueryParser dabar interpretuoja "*" kaip atvirą pabaigos nuotolio užklausomis.
- FieldValueFilter neapima dokumentus trūkstamas nurodytą sritį.
- CheckIndex ir IndexUpgrader leidžia jums nurodyti konkrečią FSDirectory įgyvendinimą naudoti su nauju -dir-IMPL komandų eilutės parinktis.
- FSTS dabar gali padaryti atvirkštinio lookup (pagal produkcijos) Tam tikrais atvejais ir gali būti supakuota sumažinti jų dydį. Dabar yra būdas gauti geriausius N trumpiausius kelius nuo pradžios mazgas į FST.
- Nauja WFSTCompletionLookup suggester palaiko prabangiau-šlifuotas reitingą pasiūlymus.
- FST pagrįstos suggesters dabar naudoti offline (disko pagrindu) Rūšiuoti vietoj in-atminties rūšiuoti, kai iš anksto rūšiavimo pasiūlymus.
- ToChildBlockJoinQuery prisijungia priešinga kryptimi (tėvų iki vaiko dokumentus).
- Nauja užklausa kartą prisijungdamas yra lankstesnis (bet ne toks veiksmingas), nei indeksą laiko prisijungia.
- patalpintas HTMLStripCharFilter juostelės HTML žymėjimo.
Kas naujo versijos 3.5.0:
- Pridėta labai didelė (3-5X) RAM sumažinimas privalo turėti terminus indeksą atidarymo IndexReader.
- patalpintas IndexSearcher.searchAfter kuri grąžina rezultatus po tam tikro ScoreDoc (pvz paskutinis dokumentas dėl ankstesniame puslapyje) remti gilias ieškai naudojimo atvejus.
- patalpintas SearcherManager valdyti dalijimąsi ir atnaujinimo IndexSearchers keliose paieškos siūlų. Esminiai IndexReader atvejų yra saugiai uždaryti, jei ne nuorodos nebėra.
- patalpintas SearcherLifetimeManager kuri saugiai suteikia nuoseklų požiūrį į įvairiausiose prašymus indeksą (pvz ieškos / Išplėsti).
- Pervadinta IndexWriter.optimize į forceMerge neskatinti naudoti šį metodą, nes ji yra siaubingai brangus ir retai pateisina nebėra.
Kas naujo versijos 3.3.0:
- Korektorius modulis dabar apima rodo / automatinis užpildymas funkcionalumas, su trimis diegimas. Jaspell, trigubi TRIE ir baigtinių valstybinių
- Parama sujungti rezultatus iš kelių šukių, tiek & quot; normalus & quot; Paieškos rezultatai (TopDocs.merge), taip pat sugrupuoti rezultatus, gautus naudojant grupavimo modulis (SearchGroup.merge, TopGroups.merge).
- Optimizuotas įgyvendinimas KStem, mažiau agresyvus STEMMER anglų kalbos.
- Vieno perdavimas grupavimo įgyvendinimą remiantis blokas dokumentų indeksavimo.
- patobulinimai MMapDirectory (dabar taip pat numatytasis įgyvendinimas grąžinti FSDirectory.open ant 64 bitų Linux).
- NRTManager Palengvina beveik realiu laiku paieškos su keliais paieškos siūlais, todėl prašymas kontroliuoti kuris indeksavimo pakeitimai turi būti matomi, kuris paieškos užklausas.
- TwoPhaseCommitTool palengvina atlikti multi-išteklių dviejų etapų įsipareigoti, įskaitant IndexWriter.
- Numatytasis suliejimo politika, TieredMergePolicy, turi naują metodą (rinkinys / getReclaimDeletesWeight) kontroliuoti, kaip agresyviai ji skirta segmentus su trynimų ir dabar yra labiau agresyvus nei anksčiau pagal nutylėjimą.
- PKIndexSplitter priemonė skyla indeksą pagal vidurio taškas laikotarpiu.
Kas naujo versijos 3.2.0:
- Nauja grupė modulis, pagal Lucene / contrib / grupavimas, suteikia galimybę Paieškos rezultatai turi būti sugrupuoti pagal vieną vertinamos indeksuota srityje.
- Naujas IndexUpgrader priemonė visiškai konvertuoja seną indeksą į dabartinę formatu.
- Naujas katalogas įgyvendinimas, NRTCachingDirectory, išsaugo mažus segmentus RAM, siekiant sumažinti I / O apkrova teikti paraiškas greitai NRT naujo kainos.
- Naujas kolektorius įgyvendinimas, CachingCollector, gali rinkti paieškos hitai (dokumento ID ir pasirinktinai taip pat balai), o tada pakartoti juos. Tai naudinga Kolekcionavimo kad reikia dviejų ar daugiau eina duoti rezultatų.
- Rodyklė dokumentas blokas naudojant IndexWriter anketa naujų addDocuments ar updateDocuments metodus. Šie eksperimentiniai API užtikrinti, kad dokumentų blokas bus amžinai ribotis indekse, leidžianti įdomi ateitis yra kaip grupuoti ir prisijungia.
- Nauja numatytoji suliejimo politika, TieredMergePolicy, kuris yra efektyvesnis, nes galėtų sujungti ne gretimus segmentus.
- NumericField dabar grįžo teisingai, kai jūs įkelti išsaugotą dokumentą (anksčiau gavote normaliomis lauko atgal, su skaitinė vertė paverčiama string).
Kas naujo versijos 3.1.0.
- ConstantScoreQuery dabar leidžia tiesiogiai vyniojimo QUERY
- IndexWriter dabar sukonfigūruotas su nauja atskira statybininkas API IndexWriterConfig. Dabar galite kontroliuoti IndexWriter anketa anksčiau nustatytąjį vidinis sriegis ribą paskambinę setMaxThreadStates.
- IndexWriter.getReader pakeičiamas IndexReader.open (IndexWriter). Be to, dabar galite nurodyti, ar ištrina turėtų būti išspręsta, kai atidarote NRT skaitytuvą.
- MultiSearcher yra pasmerkta; ParallelMultiSearcher buvo absorbuojamas tiesiai į IndexSearcher.
- 64bit Windows "ir" Solaris JVMs, MMapDirectory dabar numatytasis įgyvendinimas (grąžino FSDirectory.open). MMapDirectory taip pat leidžia unmapping jei JVM jį palaiko.
- Nauja TotalHitCountCollector tik skaičiuoja Viso paspaudimų.
- ReaderFinishedListener API leidžia išorės talpyklos iškeldinti įrašus kartą per segmentas yra baigtas.
Kas naujo versijos 3.0.1.
- Pašalinti nereikalingus sinchronizavimą FuzzyTermEnum
- Kai sprendžiant ištrintus sąlygas, daryti trukmės rūšiavimo tvarka geresnių rezultatų.
- Negalima neteisingai išlaikyti įspėjimas apie tą patį didžiulį laikotarpiu, kai IndexWriter.infoStream yra įjungtas.
- Nustatyti Min / MaxPayloadFunction grįžta 0, kai tik vienas naudingoji apkrova yra.
- Užklausos sudaro visi nulinės padidinti išlygų (pavyzdžiui, teksto: foo ^ 0) rūšiuojami neteisingai ir pagamintas neleistinų docids .
- Pašalinta saugomas vidinis klasės ScoreTerm iš FuzzyQuery. Reikėjo Kaita, nes šios klasės komparatorius turėjo būti pakeistas nesuderinamu būdu. Klasė niekada nebuvo skirtas būti vieša.
Kas naujo versijos 2.9.2:
- BooleanQuery ignoruodamas disableCoord savo hashCode ir lygus metodus , sukelti blogų dalykų atsitikti, kai spartinimo BooleanQueries.
- Negalima neteisingai išlaikyti įspėjimas apie tą patį didžiulį laikotarpiu, kai IndexWriter.infoStream yra įjungtas.
- Esant aukštai indeksavimo normas, NRT skaitytojas gali laikinai prarasti delecijos.
Kas naujo 3.0.0 versija:
- Pašalinta sistemos turtą nustatyti SegmentReader klasės įgyvendinimą.
- Pakeisti grąža tipo SnapshotDeletionPolicy # fotografiją () iš IndexCommitPoint į IndexCommit. Kodeksą, kuris naudoja šį metodą turi būti perkompiliavote prieš Lucene 3.0 norint dirbti. Anksčiau atgyvenę IndexCommitPoint taip pat pašalinama.
- Pateikite savitarnos AttributeFactory, kuri sukuria simbolinis instancija visų pagrindinių atributų.
- Pašalinti rekursija į NumericRangeTermEnum.
- Optimizuoti Levenshtein Atstumas skaičiavimą FuzzyQuery.
Komentarai nerastas