Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A54B0200C24 for ; Wed, 8 Feb 2017 23:49:48 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id A4082160B75; Wed, 8 Feb 2017 22:49:48 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 7357C160B6E for ; Wed, 8 Feb 2017 23:49:46 +0100 (CET) Received: (qmail 33029 invoked by uid 500); 8 Feb 2017 22:49:45 -0000 Mailing-List: contact commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list commits@lucene.apache.org Received: (qmail 32688 invoked by uid 99); 8 Feb 2017 22:49:45 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Feb 2017 22:49:45 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id DBC973A39EE for ; Wed, 8 Feb 2017 22:49:43 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r18240 [4/21] - in /dev/lucene/lucene-solr-5.5.4-RC1-rev31012120ebbd93744753eb37f1dbc5e654628291: ./ lucene/ lucene/changes/ lucene/maven/ lucene/maven/org/ lucene/maven/org/apache/ lucene/maven/org/apache/lucene/ lucene/maven/org/apache/lu... Date: Wed, 08 Feb 2017 22:49:38 -0000 To: commits@lucene.apache.org From: jpountz@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20170208224943.DBC973A39EE@svn01-us-west.apache.org> archived-at: Wed, 08 Feb 2017 22:49:48 -0000 Added: dev/lucene/lucene-solr-5.5.4-RC1-rev31012120ebbd93744753eb37f1dbc5e654628291/lucene/changes/Changes.html ============================================================================== --- dev/lucene/lucene-solr-5.5.4-RC1-rev31012120ebbd93744753eb37f1dbc5e654628291/lucene/changes/Changes.html (added) +++ dev/lucene/lucene-solr-5.5.4-RC1-rev31012120ebbd93744753eb37f1dbc5e654628291/lucene/changes/Changes.html Wed Feb 8 22:49:31 2017 @@ -0,0 +1,13593 @@ + + + + Lucene Change Log + + + + + + + + +

Lucene Change Log

+ +
+ +

For more information on past and future Lucene versions, please see: +http://s.apache.org/luceneversions +

+

Release 5.5.4

+
    +
  • Bug Fixes   (8) +
      +
    1. LUCENE-7417: The standard Highlighter could throw an IllegalArgumentException when +trying to highlight a query containing a degenerate case of a MultiPhraseQuery with one +term. +
      (Thomas Kappler via David Smiley)
    2. +
    3. LUCENE-7657: Fixed potential memory leak in the case that a (Span)TermQuery +with a TermContext is cached. +
      (Adrien Grand)
    4. +
    5. LUCENE-7647: Made stored fields reclaim native memory more aggressively when +configured with BEST_COMPRESSION. This could otherwise result in out-of-memory +issues. +
      (Adrien Grand)
    6. +
    7. LUCENE-7562: CompletionFieldsConsumer sometimes throws +NullPointerException on ghost fields +
      (Oliver Eilhard via Mike McCandless)
    8. +
    9. LUCENE-7547: JapaneseTokenizerFactory was failing to close the +dictionary file it opened +
      (Markus via Mike McCandless)
    10. +
    11. LUCENE-6914: Fixed DecimalDigitFilter in case of supplementary code points. +
      (Hossman)
    12. +
    13. LUCENE-7440: Document id skipping (PostingsEnum.advance) could throw an +ArrayIndexOutOfBoundsException exception on large index segments (>1.8B docs) +with large skips. +
      (yonik)
    14. +
    15. LUCENE-7570: IndexWriter may deadlock if a commit is running while +there are too many merges running and one of the merges hits a +tragic exception +
      (Joey Echeverria via Mike McCandless)
    16. +
    +
  • +
  • Other   (1) +
      +
    1. LUCENE-6989: Backport MMapDirectory's unmapping code from Lucene 6.4 to use +MethodHandles. This allows it to work with Java 9 (EA build 150 and later). +
      (Uwe Schindler)
    2. +
    +
  • +
  • Build   (3) +
      +
    1. LUCENE-7543: Make changes-to-html target an offline operation, by moving the +Lucene and Solr DOAP RDF files into the Git source repository under +dev-tools/doap/ and then pulling release dates from those files, rather than +from JIRA. +
      (Mano Kovacs, hossman, Steve Rowe)
    2. +
    3. LUCENE-7596: Update Groovy to version 2.4.8 to allow building with Java 9 +build 148+. Also update JGit version for working-copy checks. This does not +fix all issues with Java 9, but allows to build the distribution. +
      (Uwe Schindler)
    4. +
    5. LUCENE-7651: Backport (Lucene 6.4.1) fix for Java 8u121 to allow documentation +build to inject "Google Code Prettify" without adding Javascript to Javadocs's +
        +
      • +bottom parameter. Unfortunately, this fix disables Prettify if Javadocs are +
      • +
      +built with Java 7, as there is no generic way in Java 7 to inject Javascript +without breaking Java 8 (and possible paid Java 7 security updates). This +fix also updates Prettify to latest version to work around a Google Chrome +issue. +
      (Uwe Schindler)
    6. +
    +
  • +
+

Release 5.5.3 [2016-09-09]

+
    +
  • (No Changes) +
  • +
+

Older Releases

