Apache Lucene sopii minkä tahansa sovelluksen, joka vaatii tukea koko tekstin haku, mutta myös pitää palvelimen resurssien kulutuksen alas ja tuottaa nopeasti ja korkean tarkkuuden tulokset.
Lucene pidetään laajalti yhtenä parhaista hakukoneet ympäri, on ytimessä monien muiden hakuvälineiden, joista kuuluisin on Apache Solr .
Lucene on kirjoitettu kokonaan Java ja koska vapautuu Apache Foundation, se on toteutettu monille monia muita kieliä ja erilaisia siteet ja kääreet olemassa kolmannen osapuolen kehittämä ohjelmisto.
Mikä on uusi tässä julkaisussa:
- Kaikki tiedostojen käytön nyt käyttää Javan NIO.2 API jotka antavat Lucene vahvempia indeksi turvallisuuden kannalta parempi virheiden käsittelyä ja turvallisempaa toimituksena.
- Joka Lucene segmentti nyt tallentaa yksilöllinen tunnus per-segmentti ja per-sitoutua auttamaan tarkka replikaatio hakemistotiedostojen.
- aikana yhdistäminen, IndexWriter nyt aina tarkistaa saapuvat segmentit korruption ennen sulautuvien. Tämä voi tarkoittaa, päivittämiseen ja 5.0.0, että yhdistäminen saattaa paljastaa pitkäaikainen piilevä korruptio vanhempi 4.x indeksi.
Mikä on uusi versio 5.2.1 / 4.10.4 / 3.6.2:
- Kaikki tiedosto pääsy nyt käyttää Javan NIO.2 API jotka antavat Lucene vahvempia indeksi turvallisuuden kannalta parempi virheiden käsittelyä ja turvallisempaa toimituksena.
- Joka Lucene segmentti nyt tallentaa yksilöllinen tunnus per-segmentti ja per-sitoutua auttamaan tarkka replikaatio hakemistotiedostojen.
- aikana yhdistäminen, IndexWriter nyt aina tarkistaa saapuvat segmentit korruption ennen sulautuvien. Tämä voi tarkoittaa, päivittämiseen ja 5.0.0, että yhdistäminen saattaa paljastaa pitkäaikainen piilevä korruptio vanhempi 4.x indeksi.
Mikä on uusi versio 5.1.0 / 4.10.4 / 3.6.2:
- Kaikki tiedosto pääsy nyt käyttää Javan NIO.2 API jotka antavat Lucene vahvempia indeksi turvallisuuden kannalta parempi virheiden käsittelyä ja turvallisempaa toimituksena.
- Joka Lucene segmentti nyt tallentaa yksilöllinen tunnus per-segmentti ja per-sitoutua auttamaan tarkka replikaatio hakemistotiedostojen.
- aikana yhdistäminen, IndexWriter nyt aina tarkistaa saapuvat segmentit korruption ennen sulautuvien. Tämä voi tarkoittaa, päivittämiseen ja 5.0.0, että yhdistäminen saattaa paljastaa pitkäaikainen piilevä korruptio vanhempi 4.x indeksi.
Mikä on uusi versio 5.0.0 / 4.10.3 / 3.6.2:
- Uusi Ehdot .getMin / Max keinoja hakea alin ja ylin ehdot näkökenttää kohti.
- Uusi IDVersionPostingsFormat, optimoitu tunnus haut joka liittää monotonisesti kasvava versio per ID.
- Atomic päivitys joukko asiak arvot aloilla.
- Lukuisat optimointeja doc arvojen hakuun ajan suorituskykyä.
- Uusi (oletus) Lucene49NormsFormat paremmin pakata tietyissä tapauksissa, kuten erittäin lyhyt kentät.
- Uusi SORTED_NUMERIC docvalues tyyppi käsittelyn tehostamiseksi moniarvoinen numeeriset kentät.
- Indexer kulkee edellinen merkki stream helpottaa uudelleen.
- MoreLikeThis hyväksyy useita arvoja näkökenttää kohti.
- Kaikki luokat, joissa arvioidaan niiden muistin käyttöä nyt käyttöön uuden vastuullisen käyttöliittymän.
- Lucene tiedostot nyt kirjoittanut (File) OutputStream kaikilla alustoilla, täysin hylännyt etsien yksinkertaistettuja IO API.
- Parantaa hämmentävä virheilmoituksen MMapDirectory voi luoda uuden kartan.
Mikä on uusi versiossa 4.8.0:
- Lucene on uusi Rescorer / QueryRescorer API suorittaa toisen pass rescoring tai reranking hakutulosten käyttää kalliimpia pisteytysfunktioita jälkeen ensikierron Hit Collection.
- AnalyzingInfixSuggester tukee nyt lähes reaaliaikaista autosuggest.
- Yksinkertaistettu vaikutus lajitella viestejä (käyttämällä SortingMergePolicy ja EarlyTerminatingCollector) käyttää Lucene n Järjestä luokan ilmaista lajittelujärjestyksen.
- Bulk pisteytys ja normaali iteraattori-pohjainen pisteytys erotettiin, joten jotkut kyselyt voi tehdä irtotavarana pisteytys paremmin.
- siirryit MurmurHash3 hash indeksoinnin aikana.
- IndexWriter tukee nyt ajantasaistaminen binary asiak arvokentät.
- HunspellStemFilter nyt käyttää 10 100x vähemmän muistia. Se myös lataa kaikki tunnetut OpenOffice sanakirjoja virheettömästi.
- Lucene nyt myös fsyncs hakemistossa metatiedot toimituksista, jos käyttöjärjestelmä ja tiedostojärjestelmä anna sen (Linux, MacOSX tiedetään toimivan).
- Lucene nyt käyttää Java 7 tiedostojärjestelmää toiminnot konepellin alle, joten indeksi tiedostot voidaan poistaa Windows, vaikka lukijat ovat vielä auki.
- vakava virhe NativeFSLockFactory on vahvistettu, mikä saattaa sallia useita IndexWriters hankkia sama lukko. Lukkotiedostoa ei enää poistetaan indeksi hakemistosta vaikka lukitus ei ole pidetty.
Mikä on uusi versiossa 4.7.0:
- Kun lajittelu String (SortField.STRING), voit nyt määrittää puuttuvia arvoja lajitellaan ensin (oletus), tai viimeinen.
- NRT tuki tiedostojen järjestelmiä, jotka eivät poista viime lähellä tai voi poistaa samalla viitattu semantiikkaa.
- Lisätty LongBitSet hallintaan yli 2.1b bittiä (muuten käyttää FixedBitSet).
- Lisätty Analyzer kurdi.
- Lisätty Kantavuus tuki FileDictionary (Ehdota) ja tehdä siitä konfiguroitavissa.
- Lisätty uusi BlendedInfixSuggester, joka on kuin AnalyzingInfixSuggester mutta lisää ehdotuksia, jotka täsmäsi rahakkeita alemmassa asemassa.
- Lisätty SimpleQueryParser: jäsennin ihmisen tullut kyselyitä.
- Lisätty multitermquery (yleismerkkejä, etuliite, jne) ja PostingsHighlighter.
Mikä on uusi versiossa 4.6.0:
- Lisätty tuki NumericDocValues kenttä päivityksiä (ilman uudelleen indeksointi asiakirja) kautta IndexWriter.updateNumericDocValue (Term, String, Long).
- Uusi FreeTextSuggester voi ennustaa seuraavan sanan käyttämällä yksinkertaista ngram kielimallia hyödyllinen & quot; pitkän hännän & quot; ehdotuksia.
- uusi ilme moduuli voidaan mukauttaa ranking käsikirjoituksen kaltainen syntaksi.
- uusi DirectDocValuesFormat mahtuu kaikki doc arvot kasaan kompressoimattomina java natiivi paneelit.
- Term.hasFreqs voi nyt määrittää, jos tietyllä alalla indeksoitu per-doc
- aikavälillä taajuuksia.
Mikä on uusi versiossa 4.5.0:
- Uusi-muisti DocIdSet toteutukset, jotka ovat erityisen paremmin kuin FixedBitSet pieniin sarjaa: WAH8DocIdSet, PFORDeltaDocIdSet ja EliasFanoDocIdSet.
- CachingWrapperFilter nyt välimuistiin suodattimia WAH8DocIdSet oletuksena, jolla on sama muistin käyttö kuin FixedBitSet pahimmassa tapauksessa, mutta on pienempi ja nopeampi pieniin sarjaa.
- TokenStreams nyt asetettu asentoinkrementin vuonna lopussa (), jotta voimme käsitellä perään reikiä.
- IndexWriter enää kloonit annetaan IndexWriterConfig.
- Various bugikorjauksia ja optimointeja koska 4.4 julkaisu.
Mikä on uusi versiossa 4.4.0:
- Uusi Replicator moduuli: jäljitellä indeksiä tarkistusten välillä palvelimen ja asiakas.
- Uusi AnalyzingInfixSuggester: etsii ehdotuksia, jotka perustuvat ottelunsa mihinkään rahakkeisiin ehdotus, ei vain perustuu puhtaaseen etuliite matching.
- Uusi PatternCaptureGroupTokenFilter: päästää useita merkkejä, yksi kutakin kaapata ryhmää yhdessä tai useammassa Java regexes.
- Uusi Lucene Facet moduuli.
Mikä on uusi versiossa 4.3.0:
- Uusi SearcherTaxonomyManager hallinnoi lähes reaaliaikainen avataan of sekä IndexSearcher ja TaxonomyReader (varten faceting).
- Lisätty uusi puoli tapa puoli moduuli laskea puoli laskee käyttäen SortedSetDocValuesField, ilman erillistä taksonomian indeksi.
- Merkittävät suorituskyvyn parannuksia minShouldMatch BooleanQuery vuoksi ohita saavuttamaan jopa 4000% nopeammin kyselyä.
- Various bugikorjauksia ja optimointeja koska 4.2.1 julkaisu.
Mikä on uusi versiossa 4.1.0:
- Lucene enää pyritään kirjoitettaessa tiedostoja (kaikki kentät kirjoitetaan append-ainoa tapa). Tämä tarkoittaa se toimii oletuksena append-vain purot, HDFS, jne ..
- Uusi ehdottaa toteutuksia: AnalyzingSuggester, jossa taustalla muodossa (lasketaan Lucene Analyzer) käytetään ehdotuksia on erillään palasi tekstin ja FuzzySuggester, joka lisäksi mahdollistaa epätäsmällisiä vastaavat tulon.
- Lähellä-reaaliaikainen tukea lisättiin puoli moduuli.
- Uusi Highlighter (postingshighlighter) lisätään korostustyökalu moduulin.
- Lisätty FilterStrategy jotta FilteredQuery joustavampia suodatetaan kyselyn toteuttamisen.
- Lisätty CommonTermsQuery nopeuttaa kyselyt erittäin hyvin usein termejä. Aikavälin taajuudet tehokkaasti havaitaan kyselyn aikana - ei indeksi aikaa valmisteluun tarvitaan.
- Useita bugikorjauksia ja optimointeja koska 4.0 julkaisu.
Mikä on uusi 4.0-alpha:
- indeksi muodot termejä, viestejä luetteloita, tallennettu kentät, termi
- vektoreina jne ovat kytkettävien kautta Codec api. Voit valita jos toteutuksista tai muokata hakemistomuodossa omalla Codec tarpeisiisi.
- oleellisesti nopeamman suorituskyvyn käytettäessä Filter aikana hakemisen.
- Tiedosto-järjestelmä, joka perustuu hakemistoja voivat arvostella-raja IO (Mt / s) ja yhdistämisen langat, vähentää IO väitteen välillä yhdistämällä ja etsimällä kierteet.
- FuzzyQuery on 100-200 kertaa nopeammin kuin viime releases.
- uusi oikeinkirjoituksen tarkistus, DirectSpellChecker, etsii mahdolliset korjaukset
- suoraan vasten tärkein hakuindeksin vaadittaisiin erillinen hakemisto.
Mikä on uusi versiossa 3.6.0:
- lisäksi Java 5 ja Java 6, tämä julkaisu on nyt täynnä Java 7 tuki (vähintään JDK 7u1 vaaditaan).
- TypeTokenFilter suodattimet rahakkeita perustuu niiden TypeAttribute.
- Kiinteät offset vikoja useissa CharFilters, Tokenizers ja TokenFilters joka voi johtaa poikkeuksiin korostaa.
- Lisätty foneettinen antureita: Metaphone, Soundex, Caverphone, Beider-Morse, jne.
- CJKBigramFilter ja CJKWidthFilter korvata CJKTokenizer.
- Kuromoji morfologisen analysaattorin tokenizes Japanin tekstiä, tuottavat sekä yhdiste sanoja ja niiden segmentointi.
- Staattinen indeksi karsinta (Carmel leikkaus) poistaa kirjaukset alhainen sisäinen asiakirja aikavälin taajuus.
- QueryParser tulkitsee nyt '*' avoimena päättyy valikoima kyselyitä.
- FieldValueFilter ulkopuolelle jäävät asiakirjat puuttuu varattuun kenttään.
- CheckIndex ja IndexUpgrader voit määrittää erityiset FSDirectory täytäntöönpanon käyttää uuden -dir-Toteuttaja komentoriviltä vaihtoehto.
- FSTs voi nyt tehdä käänteisen haun (tuotoksena) tietyissä tapauksissa ja voidaan pakata pienentää niiden kokoa. Nyt tapa hakea alkuun N lyhimpiä polkuja alusta solmun FST.
- Uusi WFSTCompletionLookup suggester tukee hienorakeisemmasta ranking ehdotuksia.
- FST perustuu suggesters nyt käyttää offline (levypohjaisen) Lajittele sijasta muistissa lajitella, kun esilajittelua ehdotuksia.
- ToChildBlockJoinQuery liittyy vastakkaiseen suuntaan (vanhempi alas lapsi asiakirjoja).
- Uusi kysely-aika liittymällä on joustavampi (mutta heikommin) kuin indeksi-aika liittyy.
- Lisätty HTMLStripCharFilter nauhat HTML markup.
Mikä on uusi versiossa 3.5.0:
- Lisätty erittäin merkittävä (3-5X) RAM vähennys vaaditaan pitämään ehdot indeksi avaamisesta IndexReader.
- Lisätty IndexSearcher.searchAfter joka palauttaa tulokset tietyn ScoreDoc (esim viimeinen asiakirja edellisellä sivulla) tukemaan syvä sivunvaihtoon käyttötapauksia.
- Lisätty SearcherManager hallita jakamista ja uudelleen IndexSearchers useiden haku kierteet. Taustalla IndexReader tapauksissa turvallisesti kiinni jos ei viitata enää.
- Lisätty SearcherLifetimeManager joka turvallisesti antaa yhtenäisen näkymä indeksin useiden pyyntöjen (esim sivunvaihtoon / yksityiskohtien tarkastelu).
- Renamed IndexWriter.optimize jotta forceMerge hillitä tämän menetelmän käyttö, koska se on hirvittävän kallista ja harvoin enää perusteltuja.
Mikä on uusi versiossa 3.3.0:
- oikoluku moduuli sisältää nyt ehdottaa / automaattinen täydennys toiminnallisuus, kolme toteutusten: Jaspell, Ternary Trie, ja Finite State.
- Tuki yhdistämällä tuloksia useista shards, sekä & quot; normaali & quot; hakutulokset (TopDocs.merge) sekä ryhmitelty tuloksia käyttämällä ryhmittelyä moduuli (SearchGroup.merge, TopGroups.merge).
- optimoitu täytäntöönpano KStem, vähemmän aggressiivinen Stemmer varten Englanti.
- Single-pass ryhmittymä perustuva täytäntöönpanon lohko asiakirja indeksointi.
- parannukset MMapDirectory (nyt myös oletus täytäntöönpanoa palauttama FSDirectory.open 64-bittinen Linux).
- NRTManager helpottaa käsittely lähes reaaliaikainen haku useita haku kierteet, jolloin sovelluksen hallita joka indeksointi muutoksia on pystyttävä joka hakupyynnöt.
- TwoPhaseCommitTool helpottaa suorittamalla moniresurssisessa kaksivaiheisen sitoutua, mukaan lukien IndexWriter.
- Oletuksena yhdistämisen politiikka, TieredMergePolicy, on uusi menetelmä (set / getReclaimDeletesWeight) valvoa, miten aggressiivisesti se suunnattu segmentit poistot, ja on nyt enemmän aggressiivinen kuin ennen oletusarvoisesti.
- PKIndexSplitter työkalu halkeaa indeksi puolivälissä aikavälillä.
Mikä on uusi versiossa 3.2.0:
- uusi ryhmittymä moduuli, alle Lucene / contrib / ryhmittely, mahdollistaa hakutulosten ryhmitellään yhden arvostettu indeksoitu alalla.
- uusi IndexUpgrader työkalu täysin muuntaa vanha indeksi nykyisessä muodossa.
- uusi hakemisto täytäntöönpanoa, NRTCachingDirectory, välimuistiin pieni segmenttien RAM, vähentää I / O-kuorman sovelluksiin nopeasti NRT uudelleen hinnat.
- uusi Collector täytäntöönpanoa, CachingCollector, pystyy keräämään hakua osumia (asiakirja tunnukset ja mahdollisesti myös tulokset) ja sitten kuunnella niitä. Tämä on hyödyllinen Keräilijät, jotka vaativat kaksi tai useamman ohituksen tuottaa tulosta.
- Index asiakirja lohkon avulla IndexWriter uutta addDocuments tai updateDocuments menetelmiä. Nämä kokeelliset API varmistaa, että lohko asiakirjojen pysyy ikuisesti vierekkäisiä indeksiin, joka mahdollistaa mielenkiintoista tulevaisuutta ominaisuuksista, kuten ryhmittely ja liittyy.
- uusi oletus yhdistämisen politiikan, TieredMergePolicy, joka on tehokkaampi, koska se voi yhdistää muita kuin peräkkäisiä segmenttejä.
- NumericField on nyt palautettu oikein, kun lataat tallennetun asiakirjan (aiemmin sait normaali Field takaisin, numeerinen arvo muunnetaan merkkijono).
Mikä on uusi versiossa 3.1.0:
- ConstantScoreQuery mahdollistaa nyt suoraan kääre kysely.
- IndexWriter on nyt määritetty uusi erillinen rakentaja API, IndexWriterConfig. Voit nyt hallita IndexWriter n aiemmin kiinteä sisäkierre raja soittamalla setMaxThreadStates.
- IndexWriter.getReader korvataan IndexReader.open (IndexWriter). Lisäksi voit nyt määrittää Poistaa pitäisi ratkaista, kun avaat NRT lukija.
- MultiSearcher on vanhentunut; ParallelMultiSearcher on imeytynyt suoraan IndexSearcher.
- 64bit Windows ja Solaris JVMs, MMapDirectory on nyt oletuksena täytäntöönpanoa (palauttama FSDirectory.open). MMapDirectory mahdollistaa myös sovituksenpoisto jos JVM tukee sitä.
- Uusi TotalHitCountCollector vain laskee kokonaismäärä osumia.
- ReaderFinishedListener API mahdollistaa ulkoisen kätköt häätää merkinnät kerran segmentti on valmis.
Mikä on uusi versiossa 3.0.1:
- Poista tarpeettomat synkronointi FuzzyTermEnum.
- Kun ratkaisemisessa poistettu ehdot, niin aikavälillä lajittelujärjestyksen parantaa suorituskykyä.
- Älä virheellisesti pidä varoitus sama valtava aikavälillä, jolloin IndexWriter.infoStream on.
- Korjaa Min / MaxPayloadFunction palauttaa 0, kun vain yksi hyötykuorma on läsnä.
- Kyselyt koostuvat kaikista nolla-boost lausekkeita (esimerkiksi teksti: foo ^ 0) lajitellaan virheellisesti ja tuotettu kelpaa docids.
- Poistettu suojattu sisempi luokka ScoreTerm päässä FuzzyQuery. Muutos oli tarpeen, koska komparaattorin tämän luokan oli muutettava vuonna yhteensopimaton tavalla. Luokka ei ole tarkoitettu julkisia.
Mitä uutta strong> versiossa 2.9.2:
- BooleanQuery oli sivuuttaa disableCoord sen hashCode ja vastaa menetelmien , aiheuttaa pahoja asioita tapahtuu, kun välimuistia BooleanQueries.
- Älä virheellisesti pidä varoitus sama valtava aikavälillä, jolloin IndexWriter.infoStream on.
- Suurilla indeksointi hinnat, NRT lukija voisi menettää tilapäisesti pois jättämättä.
Mikä on uusi versiossa 3.0.0:
- Poistettu järjestelmän ominaisuus asettaa SegmentReader luokan täytäntöönpanoa.
- Muuta paluu tyyppi SnapshotDeletionPolicy # snapshot () kohteesta IndexCommitPoint ja IndexCommit. Koodi käyttää tätä menetelmää on kääntää uudelleen vastaan Lucene 3.0 toimiakseen. Aiemmin hylätty IndexCommitPoint on myös poistettu.
- Anna mukavuutta AttributeFactory joka luo Token esimerkiksi kaikille perusominaisuudet.
- Poista rekursiolla NumericRangeTermEnum.
- Optimoi Levenshtein Välimatka laskennan FuzzyQuery.
Kommentteja ei löytynyt