Apache Lucene ist für jede Anwendung, die Unterstützung für die Volltextsuche benötigt, aber auch Serverressourcenverbrauch niederzuhalten und produziert schnelle und hochgenaue Ergebnisse.
Lucene ist weithin als eine der besten Suchmaschinen der Umgebung betrachtet wird, wobei der Kern der vielen anderen Suchmaschinen, die berühmteste Wesen Apache Solr .
Lucene ist vollständig in Java und da die von der Apache Foundation veröffentlicht geschrieben, hat es viele andere Sprachen portiert und verschiedenen Bindungen und Wrapper existieren als Fremd entwickelte Software.
Was ist neu in dieser Pressemitteilung:
- Alle Dateizugriff verwendet nun Java NIO.2 APIs, die Lucene in Bezug auf die bessere Fehlerbehandlung geben stärkere Index Sicherheit und sicherer Commits.
- speichert Jeder Lucene-Segment nun eine eindeutige Kennung per-Segment und pro verpflichten, in genaue Replikation von Index-Dateien zu unterstützen.
- Beim Zusammenführen Indexwriter überprüft nun immer die eingehenden Segmente wegen Korruption vor der Verschmelzung. Dies kann bedeuten, ein Upgrade auf 5.0.0, kann dieser Verschmelzung langjähriger latente Korruption in einem älteren 4.x Index aufzudecken.
Was ist neu in der Version 5.2.1 / 4.10.4 / 3.6.2:
- Alle Dateien Zugang nutzt nun Java NIO.2 APIs, die Lucene in Bezug auf die bessere Fehlerbehandlung und sicherer Commits geben stärkere Index Sicherheit.
- speichert Jeder Lucene-Segment nun eine eindeutige Kennung per-Segment und pro verpflichten, in genaue Replikation von Index-Dateien zu unterstützen.
- Beim Zusammenführen Indexwriter überprüft nun immer die eingehenden Segmente wegen Korruption vor der Verschmelzung. Dies kann bedeuten, ein Upgrade auf 5.0.0, kann dieser Verschmelzung langjähriger latente Korruption in einem älteren 4.x Index aufzudecken.
Was ist neu in der Version 5.1.0 / 4.10.4 / 3.6.2:
- Alle Dateien Zugang nutzt nun Java NIO.2 APIs, die Lucene in Bezug auf die bessere Fehlerbehandlung und sicherer Commits geben stärkere Index Sicherheit.
- speichert Jeder Lucene-Segment nun eine eindeutige Kennung per-Segment und pro verpflichten, in genaue Replikation von Index-Dateien zu unterstützen.
- Beim Zusammenführen Indexwriter überprüft nun immer die eingehenden Segmente wegen Korruption vor der Verschmelzung. Dies kann bedeuten, ein Upgrade auf 5.0.0, kann dieser Verschmelzung langjähriger latente Korruption in einem älteren 4.x Index aufzudecken.
Was ist neu in der Version 5.0.0 / 4.10.3 / 3.6.2:
- New Nutzungs .getMin / Max Methoden, um die niedrigsten und höchsten Begriffe pro Feld abgerufen werden.
- New IDVersionPostingsFormat, für ID-Lookups, die eine monoton steigende Version pro ID verknüpfen optimiert.
- Atomic Update aus einer Reihe von doc-Werte Felder aus.
- Zahlreiche Optimierungen für doc Werte Suchzeit-Performance.
- New (default) Lucene49NormsFormat besser zu komprimieren bestimmten Fällen, wie beispielsweise sehr kurzen Bereichen.
- New SORTED_NUMERIC docvalues Typ für die effiziente Bearbeitung von mehreren Werten numerische Felder.
- Indexer geht vorherigen Token Strom für einfachere Wiederverwendung.
- MoreLikeThis nimmt mehrere Werte pro Feld.
- Alle Klassen, die ihre RAM-Auslastung schätzen Umsetzung nun eine neue Accountable-Schnittstelle.
- Lucene-Dateien werden nun von (File) Output auf allen Plattformen geschrieben, komplett abgemeldet suche mit vereinfachten IO APIs.
- Erhöhen Sie die verwirrende Fehlermeldung, wenn MMapDirectory kann nicht eine neue Karte zu erstellen.
Was ist neu in der Version 4.8.0:
- Lucene hat ein neues Rescorer / QueryRescorer API durchführen zweiten Pass Neubewertung oder Reranking der Suchergebnisse mit Hilfe teurer Scoring-Funktionen nach dem First-Pass-Hit-Sammlung.
- AnalyzingInfixSuggester unterstützt jetzt nahezu in Echtzeit AutoSuggest.
- Vereinfachte schlag sortiert Buchungen (mit SortingMergePolicy und EarlyTerminatingCollector) zu Lucene ist eine Art Klasse verwenden, um die Sortierreihenfolge zum Ausdruck bringen.
- Bulk-Scoring und normale Iterator-basierten Scoring wurden getrennt, so dass einige Abfragen können Groß Scoring effektiver zu tun.
- Switched zu MurmurHash3 Auseinandersetzung während der Indizierung hash.
- Indexwriter unterstützt nun Aktualisierung der binäre doc Wertfelder.
- HunspellStemFilter verwendet nun 10 bis weniger RAM 100x. Es lädt auch alle bekannten Openoffice Wörter ohne Fehler.
- Lucene jetzt fsyncs auch das Verzeichnis Metadaten auf Commits, wenn das Betriebssystem und Dateisystem zulassen (Linux, Mac OS X bekannt sind, um zu arbeiten).
- Lucene verwendet nun Java 7 Dateisystemfunktionen unter der Haube, so Indexdateien können unter Windows gelöscht werden, auch wenn die Leser sind noch offen.
- Ein ernster Fehler in NativeFSLockFactory wurde behoben, die es erlauben könnte mehrere IndexWriters, um die gleiche Sperre erwerben. Die Lock-Datei wird nicht mehr vom Indexverzeichnis, auch wenn die Sperre nicht gehalten wird gelöscht.
Was ist neu in der Version 4.7.0:
- Bei der Sortierung nach String (SortField.STRING) Sie können nun festlegen, ob fehlende Werte sollten zuerst (Standardeinstellung) oder letzten sortiert werden.
- NRT Unterstützung für Dateisysteme, die nicht gelöscht werden am letzten der Nähe ist oder nicht, während referenziert Semantik zu löschen.
- Added LongBitSet für die Verwaltung von mehr als 2.1B Bits (anderweitig zu nutzen FixedBitSet).
- Added Analyzer für kurdische.
- Hinzugefügt Payload Unterstützung FileDictionary (Schlagen) und machen es konfigurierbar.
- Es wurde eine neue BlendedInfixSuggester, die wie AnalyzingInfixSuggester ist, sondern steigert die Vorschläge, die Token mit niedrigeren Positionen abgestimmt.
- Added SimpleQueryParser:. Parser für von Menschen eingegebene Abfragen
- Added multitermquery (Wildcards, Präfix, usw.), um PostingsHighlighter.
Was ist neu in der Version 4.6.0:
- Unterstützung für NumericDocValues Feld Updates (ohne Rück Indizieren des Dokuments) durch IndexWriter.updateNumericDocValue (Term, String, Long).
- New FreeTextSuggester kann das nächste Wort vorauszusagen mit einem einfachen ngram Sprachmodell nützlich für & quot; langen Schwanz & quot; Vorschläge.
- Ein neuer Ausdruck Modul erlaubt für individuelle Ranking mit Skript-ähnliche Syntax.
- Eine neue DirectDocValuesFormat können alle doc-Werte in Haufen als unkomprimierte Java Native Arrays zu halten.
- Term.hasFreqs können nun bestimmen, ob ein bestimmtes Feld pro-doc indexiert
- tige Frequenzen.
Was ist neu in der Version 4.5.0:
- New In-Memory-DocIdSet Implementierungen, die sind besonders besser als FixedBitSet auf kleinen Mengen:. WAH8DocIdSet, PFORDeltaDocIdSet und EliasFanoDocIdSet
- CachingWrapperFilter Caches nun Filter mit WAH8DocIdSet eingestellt, was die gleiche Speichernutzung FixedBitSet im schlimmsten Fall muss jedoch kleiner und schneller auf die kleinen Mengen.
- TokenStreams jetzt die Position Schritt in end () festgelegt, so können wir handHinterLöcher.
- Indexwriter nicht mehr klont die gegebene IndexWriterConfig.
- Verschiedene Bugfixes und Optimierungen seit dem Release 4.4.
Was ist neu in der Version 4.4.0:
- New Replicator Modul: replizieren Indexrevisionen zwischen Server und Client.
- New AnalyzingInfixSuggester:. findet Vorschläge anhand der Spiele auf alle Tokens in den Vorschlag, nicht nur auf reine Präfix Matching basiert
- New PatternCaptureGroupTokenFilter:. emittieren mehrere Token, eine für jeden Capture-Gruppe in einem oder mehreren Java reguläre Ausdrücke
- New Lucene Facet-Modul.
Was ist neu in der Version 4.3.0:
- New SearcherTaxonomyManager verwaltet nahezu in Echtzeit wieder geöffnet von sowohl Indexsearcher und TaxonomyReader (für Facettierung).
- , um die Facette Modul Hinzugefügt neue Facette Methode Facette zählt mit SortedSetDocValuesField, ohne eine separate Taxonomie-Index zu berechnen.
- signifikante Performance-Verbesserungen für minShouldMatch BooleanQuery durch Überspringen was bis zu 4000% schneller Abfragen.
- Verschiedene Bugfixes und Optimierungen seit dem Release 4.2.1.
Was ist neu in der Version 4.1.0:
- Lucene sucht nicht mehr beim Schreiben von Dateien (alle Felder werden in einer Append-only-Weg) geschrieben. Das bedeutet, es funktioniert standardmäßig mit append-only-Streams, HDFS, etc ..
- New vorschlagen Implementierungen: AnalyzingSuggester, in denen die zugrunde liegende Formular für Vorschläge verwendet (von Lucene-Analyzer berechnet) ist getrennt von dem zurück Text und FuzzySuggester, die zusätzlich ermöglicht eine ungenaue Übereinstimmungen auf der Eingangs .
- Near-Realtime-Unterstützung wurde auf der Facette Modul hinzugefügt.
- New Highlighter (postingshighlighter) hinzugefügt, um den Textmarker-Modul.
- Added FilterStrategy zu FilteredQuery für mehr Flexibilität in der gefilterten Abfrage-Ausführung.
- Added CommonTermsQuery zu beschleunigen Abfragen mit sehr hochfrequenten Begriffe. Tige Frequenzen effizient zum Zeitpunkt der Abfrage erfasst -. Keine Indexzeit Vorbereitung erforderlich
- Einige Bugfixes und Optimierungen seit dem Release 4.0.
Was ist neu in der Version 4.0-alpha:
- Die Indexformate für Begriffe, Postings Listen, gespeichert Felder, tige
- Vektoren usw. sind steckbar über den Codec api. Sie können aus den mitgelieferten Implementierungen wählen oder den Index-Format mit Ihrem eigenen Codec, um Ihre Bedürfnisse zu erfüllen.
- Deutlich schnellere Leistung bei Verwendung eines Filters während der Suche.
- Datei-System auf Basis Verzeichnissen kann der IO (MB / s) des Merge Themen-Limit zu bewerten, um IO Konkurrenz zwischen Verschmelzung und die Suche Themen zu reduzieren.
- FuzzyQuery ist 100-200 mal schneller als in früheren Versionen.
- Eine neue Rechtschreibprüfung, DirectSpellChecker, findet mögliche Korrekturen
- Sie direkt gegenüber dem Hauptsuchindex ohne einen separaten Index.
Was ist neu in der Version 3.6.0:
- Neben Java 5 und Java 6, diese Release wurde nun vollständige Java-7-Unterstützung (mindestens JDK 7U1 erforderlich).
- TypeTokenFilter Filter Token auf der Grundlage ihrer TypeAttribute.
- Feste Offset Fehler in einer Reihe von CharFilters, Tokenizer und TokenFilters, die Ausnahmen führen könnten, während Hervorhebung.
- Hinzugefügt Laut Geber: Metaphone, Soundex, Caverphone, Beider-Morse, usw. .
- CJKBigramFilter und CJKWidthFilter ersetzen CJKTokenizer.
- Kuromoji Morphologie-Analysator tokenizes japanischen Text und produziert sowohl zusammengesetzte Wörter und deren Segmentierung.
- Statische Index Beschneiden (Carmel Beschneiden) entfernt Buchungen mit niedriger im Dokument-Begriff Frequenz.
- Jetzt QueryParser interpretiert '*' als ein offenes Ende für Bereichsabfragen.
- FieldValueFilter schließt fehlt das angegebene Feld Dokumente.
- CheckIndex und IndexUpgrader können Sie die spezifischen FSDirectory Umsetzung mit dem neuen -dir-impl-Befehlszeilenoption verwendet werden soll.
- FSTs können jetzt tun Reverse-Lookup (durch Ausgabe) in bestimmten Fällen und kann verpackt, um ihre Größe zu reduzieren. Es gibt jetzt eine Methode, um Top-N kürzesten Wege von einem Startknoten in einem FST abgerufen werden.
- New WFSTCompletionLookup suggester unterstützt feinere körnig Ranking für Anregungen.
- FST basierend suggesters nun eine Offline (Disk-basierte) sortieren, statt der In-Memory-Art, als Vorsortierung die Vorschläge.
- ToChildBlockJoinQuery schließt sich in die entgegengesetzte Richtung (Eltern auf Kinderunterlagen).
- Neue Abfrage-Zeit Füge flexibler ist (aber weniger performant) als Index-Zeit verbindet.
- Added HTMLStripCharFilter in HTML-Markup zu berauben.
Was ist neu in der Version 3.5.0:
- Hinzugefügt ein sehr wesentlicher (3-5x) RAM Reduktion erforderlich, um die Begriffe Index auf Eröffnung eines IndexReader zu halten.
- Added IndexSearcher.searchAfter die Ergebnisse nach einer bestimmten ScoreDoc gibt (zB letzte Dokument auf der vorhergehenden Seite), um tief Paging Anwendungsfällen zu unterstützen.
- Added SearcherManager um die gemeinsame Nutzung und die Wiedereröffnung IndexSearchers über mehrere Such Threads zu verwalten. Zugrunde liegenden IndexReader Fällen sind sicher geschlossen, wenn nicht mehr referenziert werden.
- Added SearcherLifetimeManager, die sicher stellt eine konsistente Sicht auf den Index über mehrere Anfragen (zB Paging / Drilldown).
- Umbenannt IndexWriter.optimize zu Erzwingen zur Anwendung dieser Methode zu entmutigen, da es furchtbar teuer und kaum noch gerechtfertigt ist.
Was ist neu in Version 3.3.0:
- Die Rechtschreibkorrektur nun auch vorschlagen / Auto-Vervollständigung Funktionalität, mit drei Implementierungen:. Jaspell, Ternary Trie und Finite State
- Unterstützung für die Zusammenführung von Ergebnissen mehrerer Scherben, sowohl für & quot; normalen & quot; Suchergebnis (TopDocs.merge) sowie gruppierten Ergebnisse mit Hilfe der Gruppierungsmodul (SearchGroup.merge, TopGroups.merge).
- Eine optimierte Umsetzung KStem, einer weniger aggressiven stemmer für Englisch.
- Single Pass Gruppierung Umsetzung auf Basis von Block Indexierung von Dokumenten.
- Improvements to MMapDirectory (jetzt auch die Standardimplementierung von FSDirectory.open auf 64-Bit-Linux zurück).
- NRTManager vereinfacht das Handling nahezu Echtzeit-Suche mit mehreren Such Themen, so dass die Anwendung zu steuern, welche Indexänderungen sichtbar sein müssen, auf die Suchanfragen.
- TwoPhaseCommitTool erleichtert die Durchführung einer Multi-Ressourcen-Zwei-Phasen-Commit, einschließlich Indexwriter.
- Der Standardzusammenführungspolitik, TieredMergePolicy, hat eine neue Methode (set / getReclaimDeletesWeight) zu steuern, wie aggressiv sie Ziele Segmente mit Deletionen und ist nun aggressiver als vor dem standardmäßig aktiviert.
- PKIndexSplitter Werkzeug spaltet einen Index von einem mittleren Punkt tigen.
Was ist neu in der Version 3.2.0:
- Eine neue Gruppierung Modul unter Lucene / contrib / Gruppierung, können die Suchergebnisse, um durch einen einzelnen Wert indizierten Feld gruppiert werden.
- Eine neue IndexUpgrader Tool konvertiert voll einen alten Index in das aktuelle Format.
- ein neues Verzeichnis Implementierung NRTCachingDirectory, Caches kleinen Segmenten im RAM, um die I / O-Last für Anwendungen mit schnellen NRT öffnen Raten zu reduzieren.
- Eine neue Collector Implementierung CachingCollector, ist in der Lage, um Suchtreffer (Dokument-IDs und gegebenenfalls auch Noten) zu sammeln und dann spielen Sie sie. Dies ist nützlich für Sammler, die zwei oder mehr Durchgänge erforderlich, um Ergebnisse zu erzielen.
- Index ein Dokument Block mit der neuen Indexwriter addDocuments oder updateDocuments Methoden. Diese experimentellen APIs sorgen dafür, dass der Block der Dokumente wird für immer zusammenhängend bleiben im Index, so dass interessante zukünftige Features wie Gruppierung und schließt sich.
- Eine neue Standardzusammenführungspolitik, TieredMergePolicy, die effizienter, da auf sie in der Lage, nicht-zusammenhängende Segmente zusammenführen wird.
- NumericField wird jetzt korrekt zurückgegeben, wenn Sie eine gespeicherte Dokument zu laden (früher Sie einen normalen Feld wieder empfangen, mit dem numerischen Wert umgewandelt string).
Was ist neu in der Version 3.1.0:.
- ConstantScoreQuery erlaubt nun direkt Wickeln einer Abfrage
- Indexwriter ist nun mit einer neuen separaten Builder-API, IndexWriterConfig konfiguriert. Sie können nun die zuvor festgelegten Innengewinde Grenze Indexwriter zu steuern, indem Sie setMaxThreadStates.
- IndexWriter.getReader durch IndexReader.open (Indexwriter) ersetzt. Darüber hinaus können Sie nun festlegen, ob Löschungen sollte aufgelöst werden, wenn Sie eine NRT-Reader zu öffnen.
- MultiSearcher ist veraltet; ParallelMultiSearcher wurde direkt in die Indexsearcher absorbiert wird.
- Auf 64-Bit-Windows- und Solaris JVMs ist MMapDirectory nun der Default-Implementierung (durch FSDirectory.open zurückgegeben). MMapDirectory ermöglicht auch unmapping wenn die JVM unterstützt.
- New TotalHitCountCollector zählt nur Zugriffe.
- ReaderFinishedListener API können externe Caches, um Einträge zu vertreiben, sobald ein Segment beendet ist.
Was ist neu in Version 3.0.1:.
- Entfernen Sie nicht benötigte Synchronisation in FuzzyTermEnum
- Beim Auflösen gelöscht Begriffe, tun Sie dies in der Bezeichnung Sortierreihenfolge für eine bessere Leistung.
- Sie nicht falsch halten Warnung über die gleichen immense tigen, wenn IndexWriter.infoStream eingeschaltet ist.
- Fix Min / MaxPayloadFunction gibt 0 zurück, wenn nur eine Nutzlast vorhanden ist.
- Queries aus allen Null-Boost-Klauseln (zB Text: foo ^ 0) falsch sortiert und produzierte ungültige DocIDs .
- Entfernt die geschützte Innenklasse ScoreTerm von FuzzyQuery. Die Änderung wurde notwendig, weil der Komparator dieser Klasse hatte in einem inkompatiblen Weise verändert werden. Die Klasse war nie beabsichtigt öffentlich sein.
Was ist neu in der Version 2.9.2:
- BooleanQuery wurde disableCoord ignoriert in seiner hashCode und equals Methoden , verursachen schlechte Dinge passieren, wenn das Zwischenspeichern BooleanQueries.
- Sie nicht falsch halten Warnung über die gleichen immense tigen, wenn IndexWriter.infoStream eingeschaltet ist.
- Bei hohen Schaltgeschwindigkeiten, könnte NRT Leser verlieren vorübergehend Deletionen.
Was ist neu in der Version 3.0.0:
- Entfernt die Systemeigenschaft zu SegmentReader Klasse Durchführung festgelegt.
- Ändern Rückgabetyp SnapshotDeletionPolicy # Momentaufnahme () aus IndexCommitPoint zu IndexCommit. Code, der diese Methode verwendet muss gegen Lucene 3.0, um zu arbeiten neu kompiliert werden. Die zuvor veraltet IndexCommitPoint wird ebenfalls entfernt.
- Geben Sie eine Bequemlichkeit AttributeFactory, die einen Token-Instanz für alle grundlegenden Attribute erstellt.
- Rekursion entfernen in NumericRangeTermEnum.
- Optimize Levenshtein Entfernung Berechnung in FuzzyQuery.
Kommentare nicht gefunden