+
    +

    Release 5.5.2 [2016-06-25]

    +
      +
    • Bug Fixes   (11) +
        +
      1. LUCENE-7065: Fix the explain for the global ordinals join query. Before the +explain would also indicate that non matching documents would match. +On top of that with score mode average, the explain would fail with a NPE. +
        (Martijn van Groningen)
      2. +
      3. LUCENE-7111: DocValuesRangeQuery.newLongRange behaves incorrectly for +Long.MAX_VALUE and Long.MIN_VALUE +
        (Ishan Chattopadhyaya via Steve Rowe)
      4. +
      5. LUCENE-7139: Fix bugs in geo3d's Vincenty surface distance +implementation +
        (Karl Wright via Mike McCandless)
      6. +
      7. LUCENE-7187: Block join queries' Weight#extractTerms(...) implementations +should delegate to the wrapped weight. +
        (Martijn van Groningen)
      8. +
      9. LUCENE-7279: JapaneseTokenizer throws ArrayIndexOutOfBoundsException +on some valid inputs +
        (Mike McCandless)
      10. +
      11. LUCENE-7219: Make queryparser/xml (Point|LegacyNumeric)RangeQuery builders +match the underlying queries' (lower|upper)Term optionality logic. +
        (Kaneshanathan Srivisagan, Christine Poerschke)
      12. +
      13. LUCENE-7284: GapSpans needs to implement positionsCost(). +
        (Daniel Bigham, Alan +Woodward)
      14. +
      15. LUCENE-7231: WeightedSpanTermExtractor didn't deal correctly with single-term +phrase queries. +
        (Eva Popenda, Alan Woodward)
      16. +
      17. LUCENE-7301: Multiple doc values updates to the same document within +one update batch could be applied in the wrong order resulting in +the wrong updated value +
        (Ishan Chattopadhyaya, hossman, Mike McCandless)
      18. +
      19. LUCENE-7132: BooleanQuery sometimes assigned too-low scores in cases +where ranges of documents had only a single clause matching while +other ranges had more than one clause matching +
        (Ahmet Arslan, +hossman, Mike McCandless)
      20. +
      21. LUCENE-7291: Spatial heatmap faceting could mis-count when the heatmap crosses the +dateline and indexed non-point shapes are much bigger than the heatmap region. +
        (David Smiley)
      22. +
      +
    • +
    +

    Release 5.5.1 [2016-05-05]

    +
      +
    • Bug fixes   (3) +
        +
      1. LUCENE-7112: WeightedSpanTermExtractor.extractUnknownQuery is only called +on queries that could not be extracted. +
        (Adrien Grand)
      2. +
      3. LUCENE-7188: remove incorrect sanity check in NRTCachingDirectory.listAll() +that led to IllegalStateException being thrown when nothing was wrong. +
        (David Smiley, yonik)
      4. +
      5. LUCENE-7209: Fixed explanations of FunctionScoreQuery. +
        (Adrien Grand)
      6. +
      +
    • +
    +

    Release 5.5.0 [2016-02-22]

    +
      +
    • New Features   (6) +
        +
      1. LUCENE-5868: JoinUtil.createJoinQuery(..,NumericType,..) query-time join +for LONG and INT fields with NUMERIC and SORTED_NUMERIC doc values. +
        (Alexey Zelin via Mikhail Khludnev)
      2. +
      3. LUCENE-6939: Add exponential reciprocal scoring to +BlendedInfixSuggester, to even more strongly favor suggestions that +match closer to the beginning +
        (Arcadius Ahouansou via Mike McCandless)
      4. +
      5. LUCENE-6958: Improved CustomAnalyzer to take class references to factories +as alternative to their SPI name. This enables compile-time safety when +defining analyzer's components. +
        (Uwe Schindler, Shai Erera)
      6. +
      7. LUCENE-6818, LUCENE-6986: Add DFISimilarity implementing the divergence +from independence model. +
        (Ahmet Arslan via Robert Muir)
      8. +
      9. SOLR-4619: Added removeAllAttributes() to AttributeSource, which removes +all previously added attributes. +

        +

      10. +
      11. LUCENE-7010: Added MergePolicyWrapper to allow easy wrapping of other policies. +
        (Shai Erera)
      12. +
      +
    • +
    • API Changes   (10) +
        +
      1. LUCENE-6997: refactor sandboxed GeoPointField and query classes to lucene-spatial +module under new lucene.spatial.geopoint package +
        (Nick Knize)
      2. +
      3. LUCENE-6908: GeoUtils static relational methods have been refactored to new +GeoRelationUtils and now correctly handle large irregular rectangles, and +pole crossing distance queries. +
        (Nick Knize)
      4. +
      5. LUCENE-6900: Grouping sortWithinGroup variables used to allow null to mean +Sort.RELEVANCE. Null is no longer permitted. +
        (David Smiley)
      6. +
      7. LUCENE-6919: The Scorer class has been refactored to expose an iterator +instead of extending DocIdSetIterator. asTwoPhaseIterator() has been renamed +to twoPhaseIterator() for consistency. +
        (Adrien Grand)
      8. +
      9. LUCENE-6973: TeeSinkTokenFilter no longer accepts a SinkFilter (the latter +has been removed). If you wish to filter the sinks, you can wrap them with +any other TokenFilter (e.g. a FilteringTokenFilter). Also, you can no longer +add a SinkTokenStream to an existing TeeSinkTokenFilter. If you need to +share multiple streams with a single sink, chain them with multiple +TeeSinkTokenFilters. +DateRecognizerSinkFilter was renamed to DateRecognizerFilter and moved under +analysis/common. TokenTypeSinkFilter was removed (use TypeTokenFilter instead). +TokenRangeSinkFilter was removed. +
        (Shai Erera, Uwe Schindler)
      10. +
      11. LUCENE-6980: Default applyAllDeletes to true when opening +near-real-time readers +
        (Mike McCandless)
      12. +
      13. LUCENE-6981: SpanQuery.getTermContexts() helper methods are now public, and +SpanScorer has a public getSpans() method. +
        (Alan Woodward)
      14. +
      15. LUCENE-6932: IndexInput.seek implementations now throw EOFException +if you seek beyond the end of the file +
        (Adrien Grand, Mike McCandless)
      16. +
      17. LUCENE-6988: IndexableField.tokenStream() no longer throws IOException +
        (Alan Woodward)
      18. +
      19. LUCENE-7028: Deprecate a duplicate method in NumericUtils. +
        (Uwe Schindler)
      20. +
      +
    • +
    • Optimizations   (9) +
        +
      1. LUCENE-6930: Decouple GeoPointField from NumericType by using a custom +and efficient GeoPointTokenStream and TermEnum designed for GeoPoint prefix +terms. +
        (Nick Knize)
      2. +
      3. LUCENE-6951: Improve GeoPointInPolygonQuery using point orientation based +line crossing algorithm, and adding result for multi-value docs when least +1 point satisfies polygon criteria. +
        (Nick Knize)
      4. +
      5. LUCENE-6889: BooleanQuery.rewrite now performs some query optimization, in +particular to rewrite queries that look like: "+*:* #filter" to a +"ConstantScore(filter)". +
        (Adrien Grand)
      6. +
      7. LUCENE-6912: Grouping's Collectors now calculate a response to needsScores() +instead of always 'true'. +
        (David Smiley)
      8. +
      9. LUCENE-6815: DisjunctionScorer now advances two-phased iterators lazily, +stopping to evaluate them as soon as a single one matches. The other iterators +will be confirmed lazily when computing score() or freq(). +
        (Adrien Grand)
      10. +
      11. LUCENE-6926: MUST_NOT clauses now use the match cost API to run the slow bits +last whenever possible. +
        (Adrien Grand)
      12. +
      13. LUCENE-6944: BooleanWeight no longer creates sub-scorers if BS1 is not +applicable. +
        (Adrien Grand)
      14. +
      15. LUCENE-6940: MUST_NOT clauses execute faster, especially when they are sparse. +
        (Adrien Grand)
      16. +
      17. LUCENE-6470: Improve efficiency of TermsQuery constructors. +
        (Robert Muir)
      18. +
      +
    • +
    • Bug Fixes   (10) +
        +
      1. LUCENE-6976: BytesRefTermAttributeImpl.copyTo NPE'ed if BytesRef was null. +Added equals & hashCode, and a new test for these things. +
        (David Smiley)
      2. +
      3. LUCENE-6932: RAMDirectory's IndexInput was failing to throw +EOFException in some cases +
        (Stéphane Campinas, Adrien Grand via Mike +McCandless)
      4. +
      5. LUCENE-6896: Don't treat the smallest possible norm value as an infinitely +long document in SimilarityBase or BM25Similarity. Add more warnings to sims +that will not work well with extreme tf values. +
        (Ahmet Arslan, Robert Muir)
      6. +
      7. LUCENE-6984: SpanMultiTermQueryWrapper no longer modifies its wrapped query. +
        (Alan Woodward, Adrien Grand)
      8. +
      9. LUCENE-6998: Fix a couple places to better detect truncated index files +as corruption. +
        (Robert Muir, Mike McCandless)
      10. +
      11. LUCENE-7002: Fixed MultiCollector to not throw a NPE if setScorer is called +after one of the sub collectors is done collecting. +
        (John Wang, Adrien Grand)
      12. +
      13. LUCENE-7027: Fixed NumericTermAttribute to not throw IllegalArgumentException +after NumericTokenStream was exhausted. +
        (Uwe Schindler, Lee Hinman, +Mike McCandless)
      14. +
      15. LUCENE-7018: Fix GeoPointTermQueryConstantScoreWrapper to add document on +first GeoPointField match. +
        (Nick Knize)
      16. +
      17. LUCENE-7019: Add two-phase iteration to GeoPointTermQueryConstantScoreWrapper. +
        (Robert Muir via Nick Knize)
      18. +
      19. LUCENE-6989: Improve MMapDirectory's unmapping checks to catch more non-working +cases. The unmap-hack does not yet work with recent Java 9. Official support +will come with Lucene 6. +
        (Uwe Schindler)
      20. +
      +
    • +
    • Other   (15) +
        +
      1. LUCENE-6924: Upgrade randomizedtesting to 2.3.2. +
        (Dawid Weiss)
      2. +
      3. LUCENE-6920: Improve custom function checks in expressions module +to use MethodHandles and work without extra security privileges. +
        (Uwe Schindler, Robert Muir)
      4. +
      5. LUCENE-6921: Fix SPIClassIterator#isParentClassLoader to don't +require extra permissions. +
        (Uwe Schindler)
      6. +
      7. LUCENE-6923: Fix RamUsageEstimator to access private fields inside +AccessController block for computing size. +
        (Robert Muir)
      8. +
      9. LUCENE-6907: make TestParser extendable, rename test/.../xml/ +NumericRangeQueryQuery.xml to NumericRangeQuery.xml +
        (Christine Poerschke)
      10. +
      11. LUCENE-6925: add ForceMergePolicy class in test-framework +
        (Christine Poerschke)
      12. +
      13. LUCENE-6945: factor out TestCorePlus(Queries|Extensions)Parser from +TestParser, rename TestParser to TestCoreParser +
        (Christine Poerschke)
      14. +
      15. LUCENE-6949: fix (potential) resource leak in SynonymFilterFactory +(https://scan.coverity.com/projects/5620 CID 120656) +(Christine Poerschke, Coverity Scan (via Rishabh Patel)) +

        +

      16. +
      17. LUCENE-6961: Improve Exception handling in AnalysisFactories / +AnalysisSPILoader: Don't wrap exceptions occuring in factory's +ctor inside InvocationTargetException. +
        (Uwe Schindler)
      18. +
      19. LUCENE-6965: Expression's JavascriptCompiler now throw ParseException +with bad function names or bad arity instead of IllegalArgumentException. +
        (Tomás Fernández Löbbe, Uwe Schindler, Ryan Ernst)
      20. +
      21. LUCENE-6964: String-based signatures in JavascriptCompiler replaced +with better compile-time-checked MethodType; generated class files +are no longer marked as synthetic. +
        (Uwe Schindler)
      22. +
      23. LUCENE-6978: Refactor several code places that lookup locales +by string name to use BCP47 locale tag instead. LuceneTestCase +now also prints locales on failing tests this way. +Locale#forLanguageTag() and Locale#toString() were placed on list +of forbidden signatures. +
        (Uwe Schindler, Robert Muir)
      24. +
      25. LUCENE-6988: You can now add IndexableFields directly to a MemoryIndex, +and create a MemoryIndex from a lucene Document. +
        (Alan Woodward)
      26. +
      27. LUCENE-7005: TieredMergePolicy tweaks (>= vs. >, @see get vs. set) +
        (Christine Poerschke)
      28. +
      29. LUCENE-7006: increase BaseMergePolicyTestCase use (TestNoMergePolicy and +TestSortingMergePolicy now extend it, TestUpgradeIndexMergePolicy added) +
        (Christine Poerschke)
      30. +
      +
    • +
    +

    Release 5.4.1 [2016-01-23]

    +
      +
    • Bug Fixes   (9) +
        +
      1. LUCENE-6910: fix 'if ... > Integer.MAX_VALUE' check in +(Binary|Numeric)DocValuesFieldUpdates.merge +(https://scan.coverity.com/projects/5620 CID 119973 and CID 120081) +(Christine Poerschke, Coverity Scan (via Rishabh Patel)) +

        +

      2. +
      3. LUCENE-6946: SortField.equals now takes the missingValue parameter into +account. +
        (Adrien Grand)
      4. +
      5. LUCENE-6918: LRUQueryCache.onDocIdSetEviction is only called when at least +one DocIdSet is being evicted. +
        (Adrien Grand)
      6. +
      7. LUCENE-6929: Fix SpanNotQuery rewriting to not drop the pre/post parameters. +
        (Tim Allison via Adrien Grand)
      8. +
      9. LUCENE-6950: Fix FieldInfos handling of UninvertingReader, e.g. do not +hide the true docvalues update generation or other properties. +
        (Ishan Chattopadhyaya via Robert Muir)
      10. +
      11. LUCENE-6948: Fix ArrayIndexOutOfBoundsException in PagedBytes$Reader.fill +by removing an unnecessary long-to-int cast. +
        (Michael Lawley via Christine Poerschke)
      12. +
      13. SOLR-7865: BlendedInfixSuggester was returning too many results +
        (Arcadius Ahouansou via Mike McCandless)
      14. +
      15. LUCENE-6970: Fixed off-by-one error in Lucene54DocValuesProducer that could +potentially corrupt doc values. +
        (Adrien Grand)
      16. +
      17. LUCENE-2229: Fix Highlighter's SimpleSpanFragmenter when multiple adjacent +stop words following a span can unduly make the fragment way too long. +
        (Elmer Garduno, Lukhnos Liu via David Smiley)
      18. +
      +
    • +
    +

    Release 5.4.0 [2015-12-14]

    +
      +
    • New Features   (10) +
        +
      1. LUCENE-6747: FingerprintFilter is a TokenFilter that outputs a single +token which is a concatenation of the sorted and de-duplicated set of +input tokens. Useful for normalizing short text in clustering/linking +tasks. +
        (Mark Harwood, Adrien Grand)
      2. +
      3. LUCENE-6875: New Serbian Filter. +
        (Nikola Smolenski via Robert Muir, +Dawid Weiss)
      4. +
      5. LUCENE-6720: New FunctionRangeQuery wrapper around ValueSourceScorer +(returned from ValueSource/FunctionValues.getRangeScorer()). +
        (David Smiley)
      6. +
      7. LUCENE-6724: Add utility APIs to GeoHashUtils to compute neighbor +geohash cells +
        (Nick Knize via Mike McCandless). +

        +

      8. +
      9. LUCENE-6737: Add DecimalDigitFilter which folds unicode digits to basic latin. +
        (Robert Muir)
      10. +
      11. LUCENE-6699: Add integration of BKD tree and geo3d APIs to give +fast, very accurate query to find all indexed points within an +earth-surface shape +
        (Karl Wright, Mike McCandless)
      12. +
      13. LUCENE-6838: Added IndexSearcher#getQueryCache and #getQueryCachingPolicy. +
        (Adrien Grand)
      14. +
      15. LUCENE-6844: PayloadScoreQuery can include or exclude underlying span scores +from its score calculations +
        (Bill Bell, Alan Woodward)
      16. +
      17. LUCENE-6778: Add GeoPointDistanceRangeQuery, to search for points +within a "ring" (beyond a minimum distance and below a maximum +distance) +
        (Nick Knize via Mike McCandless)
      18. +
      19. LUCENE-6874: Add a new UnicodeWhitespaceTokenizer to analysis/common +that uses Unicode character properties extracted from ICU4J to tokenize +text on whitespace. This tokenizer will split on non-breaking +space (NBSP), too. +
        (David Smiley, Uwe Schindler, Steve Rowe)
      20. +
      +
    • +
    • API Changes   (11) +
        +
      1. LUCENE-6590: Query.setBoost(), Query.getBoost() and Query.clone() are gone. +In order to apply boosts, you now need to wrap queries in a BoostQuery. +
        (Adrien Grand)
      2. +
      3. LUCENE-6716: SpanPayloadCheckQuery now takes a List<BytesRef> rather than +a Collection<byte[]>. +
        (Alan Woodward)
      4. +
      5. LUCENE-6489: The various span payload queries have been moved to the queries +submodule, and PayloadSpanUtil is now in sandbox. +
        (Alan Woodward)
      6. +
      7. LUCENE-6650: The spatial module no longer uses Filter in any way. All +spatial Filters now subclass Query. The spatial heatmap/facet API +now accepts a Bits parameter to filter counts. +
        (David Smiley, Adrien Grand)
      8. +
      9. LUCENE-6301: org.apache.lucene.search.Filter is now deprecated. You should use +Query objects instead of Filters, and the BooleanClause.Occur.FILTER clause in +order to let Lucene know that a Query should be used for filtering but not +scoring. +

        +

      10. +
      11. LUCENE-6939: SpanOrQuery.addClause is now deprecated, clauses should all be +provided at construction time. +
        (Paul Elschot via Adrien Grand)
      12. +
      13. LUCENE-6855: CachingWrapperQuery is deprecated and will be removed in 6.0. +
        (Adrien Grand)
      14. +
      15. LUCENE-6870: DisjunctionMaxQuery#add is now deprecated, clauses should all be +provided at construction time. +
        (Adrien Grand)
      16. +
      17. LUCENE-6884: Analyzer.tokenStream() and Tokenizer.setReader() are no longer +declared as throwing IOException. +
        (Alan Woodward)
      18. +
      19. LUCENE-6849: Expose IndexWriter.flush() method, to move all +in-memory segments to disk without opening a near-real-time reader +nor calling fsync +
        (Robert Muir, Simon Willnauer, Mike McCandless)
      20. +
      21. LUCENE-6911: Add correct StandardQueryParser.getMultiFields() method, +deprecate no-op StandardQueryParser.getMultiFields(CharSequence[]) method. +(Christine Poerschke, Mikhail Khludnev, Coverity Scan (via Rishabh Patel)) +

        +

      22. +
      +
    • +
    • Optimizations   (18) +
        +
      1. LUCENE-6708: TopFieldCollector does not compute the score several times on the +same document anymore. +
        (Adrien Grand)
      2. +
      3. LUCENE-6720: ValueSourceScorer, returned from +FunctionValues.getRangeScorer(), now uses TwoPhaseIterator. +
        (David Smiley)
      4. +
      5. LUCENE-6756: MatchAllDocsQuery now has a dedicated BulkScorer for better +performance when used as a top-level query. +
        (Adrien Grand)
      6. +
      7. LUCENE-6746: DisjunctionMaxQuery, BoostingQuery and BoostedQuery now create +sub weights through IndexSearcher so that they can be cached. +
        (Adrien Grand)
      8. +
      9. LUCENE-6754: Optimized IndexSearcher.count for the cases when it can use +index statistics instead of collecting all matches. +
        (Adrien Grand)
      10. +
      11. LUCENE-6773: Nested conjunctions now iterate over documents as if clauses +were all at the same level. +
        (Adrien Grand)
      12. +
      13. LUCENE-6777: Reuse BytesRef when visiting term ranges in +GeoPointTermsEnum to reduce GC pressure +
        (Nick Knize via Mike +McCandless)
      14. +
      15. LUCENE-6779: Reduce memory allocated by CompressingStoredFieldsWriter to write +strings larger than 64kb by an amount equal to string's utf8 size. +
        (Dawid Weiss, Robert Muir, shalin)
      16. +
      17. LUCENE-6850: Optimize BooleanScorer for sparse clauses. +
        (Adrien Grand)
      18. +
      19. LUCENE-6840: Ordinal indexes for SORTED_SET/SORTED_NUMERIC fields and +addresses for BINARY fields are now stored on disk instead of in memory. +
        (Adrien Grand)
      20. +
      21. LUCENE-6878: Speed up TopDocs.merge. +
        (Daniel Jelinski via Adrien Grand)
      22. +
      23. LUCENE-6885: StandardDirectoryReader (initialCapacity) tweaks +
        (Christine Poerschke)
      24. +
      25. LUCENE-6863: Optimized storage requirements of doc values fields when less +than 1% of documents have a value. +
        (Adrien Grand)
      26. +
      27. LUCENE-6892: various lucene.index initialCapacity tweaks +
        (Christine Poerschke)
      28. +
      29. LUCENE-6276: Added TwoPhaseIterator.matchCost() which allows to confirm the +least costly TwoPhaseIterators first. +
        (Paul Elschot via Adrien Grand)
      30. +
      31. LUCENE-6898: In the default codec, the last stored field value will not +be fully read from disk if the supplied StoredFieldVisitor doesn't want it. +So put your largest text field value last to benefit. +
        (David Smiley)
      32. +
      33. LUCENE-6909: Remove unnecessary synchronized from +FacetsConfig.getDimConfig for better concurrency +
        (Sanne Grinovero +via Mike McCandless)
      34. +
      35. SOLR-7730: Speed up SlowCompositeReaderWrapper.getSortedSetDocValues() by +avoiding merging FieldInfos just to check doc value type. +
        (Paul Vasilyev, Yuriy Pakhomov, Mikhail Khludnev, yonik)
      36. +
      +
    • +
    • Bug Fixes   (19) +
        +
      1. LUCENE-6905: Unwrap center longitude for dateline crossing +GeoPointDistanceQuery. +
        (Nick Knize)
      2. +
      3. LUCENE-6817: ComplexPhraseQueryParser.ComplexPhraseQuery does not display +slop in toString(). +
        (Ahmet Arslan via Dawid Weiss)
      4. +
      5. LUCENE-6730: Hyper-parameter c is ignored in term frequency NormalizationH1. +
        (Ahmet Arslan via Robert Muir)
      6. +
      7. LUCENE-6742: Lovins & Finnish implementation of SnowballFilter was +fixed to behave exactly as specified. A bug in the snowball compiler +caused differences in output of the filter in comparison to the original +test data. In addition, the performance of those filters was improved +significantly. +
        (Uwe Schindler, Robert Muir)
      8. +
      9. LUCENE-6783: Removed side effects from FuzzyLikeThisQuery.rewrite. +
        (Adrien Grand)
      10. +
      11. LUCENE-6776: Fix geo3d math to handle randomly squashed planet +models +
        (Karl Wright via Mike McCandless)
      12. +
      13. LUCENE-6792: Fix TermsQuery.toString() to work with binary terms. +
        (Ruslan Muzhikov, Robert Muir)
      14. +
      15. LUCENE-5503: When Highlighter's WeightedSpanTermExtractor converts a +PhraseQuery to an equivalent SpanQuery, it would sometimes use a slop that is +too low (no highlight) or determine inOrder wrong. +
        (Tim Allison via David Smiley)
      16. +
      17. LUCENE-6790: Fix IndexWriter thread safety when one thread is +handling a tragic exception but another is still committing +
        (Mike +McCandless)
      18. +
      19. LUCENE-6810: Upgrade to Spatial4j 0.5 -- fixes some edge-case bugs in the +spatial module. See https://github.com/locationtech/spatial4j/blob/master/CHANGES.md +
        (David Smiley)
      20. +
      21. LUCENE-6813: OfflineSorter no longer removes its output Path up +front, and instead opens it for write with the +StandardCopyOption.REPLACE_EXISTING to overwrite any prior file, so +that callers can safely use Files.createTempFile for the output. +This change also fixes OfflineSorter's default temp directory when +running tests to use mock filesystems so e.g. we detect file handle +leaks +
        (Dawid Weiss, Robert Muir, Mike McCandless)
      22. +
      23. LUCENE-6813: RangeTreeWriter was failing to close all file handles +it opened, leading to intermittent failures on Windows +
        (Dawid Weiss, +Robert Muir, Mike McCandless)
      24. +
      25. LUCENE-6826: Fix ClassCastException when merging a field that has no +terms because they were filtered out by e.g. a FilterCodecReader +
        (Trejkaz via Mike McCandless)
      26. +
      27. LUCENE-6823: LocalReplicator should use System.nanoTime as its clock +source for checking for expiration +
        (Ishan Chattopadhyaya via Mike +McCandless)
      28. +
      29. LUCENE-6856: The Weight wrapper used by LRUQueryCache now delegates to the +original Weight's BulkScorer when applicable. +
        (Adrien Grand)
      30. +
      31. LUCENE-6858: Fix ContextSuggestField to correctly wrap token stream +when using CompletionAnalyzer. +
        (Areek Zillur)
      32. +
      33. LUCENE-6872: IndexWriter handles any VirtualMachineError, not just OOM, +as tragic. +
        (Robert Muir)
      34. +
      35. LUCENE-6814: PatternTokenizer no longer hangs onto heap sized to the +maximum input string it's ever seen, which can be a large memory +"leak" if you tokenize large strings with many threads across many +indices +
        (Alex Chow via Mike McCandless)
      36. +
      37. LUCENE-6888: Explain output of map() function now also prints default value +
        (janhoy)
      38. +
      +
    • +
    • Other   (26) +
        +
      1. LUCENE-6899: Upgrade randomizedtesting to 2.3.1. +
        (Dawid Weiss)
      2. +
      3. LUCENE-6478: Test execution can hang with java.security.debug. +
        (Dawid Weiss)
      4. +
      5. LUCENE-6862: Upgrade of RandomizedRunner to version 2.2.0. +
        (Dawid Weiss)
      6. +
      7. LUCENE-6857: Validate StandardQueryParser with NOT operator +with-in parantheses. +
        (Jigar Shah via Dawid Weiss)
      8. +
      9. LUCENE-6827: Use explicit capacity ArrayList instead of a LinkedList +in MultiFieldQueryNodeProcessor. +
        (Dawid Weiss). +

        +

      10. +
      11. LUCENE-6812: Upgrade RandomizedTesting to 2.1.17. +
        (Dawid Weiss)
      12. +
      13. LUCENE-6174: Improve "ant eclipse" to select right JRE for building. +
        (Uwe Schindler, Dawid Weiss)
      14. +
      15. LUCENE-6417, LUCENE-6830: Upgrade ANTLR used in expressions module +to version 4.5.1-1. +
        (Jack Conradson, Uwe Schindler)
      16. +
      17. LUCENE-6729: Upgrade ASM used in expressions module to version 5.0.4. +
        (Uwe Schindler)
      18. +
      19. LUCENE-6738: remove IndexWriterConfig.[gs]etIndexingChain +
        (Christine Poerschke)
      20. +
      21. LUCENE-6755: more tests of ToChildBlockJoinScorer.advance +
        (hossman)
      22. +
      23. LUCENE-6571: fix some private access level javadoc errors and warnings +
        (Cao Manh Dat, Christine Poerschke)
      24. +
      25. LUCENE-6768: AbstractFirstPassGroupingCollector.groupSort private member +is not needed. +
        (Christine Poerschke)
      26. +
      27. LUCENE-6761: MatchAllDocsQuery's Scorers do not expose approximations +anymore. +
        (Adrien Grand)
      28. +
      29. LUCENE-6775, LUCENE-6833: Improved MorfologikFilterFactory to allow +loading of custom dictionaries from ResourceLoader. Upgraded +Morfologik to version 2.0.1. The 'dictionary' attribute has been +reverted back and now points at the dictionary resource to be +loaded instead of the default Polish dictionary. +
        (Uwe Schindler, Dawid Weiss)
      30. +
      31. LUCENE-6797: Make GeoCircle an interface and use a factory to create +it, to eventually handle degenerate cases +
        (Karl Wright via Mike +McCandless)
      32. +
      33. LUCENE-6800: Use XYZSolidFactory to create XYZSolids +
        (Karl Wright +via Mike McCandless)
      34. +
      35. LUCENE-6798: Geo3d now models degenerate (too tiny) circles as a +single point +
        (Karl Wright via Mike McCandless)
      36. +
      37. LUCENE-6770: Add javadocs that FSDirectory canonicalizes the path. +
        (Uwe Schindler, Vladimir Kuzmin)
      38. +
      39. LUCENE-6795: Fix various places where code used +AccessibleObject#setAccessible() without a privileged block. Code +without a hard requirement to do reflection were rewritten. This +makes Lucene and Solr ready for Java 9 Jigsaw's module system, where +reflection on Java's runtime classes is very restricted. +
        (Robert Muir, Uwe Schindler)
      40. +
      41. LUCENE-6467: Simplify Query.equals. +
        (Paul Elschot via Adrien Grand)
      42. +
      43. LUCENE-6845: SpanScorer is now merged into Spans +
        (Alan Woodward, David Smiley)
      44. +
      45. LUCENE-6887: DefaultSimilarity is deprecated, use ClassicSimilarity for equivilent behavior, +or consider switching to BM25Similarity which will become the new default in Lucene 6.0 +
        (hossman)
      46. +
      47. LUCENE-6893: factor out CorePlusQueriesParser from CorePlusExtensionsParser +
        (Christine Poerschke)
      48. +
      49. LUCENE-6902: Don't retry to fsync files / directories; fail +immediately. +
        (Daniel Mitterdorfer, Uwe Schindler)
      50. +
      51. LUCENE-6801: Clarify JavaDocs of PhraseQuery that it in fact supports terms +at the same position (as does MultiPhraseQuery), treated like a conjunction. +Added test. +
        (David Smiley, Adrien Grand)
      52. +
      +
    • +
    • Build   (2) +
        +
      1. LUCENE-6732: Improve checker for invalid source patterns to also +detect javadoc-style license headers. Use Groovy to implement the +checks instead of plain Ant. +
        (Uwe Schindler)
      2. +
      3. LUCENE-6594: Update forbiddenapis to 2.0. +
        (Uwe Schindler)
      4. +
      +
    • +
    • Tests   (1) +
        +
      1. LUCENE-6752: Add Math#random() to forbiddenapis. +
        (Uwe Schindler, +Mikhail Khludnev, Andrei Beliakov)
      2. +
      +
    • +
    • Changes in Backwards Compatibility Policy   (1) +
        +
      1. LUCENE-6742: The Lovins & Finnish implementation of SnowballFilter +were fixed to now behave exactly like the original Snowball stemmer. +If you have indexed text using those stemmers you may need to reindex. +
        (Uwe Schindler, Robert Muir)
      2. +
      +
    • +
    • Changes in Runtime Behavior   (3) +
        +
      1. LUCENE-6772: MultiCollector now catches CollectionTerminatedException and +removes the collector that threw this exception from the list of sub +collectors to collect. +
        (Adrien Grand)
      2. +
      3. LUCENE-6784: IndexSearcher's query caching is enabled by default. Run +indexSearcher.setQueryCache(null) to disable. +
        (Adrien Grand)
      4. +
      5. LUCENE-6305: BooleanQuery.equals and hashcode do not depend on the order of +clauses anymore. +
        (Adrien Grand)
      6. +
      +
    • +
    +

    Release 5.3.2 [2016-01-23]

    +
      +
    • Bug Fixes   (1) +
        +
      1. SOLR-7865: BlendedInfixSuggester was returning too many results +
        (Arcadius Ahouansou via Mike McCandless)
      2. +
      +
    • +
    +

    Release 5.3.1 [2015-09-24]

    +
      +
    • Bug Fixes   (3) +
        +
      1. LUCENE-6774: Remove classloader hack in MorfologikFilter. +
        (Robert Muir, +Uwe Schindler)
      2. +
      3. LUCENE-6748: UsageTrackingQueryCachingPolicy no longer caches trivial queries +like MatchAllDocsQuery. +
        (Adrien Grand)
      4. +
      5. LUCENE-6781: Fixed BoostingQuery to rewrite wrapped queries. +
        (Adrien Grand)
      6. +
      +
    • +
    • Tests   (1) +
        +
      1. LUCENE-6760, SOLR-7958: Move TestUtil#randomWhitespace to the only +Solr test that is using it. The method is not useful for Lucene tests +(and easily breaks, e.g., in Java 9 caused by Unicode version updates). +
        (Uwe Schindler)
      2. +
      +
    • +
    +

    Release 5.3.0 [2015-08-21]

    +
      +
    • New Features   (31) +
        +
      1. LUCENE-6485: Add CustomSeparatorBreakIterator to postings +highlighter which splits on any character. For example, it +can be used with getMultiValueSeparator render whole field +values. +
        (Luca Cavanna via Robert Muir)
      2. +
      3. LUCENE-6459: Add common suggest API that mirrors Lucene's +Query/IndexSearcher APIs for Document based suggester. +Adds PrefixCompletionQuery, RegexCompletionQuery, +FuzzyCompletionQuery and ContextQuery. +
        (Areek Zillur via Mike McCandless)
      4. +
      5. LUCENE-6487: Spatial Geo3D API now has a WGS84 ellipsoid world model option. +
        (Karl Wright via David Smiley)
      6. +
      7. LUCENE-6477: Add experimental BKD geospatial tree doc values format +and queries, for fast "bbox/polygon contains lat/lon points" +
        (Mike +McCandless)
      8. +
      9. LUCENE-6526: Asserting(Query|Weight|Scorer) now ensure scores are not computed +if they are not needed. +
        (Adrien Grand)
      10. +
      11. LUCENE-6481: Add GeoPointField, GeoPointInBBoxQuery, +GeoPointInPolygonQuery for simple "indexed lat/lon point in +bbox/shape" searching. +
        (Nick Knize via Mike McCandless)
      12. +
      13. LUCENE-5954: The segments_N commit point now stores the Lucene +version that wrote the commit as well as the lucene version that +wrote the oldest segment in the index, for faster checking of "too +old" indices +
        (Ryan Ernst, Robert Muir, Mike McCandless)
      14. +
      15. LUCENE-6519: BKDPointInPolygonQuery is much faster by avoiding +the per-hit polygon check when a leaf cell is fully contained by the +polygon. +
        (Nick Knize, Mike McCandless)
      16. +
      17. LUCENE-6549: Add preload option to MMapDirectory. +
        (Robert Muir)
      18. +
      19. LUCENE-6504: Add Lucene53Codec, with norms implemented directly +via the Directory's RandomAccessInput api. +
        (Robert Muir)
      20. +
      21. LUCENE-6539: Add new DocValuesNumbersQuery, to match any document +containing one of the specified long values. This change also +moves the existing DocValuesTermsQuery and DocValuesRangeQuery +to Lucene's sandbox module, since in general these queries are +quite slow and are only fast in specific cases. +
        (Adrien Grand, +Robert Muir, Mike McCandless)
      22. +
      23. LUCENE-6577: Give earlier and better error message for invalid CRC. +
        (Robert Muir)
      24. +
      25. LUCENE-6544: Geo3D: (1) Regularize path & polygon construction, (2) add +PlanetModel.surfaceDistance() (ellipsoidal calculation), (3) cache lat & lon +in GeoPoint, (4) add thread-safety where missing -- Geo3dShape. +
        (Karl Wright, +David Smiley)
      26. +
      27. LUCENE-6606: SegmentInfo.toString now confesses how the documents +were sorted, when SortingMergePolicy was used +
        (Christine Poerschke +via Mike McCandless)
      28. +
      29. LUCENE-6524: IndexWriter can now be initialized from an already open +near-real-time or non-NRT reader. +
        (Boaz Leskes, Robert Muir, Mike +McCandless)
      30. +
      31. LUCENE-6578: Geo3D can now compute the distance from a point to a shape, both +inner distance and to an outside edge. Multiple distance algorithms are +available. +
        (Karl Wright, David Smiley)
      32. +
      33. LUCENE-6632: Geo3D: Compute circle planes more accurately. +
        (Karl Wright via David Smiley)
      34. +
      35. LUCENE-6653: Added general purpose BytesTermAttribute to basic token +attributes package that can be used for TokenStreams that solely produce +binary terms. +
        (Uwe Schindler)
      36. +
      37. LUCENE-6365: Add Operations.topoSort, to run topological sort of the +states in an Automaton +
        (Markus Heiden via Mike McCandless)
      38. +
      39. LUCENE-6365: Replace Operations.getFiniteStrings with a +more scalable iterator API (FiniteStringsIterator) +
        (Markus Heiden +via Mike McCandless)
      40. +
      41. LUCENE-6589: Add a new org.apache.lucene.search.join.CheckJoinIndex class +that can be used to validate that an index has an appropriate structure to +run join queries. +
        (Adrien Grand)
      42. +
      43. LUCENE-6659: Remove IndexWriter's unnecessary hard limit on max concurrency +
        (Robert Muir, Mike McCandless)
      44. +
      45. LUCENE-6547: Add GeoPointDistanceQuery, matching all points within +the specified distance from the center point. Fix +GeoPointInBBoxQuery to handle dateline crossing. +

        +

      46. +
      47. LUCENE-6694: Add LithuanianAnalyzer and LithuanianStemmer. +
        (Dainius Jocas via Robert Muir)
      48. +
      49. LUCENE-6695: Added a new BlendedTermQuery to blend statistics across several +terms. +
        (Simon Willnauer, Adrien Grand)
      50. +
      51. LUCENE-6706: Added a new PayloadScoreQuery that generalises the behaviour of +PayloadTermQuery and PayloadNearQuery to all Span queries. +
        (Alan Woodward)
      52. +
      53. LUCENE-6697: Add experimental range tree doc values format and +queries, based on a 1D version of the spatial BKD tree, for a faster +and smaller alternative to postings-based numeric and binary term +filtering. Range trees can also handle values larger than 64 bits. +
        (Adrien Grand, Mike McCandless)
      54. +
      55. LUCENE-6647: Add GeoHash string utility APIs +
        (Nick Knize via Mike +McCandless). +

        +

      56. +
      57. LUCENE-6710: GeoPointField now uses full 64 bits (up from 62) to encode +lat/lon +
        (Nick Knize via Mike McCandless). +

        +

      58. +
      59. LUCENE-6580: SpanNearQuery now allows defined-width gaps in its subqueries +
        (Alan Woodward, Adrien Grand). +

        +

      60. +
      61. LUCENE-6712: Use doc values to post-filter GeoPointField hits that +fall in boundary cells, resulting in smaller index, faster searches +and less heap used for each query +
        (Nick Knize via Mike McCandless). +

        +

      62. +
      +
    • +
    • API Changes   (21) +
        +
      1. LUCENE-6508: Simplify Lock api, there is now just +Directory.obtainLock() which returns a Lock that can be +released (or fails with exception). Add lock verification +to IndexWriter. Improve exception messages when locking fails. +
        (Uwe Schindler, Mike McCandless, Robert Muir)
      2. +
      3. LUCENE-6529: Removed an optimization in UninvertingReader that was causing +incorrect results for Numeric fields using precisionStep +
        (hossman, Robert Muir)
      4. +
      5. LUCENE-6551: Add missing ConcurrentMergeScheduler.getAutoIOThrottle +getter +
        (Simon Willnauer, Mike McCandless)
      6. +
      7. LUCENE-6552: Add MergePolicy.OneMerge.getMergeInfo and rename +setInfo to setMergeInfo +
        (Simon Willnauer, Mike McCandless)
      8. +
      9. LUCENE-6525: Deprecate IndexWriterConfig's writeLockTimeout. +
        (Robert Muir)
      10. +
      11. LUCENE-6466: Moved SpanQuery.getSpans() and .extractTerms() to SpanWeight +
        (Alan Woodward, Robert Muir)
      12. +
      13. LUCENE-6371, LUCENE-6490: Payload collection from Spans is moved to a more generic +SpanCollector framework. Spans no longer implements .hasPayload() and +.getPayload() methods, and instead exposes a collect() method that allows +the collection of arbitrary postings information. SpanPayloadCheckQuery and +SpanPayloadNearCheckQuery have moved from the .spans package to the .payloads +package. +
        (Alan Woodward, David Smiley, Paul Elschot, Robert Muir)
      14. +
      15. LUCENE-6583: FilteredQuery is deprecated and will be removed in 6.0. It should +be replaced with a BooleanQuery which handle the query as a MUST clause and +the filter as a FILTER clause. +
        (Adrien Grand)
      16. +
      17. LUCENE-6553: The postings, spans and scorer APIs no longer take an acceptDocs +parameter. Live docs are now always checked on top of these APIs. +
        (Adrien Grand)
      18. +
      19. LUCENE-6634: PKIndexSplitter now takes a Query instead of a Filter to decide +how to split an index. +
        (Adrien Grand)
      20. +
      21. LUCENE-6643: GroupingSearch from lucene/grouping was changed to take a Query +object to define groups instead of a Filter. +
        (Adrien Grand)
      22. +
      23. LUCENE-6554: ToParentBlockJoinFieldComparator was removed because of a bug +with missing values that could not be fixed. ToParentBlockJoinSortField now +works with string or numeric doc values selectors. Sorting on anything else +than a string or numeric field would require to implement a custom selector. +
        (Adrien Grand)
      24. +
      25. LUCENE-6648: All lucene/facet APIs now take Query objects where they used to +take Filter objects. +
        (Adrien Grand)
      26. +
      27. LUCENE-6640: Suggesters now take a BitsProducer object instead of a Filter +object to reduce the scope of doc IDs that may be returned, emphasizing the +fact that these objects need to support random-access. +
        (Adrien Grand)
      28. +
      29. LUCENE-6646: Make EarlyTerminatingCollector take a Sort object directly +instead of a SortingMergePolicy. +
        (Christine Poerschke via Adrien Grand)
      30. +
      31. LUCENE-6649: BitDocIdSetFilter and BitDocIdSetCachingWrapperFilter are now +deprecated in favour of BitSetProducer and QueryBitSetProducer, which do not +extend oal.search.Filter. +
        (Adrien Grand)
      32. +
      33. LUCENE-6607: Factor out geo3d into its own spatial3d module. +
        (Karl +Wright, Nick Knize, David Smiley, Mike McCandless)
      34. +
      35. LUCENE-6531: PhraseQuery is now immutable and can be built using the +PhraseQuery.Builder class. +
        (Adrien Grand)
      36. +
      37. LUCENE-6570: BooleanQuery is now immutable and can be built using the +BooleanQuery.Builder class. +
        (Adrien Grand)
      38. +
      39. LUCENE-6702: NRTSuggester: Add a method to inject context values at index time +in ContextSuggestField. Simplify ContextQuery logic for extracting contexts and +add dedicated method to consider all context values at query time. +
        (Areek Zillur, Mike McCandless)
      40. +
      41. LUCENE-6719: NumericUtils getMinInt, getMaxInt, getMinLong, getMaxLong now +return null if there are no terms for the specified field, previously these +methods returned primitive values and raised an undocumented NullPointerException +if there were no terms for the field. +
        (hossman, Timothy Potter)
      42. +
      +
    • +
    • Bug fixes   (27) +
        +
      1. LUCENE-6500: ParallelCompositeReader did not always call +closed listeners. This was fixed by LUCENE-6501. +
        (Adrien Grand, Uwe Schindler)
      2. +
      3. LUCENE-6520: Geo3D GeoPath.done() would throw an NPE if adjacent path +segments were co-linear. +
        (Karl Wright via David Smiley)
      4. +
      5. LUCENE-5805: QueryNodeImpl.removeFromParent was doing nothing in a +costly manner +
        (Christoph Kaser, Cao Manh Dat via Mike McCAndless)
      6. +
      7. LUCENE-6533: SlowCompositeReaderWrapper no longer caches its live docs +instance since this can prevent future improvements like a +disk-backed live docs +
        (Adrien Grand, Mike McCandless)
      8. +
      9. LUCENE-6558: Highlighters now work with CustomScoreQuery +
        (Cao Manh +Dat via Mike McCandless)
      10. +
      11. LUCENE-6560: BKDPointInBBoxQuery now handles "dateline crossing" +correctly +
        (Nick Knize, Mike McCandless)
      12. +
      13. LUCENE-6564: Change PrintStreamInfoStream to use thread safe Java 8 +ISO-8601 date formatting (in Lucene 5.x use Java 7 FileTime#toString +as workaround); fix output of tests to use same format. +
        (Uwe Schindler, +Ramkumar Aiyengar)
      14. +
      15. LUCENE-6593: Fixed ToChildBlockJoinQuery's scorer to not refuse to advance +to a document that belongs to the parent space. +
        (Adrien Grand)
      16. +
      17. LUCENE-6591: Never write a negative vLong +
        (Robert Muir, Ryan Ernst, +Adrien Grand, Mike McCandless)
      18. +
      19. LUCENE-6588: Fix how ToChildBlockJoinQuery deals with acceptDocs. +
        (Christoph Kaser via Adrien Grand)
      20. +
      21. LUCENE-6597: Geo3D's GeoCircle now supports a world-globe diameter. +
        (Karl Wright via David Smiley)
      22. +
      23. LUCENE-6608: Fix potential resource leak in BigramDictionary. +
        (Rishabh Patel via Uwe Schindler)
      24. +
      25. LUCENE-6614: Improve partition detection in IOUtils#spins() so it +works with NVMe drives. +
        (Uwe Schindler, Mike McCandless)
      26. +
      27. LUCENE-6586: Fix typo in GermanStemmer, causing possible wrong value +for substCount. +
        (Christoph Kaser via Mike McCandless)
      28. +
      29. LUCENE-6658: Fix IndexUpgrader to also upgrade indexes without any +segments. +
        (Trejkaz, Uwe Schindler)
      30. +
      31. LUCENE-6677: QueryParserBase fails to enforce maxDeterminizedStates when +creating a WildcardQuery +
        (David Causse via Mike McCandless)
      32. +
      33. LUCENE-6680: Preserve two suggestions that have same key and weight but +different payloads +
        (Arcadius Ahouansou via Mike McCandless)
      34. +
      35. LUCENE-6681: SortingMergePolicy must override MergePolicy.size(...). +
        (Christine Poerschke via Adrien Grand)
      36. +
      37. LUCENE-6682: StandardTokenizer performance bug: scanner buffer is +unnecessarily copied when maxTokenLength doesn't change. Also stop silently +maxing out buffer size (and effectively also max token length) at 1M chars, +but instead throw an exception from setMaxTokenLength() when the given +length is greater than 1M chars. +
        (Piotr Idzikowski, Steve Rowe)
      38. +
      39. LUCENE-6696: Fix FilterDirectoryReader.close() to never close the +underlying reader several times. +
        (Adrien Grand)
      40. +
      41. LUCENE-6334: FastVectorHighlighter failed to highlight phrases across +more than one value in a multi-valued field. +
        (Chris Earle, Nik Everett +via Mike McCandless)
      42. +
      43. LUCENE-6704: GeoPointDistanceQuery was visiting too many term ranges, +consuming too much heap for a large radius +
        (Nick Knize via Mike McCandless)
      44. +
      45. SOLR-5882: fix ScoreMode.Min at ToParentBlockJoinQuery +
        (Mikhail Khludnev)
      46. +
      47. LUCENE-6718: JoinUtil.createJoinQuery failed to rewrite queries before +creating a Weight. +
        (Adrien Grand)
      48. +
      49. LUCENE-6713: TooComplexToDeterminizeException claims to be serializable +but wasn't +
        (Simon Willnauer, Mike McCandless)
      50. +
      51. LUCENE-6723: Fix date parsing problems in Java 9 with date formats using +English weekday/month names. +
        (Uwe Schindler)
      52. +
      53. LUCENE-6618: Properly set MMapDirectory.UNMAP_SUPPORTED when it is now allowed +by security policy. +
        (Robert Muir)
      54. +
      +
    • +
    • Changes in Runtime Behavior   (12) +
        +
      1. LUCENE-6501: The subreader structure in ParallelCompositeReader +was flattened, because the current implementation had too many +hidden bugs regarding refounting and close listeners. +If you create a new ParallelCompositeReader, it will just take +all leaves of the passed readers and form a flat structure of +ParallelLeafReaders instead of trying to assemble the original +structure of composite and leaf readers. +
        (Adrien Grand, +Uwe Schindler)
      2. +
      3. LUCENE-6538: Also include java.vm.version and java.runtime.version +in per-segment diagnostics +
        (Robert Muir, Mike McCandless)
      4. +
      5. LUCENE-6537: NearSpansOrdered no longer tries to minimize its +Span matches. This means that the matching algorithm is entirely +lazy. All spans returned by the previous implementation are still +reported, but matching documents may now also return additional +spans that were previously discarded in preference to shorter +overlapping ones. +
        (Alan Woodward, Adrien Grand, Paul Elschot)
      6. +
      7. LUCENE-6569: Optimize MultiFunction.anyExists and allExists to eliminate +excessive array creation in common 2 argument usage +
        (Jacob Graves, hossman)
      8. +
      9. LUCENE-2880: Span queries now score more consistently with regular queries. +
        (Robert Muir, Adrien Grand)
      10. +
      11. LUCENE-6601: FilteredQuery now always rewrites to a BooleanQuery which handles +the query as a MUST clause and the filter as a FILTER clause. +LEAP_FROG_QUERY_FIRST_STRATEGY and LEAP_FROG_FILTER_FIRST_STRATEGY do not +guarantee anymore which iterator will be advanced first, it will depend on the +respective costs of the iterators. QUERY_FIRST_FILTER_STRATEGY and +RANDOM_ACCESS_FILTER_STRATEGY still consume the filter using its random-access +API, however the returned bits may be called on different documents compared +to before. +
        (Adrien Grand)
      12. +
      13. LUCENE-6542: FSDirectory's ctor now works with security policies or file systems +that restrict write access. +
        (Trejkaz, hossman, Uwe Schindler)
      14. +
      15. LUCENE-6651: The default implementation of AttributeImpl#reflectWith(AttributeReflector) +now uses AccessControler#doPrivileged() to do the reflection. Please consider +implementing this method in all your custom attributes, because the method will be +made abstract in Lucene 6. +
        (Uwe Schindler)
      16. +
      17. LUCENE-6639: LRUQueryCache and CachingWrapperQuery now consider a query as +"used" when the first Scorer is pulled instead of when a Scorer is pulled on +the first segment on an index. +
        (Terry Smith, Adrien Grand)
      18. +
      19. LUCENE-6579: IndexWriter now sacrifices (closes) itself to protect the index +when an unexpected, tragic exception strikes while merging. +
        (Robert +Muir, Mike McCandless)
      20. +
      21. LUCENE-6691: SortingMergePolicy.isSorted now considers FilterLeafReader instances. +EarlyTerminatingSortingCollector.terminatedEarly accessor added. +TestEarlyTerminatingSortingCollector.testTerminatedEarly test added. +
        (Christine Poerschke)
      22. +
      23. LUCENE-6609: Add getSortField impls to many subclasses of FieldCacheSource which return +the most direct SortField implementation. In many trivial sort by ValueSource usages, this +will result in less RAM, and more precise sorting of extreme values due to no longer +converting to double. +
        (hossman)
      24. +
      +
    • +
    • Optimizations   (9) +
        +
      1. LUCENE-6548: Some optimizations for BlockTree's intersect with very +finite automata +
        (Mike McCandless)
      2. +
      3. LUCENE-6585: Flatten conjunctions and conjunction approximations into +parent conjunctions. For example a sloppy phrase query of "foo bar"~5 +with a filter of "baz" will internally leapfrog foo,bar,baz as one +conjunction. +
        (Ryan Ernst, Robert Muir, Adrien Grand)
      4. +
      5. LUCENE-6325: Reduce RAM usage of FieldInfos, and speed up lookup by +number, by using an array instead of TreeMap except in very sparse +cases +
        (Robert Muir, Mike McCandless)
      6. +
      7. LUCENE-6617: Reduce heap usage for small FSTs +
        (Mike McCandless)
      8. +
      9. LUCENE-6616: IndexWriter now lists the files in the index directory +only once on init, and IndexFileDeleter no longer suppresses +FileNotFoundException and NoSuchFileException. This also improves [... 12323 lines stripped ...]