Lucene Change Log
For more information on past and future Lucene versions, please see:
http://s.apache.org/luceneversions
======================= Lucene 4.10.3 ======================
Bug fixes
* LUCENE-6046: Add maxDeterminizedStates safety to determinize (which has
an exponential worst case) so that if it would create too many states, it
now throws an exception instead of exhausting CPU/RAM. (Nik
Everett via Mike McCandless)
* LUCENE-6054: Allow repeating the empty automaton (Nik Everett via
Mike McCandless)
* LUCENE-6049: Don't throw cryptic exception writing a segment when
the only docs in it had fields that hit non-aborting exceptions
during indexing but also had doc values. (Mike McCandless)
* LUCENE-6060: Deprecate IndexWriter.unlock (Simon Willnauer, Mike
McCandless)
* LUCENE-3229: Overlapping ordered SpanNearQuery spans should not match.
(Ludovic Boutros, Paul Elschot, Greg Dearing, ehatcher)
* LUCENE-6004: Don't highlight the LookupResult.key returned from
AnalyzingInfixSuggester (Christian Reuschling, jane chang via Mike McCandless)
* LUCENE-6075: Don't overflow int in SimpleRateLimiter (Boaz Leskes
via Mike McCandless)
* LUCENE-5980: Don't let document length overflow. (Robert Muir)
* LUCENE-6042: CustomScoreQuery explain was incorrect in some cases,
such as when nested inside a boolean query. (Denis Lantsman via Robert Muir)
* LUCENE-5948: RateLimiter now fully inits itself on init. (Varun
Thacker via Mike McCandless)
* LUCENE-6055: PayloadAttribute.clone() now does a deep clone of the underlying
bytes. (Shai Erera)
* LUCENE-6094: Allow IW.rollback to stop ConcurrentMergeScheduler even
when it's stalling because there are too many merges. (Mike McCandless)
Documentation
* LUCENE-6057: Improve Sort(SortField) docs (Martin Braun via Mike McCandless)
======================= Lucene 4.10.2 ======================
Bug fixes
* LUCENE-5977: Fix tokenstream safety checks in IndexWriter to properly
work across multi-valued fields. Previously some cases across multi-valued
fields would happily create a corrupt index. (Dawid Weiss, Robert Muir)
* LUCENE-6019: Detect when DocValuesType illegally changes for the
same field name. Also added -Dtests.asserts=true|false so we can
run tests with and without assertions. (Simon Willnauer, Robert
Muir, Mike McCandless).
======================= Lucene 4.10.1 ======================
Bug fixes
* LUCENE-5934: Fix backwards compatibility for 4.0 indexes.
(Ian Lea, Uwe Schindler, Robert Muir, Ryan Ernst)
* LUCENE-5939: Regenerate old backcompat indexes to ensure they were built with
the exact release
(Ryan Ernst, Uwe Schindler)
* LUCENE-5952: Improve error messages when version cannot be parsed;
don't check for too old or too new major version (it's too low level
to enforce here); use simple string tokenizer. (Ryan Ernst, Uwe Schindler,
Robert Muir, Mike McCandless)
* LUCENE-5958: Don't let exceptions during checkpoint corrupt the index.
Refactor existing OOM handling too, so you don't need to handle OOM special
for every IndexWriter method: instead such disasters will cause IW to close itself
defensively. (Robert Muir, Mike McCandless)
* LUCENE-5904: Fixed a corruption case that can happen when 1)
IndexWriter is uncleanly shut-down (OS crash, power loss, etc.), 2)
on startup, when a new IndexWriter is created, a virus checker is
holding some of the previously written but unused files open and
preventing deletion, 3) IndexWriter writes these files again during
the course of indexing, then the files can later be deleted, causing
corruption. This case was detected by adding evilness to
MockDirectoryWrapper to have it simulate a virus checker holding a
file open and preventing deletion (Robert Muir, Mike McCandless)
* LUCENE-5916: Static scope test components should be consistent between
tests (and test iterations). Fix for FaultyIndexInput in particular.
(Dawid Weiss)
* LUCENE-5975: Fix reading of 3.0-3.3 indexes, where bugs in these old
index formats would result in CorruptIndexException "did not read all
bytes from file" when reading the deleted docs file. (Patrick Mi, Robert MUir)
Tests
* LUCENE-5936: Add backcompat checks to verify what is tested matches known versions
(Ryan Ernst)
======================= Lucene 4.10.0 ======================
New Features
* LUCENE-5778: Support hunspell morphological description fields/aliases.
(Robert Muir)
* LUCENE-5801: Added (back) OrdinalMappingAtomicReader for merging search
indexes that contain category ordinals from separate taxonomy indexes.
(Nicola Buso via Shai Erera)
* LUCENE-4175, LUCENE-5714, LUCENE-5779: Index and search rectangles with spatial
BBoxSpatialStrategy using most predicates. Sort documents by relative overlap
of query areas or just by indexed shape area. (Ryan McKinley, David Smiley)
* LUCENE-5806: Extend expressions grammar to support array access in variables.
Added helper class VariableContext to parse complex variable into pieces.
(Ryan Ernst)
* LUCENE-5826: Support proper hunspell case handling, LANG, KEEPCASE, NEEDAFFIX,
and ONLYINCOMPOUND flags. (Robert Muir)
* LUCENE-5815: Add TermAutomatonQuery, a proximity query allowing you
to create an arbitrary automaton, using terms on the transitions,
expressing which sequence of sequential terms (including a special
"any" term) are allowed. This is a generalization of
MultiPhraseQuery and span queries, and enables "correct" (including
position) length search-time graph synonyms. (Mike McCandless)
* LUCENE-5819: Add OrdsLucene41 block tree terms dict and postings
format, to include term ordinals in the index so the optional
TermsEnum.ord() and TermsEnum.seekExact(long ord) APIs work. (Mike
McCandless)
* LUCENE-5835: TermValComparator can sort missing values last. (Adrien Grand)
* LUCENE-5825: Benchmark module can use custom postings format, e.g.:
codec.postingsFormat=Memory (Varun Shenoy, David Smiley)
* LUCENE-5842: When opening large files (where its to expensive to compare
checksum against all the bytes), retrieve checksum to validate structure
of footer, this can detect some forms of corruption such as truncation.
(Robert Muir)
* LUCENE-5739: Added DataInput.readZ(Int|Long) and DataOutput.writeZ(Int|Long)
to read and write small signed integers. (Adrien Grand)
API Changes
* LUCENE-5752: Simplified Automaton API to be immutable. (Mike McCandless)
* LUCENE-5793: Add equals/hashCode to FieldType. (Shay Banon, Robert Muir)
* LUCENE-5692: DisjointSpatialFilter is deprecated (used by RecursivePrefixTreeStrategy)
(David Smiley)
* LUCENE-5771: SpatialOperation's predicate names are now aliased to OGC standard names.
Thus you can use: Disjoint, Equals, Intersects, Overlaps, Within, Contains, Covers,
CoveredBy. The area requirement on the predicates was removed, and Overlaps' definition
was fixed. (David Smiley)
* LUCENE-5850: Made Version handling more robust and extensible. Deprecated
Constants.LUCENE_MAIN_VERSION, Constants.LUCENE_VERSION and current Version
constants of the form LUCENE_X_Y. Added version constants that include bugfix
number of form LUCENE_X_Y_Z. Changed Version.LUCENE_CURRENT to Version.LATEST.
CheckIndex now prints the Lucene version used to write each segment.
(Ryan Ernst, Uwe Schindler, Robert Muir, Mike McCandless)
* LUCENE-5836: BytesRef has been splitted into BytesRef, whose intended usage is
to be just a reference to a section of a larger byte[] and BytesRefBuilder
which is a StringBuilder-like class for BytesRef instances. (Adrien Grand)
* LUCENE-5883: You can now change the MergePolicy instance on a live IndexWriter,
without first closing and reopening the writer. This allows to e.g. run a sp
评论0
最新资源