lucene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject svn commit: r4925 [4/9] - in /release/lucene: java/4.7.1/ java/4.7.1/changes/ solr/4.7.1/ solr/4.7.1/changes/
Date Tue, 01 Apr 2014 14:52:11 GMT
Added: release/lucene/java/4.7.1/changes/Changes.html
--- release/lucene/java/4.7.1/changes/Changes.html (added)
+++ release/lucene/java/4.7.1/changes/Changes.html Tue Apr  1 14:51:42 2014
@@ -0,0 +1,10466 @@
+** WARNING: This file is generated from CHANGES.txt by the 
+**          Perl script ''.
+**          Do *not* edit this file!
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* See the License for the specific language governing permissions and
+* limitations under the License.
+  <title>Lucene Change Log</title>
+  <link rel="stylesheet" href="ChangesFancyStyle.css" title="Fancy">
+  <link rel="alternate stylesheet" href="ChangesSimpleStyle.css" title="Simple">
+  <link rel="alternate stylesheet" href="ChangesFixedWidthStyle.css" title="Fixed Width">
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+    function toggleList(id) {
+      listStyle = document.getElementById(id + '.list').style;
+      anchor = document.getElementById(id);
+      if (listStyle.display == 'none') {
+        listStyle.display = 'block';
+        anchor.title = 'Click to collapse';
+        location.href = '#' + id;
+      } else {
+        listStyle.display = 'none';
+        anchor.title = 'Click to expand';
+      }
+      var expandButton = document.getElementById('expand.button');
+      expandButton.disabled = false;
+      var collapseButton = document.getElementById('collapse.button');
+      collapseButton.disabled = false;
+    }
+    function collapseAll() {
+      var unorderedLists = document.getElementsByTagName("ul");
+      for (var i = 0; i < unorderedLists.length; i++) {
+        if (unorderedLists[i].className != 'bulleted-list')
+          unorderedLists[i].style.display = "none";
+        else
+          unorderedLists[i].style.display = "block";
+      }
+      var orderedLists = document.getElementsByTagName("ol");
+      for (var i = 0; i < orderedLists.length; i++)
+        orderedLists[i].style.display = "none"; 
+      var anchors = document.getElementsByTagName("a");
+      for (var i = 0 ; i < anchors.length; i++) {
+        if (anchors[i].id != '')
+          anchors[i].title = 'Click to expand';
+      }
+      var collapseButton = document.getElementById('collapse.button');
+      collapseButton.disabled = true;
+      var expandButton = document.getElementById('expand.button');
+      expandButton.disabled = false;
+    }
+    function expandAll() {
+      var unorderedLists = document.getElementsByTagName("ul");
+      for (var i = 0; i < unorderedLists.length; i++)
+        unorderedLists[i].style.display = "block";
+      var orderedLists = document.getElementsByTagName("ol");
+      for (var i = 0; i < orderedLists.length; i++)
+        orderedLists[i].style.display = "block"; 
+      var anchors = document.getElementsByTagName("a");
+      for (var i = 0 ; i < anchors.length; i++) {
+        if (anchors[i].id != '')
+          anchors[i].title = 'Click to collapse';
+      }
+      var expandButton = document.getElementById('expand.button');
+      expandButton.disabled = true;
+      var collapseButton = document.getElementById('collapse.button');
+      collapseButton.disabled = false;
+    }
+    var newerRegex = new RegExp("^(?:v4\\\\.7\\\\.1|v4\\\\.7\\\\.0)");
+    function isOlder(listId) {
+      return ! newerRegex.test(listId);
+    }
+    function escapeMeta(s) {
+      return s.replace(/(?=[.*+?^${}()|[\]\/\\])/g, '\\');
+    }
+    function shouldExpand(currentList, currentAnchor, listId) {
+      var listName = listId.substring(0, listId.length - 5);
+      var parentRegex = new RegExp("^" + escapeMeta(listName) + "\\.");
+      return currentList == listId
+             || (isOlder(currentAnchor) && listId == 'older.list')
+             || parentRegex.test(currentAnchor);
+    }
+    function collapse() {
+      /* Collapse all but the first and second releases. */
+      var unorderedLists = document.getElementsByTagName("ul");
+      var currentAnchor = location.hash.substring(1);
+      var currentList = currentAnchor + ".list";
+      for (var i = 0; i < unorderedLists.length; i++) {
+        var list = unorderedLists[i];
+        /* Collapse the current item, unless either the current item is one of
+         * the first two releases, or the current URL has a fragment and the
+         * fragment refers to the current item or one of its ancestors.
+         */
+        if ( != 'v4.7.1.list' 
+            && != 'v4.7.0.list'
+            && list.className != 'bulleted-list'
+            && (currentAnchor == ''
+                || ! shouldExpand(currentList, currentAnchor, {
+ = "none";
+        }
+      }
+      var orderedLists = document.getElementsByTagName("ol");
+      for (var i = 0; i < orderedLists.length; i++) {
+        var list = orderedLists[i];
+        /* Collapse the current item, unless the current URL has a fragment
+         * and the fragment refers to the current item or one of its ancestors.
+         */
+        if (currentAnchor == ''
+            || ! shouldExpand(currentList, currentAnchor, {
+ = "none";
+        }
+      }
+      /* Add "Click to collapse/expand" tooltips to the release/section headings */
+      var anchors = document.getElementsByTagName("a");
+      for (var i = 0 ; i < anchors.length; i++) {
+        var anchor = anchors[i];
+        if ( != '') {
+          if ( == 'v4.7.1' || == 'v4.7.0') {
+            anchor.title = 'Click to collapse';
+          } else {
+            anchor.title = 'Click to expand';
+          }
+        }
+      }
+      /* Insert "Expand All" and "Collapse All" buttons */
+      var buttonsParent = document.getElementById('buttons.parent');
+      var expandButton = document.createElement('button');
+      expandButton.appendChild(document.createTextNode('Expand All'));
+      expandButton.onclick = function() { expandAll(); }
+ = 'expand.button';
+      buttonsParent.appendChild(expandButton);
+      var collapseButton = document.createElement('button');
+      collapseButton.appendChild(document.createTextNode('Collapse All'));
+      collapseButton.onclick = function() { collapseAll(); }
+ = 'collapse.button';
+      buttonsParent.appendChild(collapseButton);
+    }
+    window.onload = collapse;
+  </SCRIPT>
+<h1>Lucene Change Log</h1>
+<div id="buttons.parent"></div>
+      <p>For more information on past and future Lucene versions, please see:
+<a href=""></a>
+<h2><a id="v4.7.1" href="javascript:toggleList('v4.7.1')">Release 4.7.1 </a></h2>
+<ul id="v4.7.1.list">
+  <li><a id="v4.7.1.changes_in_runtime_behavior" href="javascript:toggleList('v4.7.1.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.7.1.changes_in_runtime_behavior.list">
+      <li><a href="">LUCENE-5532</a>: AutomatonQuery.equals is no longer implemented as "accepts same language".
+This was inconsistent with hashCode, and unnecessary for any subclasses in Lucene.
+If you desire this in a custom subclass, minimize the automaton.
+<br /><span class="attrib">(Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.1.bug_fixes" href="javascript:toggleList('v4.7.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(14)
+    <ol id="v4.7.1.bug_fixes.list">
+      <li><a href="">LUCENE-5450</a>: Fix getField() NPE issues with SpanOr/SpanNear when they have an
+empty list of clauses. This can happen for example,  when a wildcard matches
+no terms.
+<br /><span class="attrib">(Tim Allison via Robert Muir)</span></li>
+      <li><a href="">LUCENE-5473</a>: Throw IllegalArgumentException, not
+NullPointerException, if the synonym map is empty when creating
+<br /><span class="attrib">(帅广应 via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5432</a>: EliasFanoDocIdSet: Fix number of index entry bits when the maximum
+entry is a power of 2.
+<br /><span class="attrib">(Paul Elschot via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5466</a>: query is always null in countDocsWithClass() of SimpleNaiveBayesClassifier.
+<br /><span class="attrib">(Koji Sekiguchi)</span></li>
+      <li><a href="">LUCENE-5502</a>: Fixed TermsFilter.equals that could return true for different
+<br /><span class="attrib">(Igor Motov via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5522</a>: FacetsConfig didn't add drill-down terms for association facet
+fields labels.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5520</a>: ToChildBlockJoinQuery would hit
+ArrayIndexOutOfBoundsException if a parent document had no children
+<br /><span class="attrib">(Sally Ang via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5532</a>: AutomatonQuery.hashCode was not thread-safe.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5525</a>: Implement MultiFacets.getAllDims, so you can do sparse
+facets through DrillSideways, for example.
+<br /><span class="attrib">(Jose Peleteiro, Mike
+      <li><a href="">LUCENE-5481</a>: IndexWriter.forceMerge used to run a merge even if there was a
+single segment in the index.
+<br /><span class="attrib">(Adrien Grand, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5538</a>: Fix FastVectorHighlighter bug with index-time synonyms when the
+query is more complex than a single phrase.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5544</a>: Exceptions during IndexWriter.rollback could leak file handles
+and the write lock.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-4978</a>: Spatial RecursivePrefixTree queries could result in false-negatives for
+indexed shapes within 1/2 maxDistErr from the edge of the query shape.  This meant
+searching for a point by the same point as a query rarely worked.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="">LUCENE-5553</a>: IndexReader#ReaderClosedListener is not always invoked when
+IndexReader#close() is called or if refCount is 0. If an exception is
+thrown during interal close or on any of the close listerns some or all
+listerners might be missed. This can cause memory leaks if the core listeners
+are used to clear caches.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+    </ol>
+  </li>
+  <li><a id="" href="javascript:toggleList('')">Build</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="">
+      <li><a href="">LUCENE-5511</a>: "ant precommit" / "ant check-svn-working-copy" now work again
+with any working copy format (thanks to svnkit 1.8.4).
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+<h2><a id="v4.7.0" href="javascript:toggleList('v4.7.0')">Release 4.7.0  [2014-02-26]</a></h2>
+<ul id="v4.7.0.list">
+  <li><a id="v4.7.0.new_features" href="javascript:toggleList('v4.7.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(24)
+    <ol id="v4.7.0.new_features.list">
+      <li><a href="">LUCENE-5336</a>: Add SimpleQueryParser: parser for human-entered queries.
+<br /><span class="attrib">(Jack Conradson via Robert Muir)</span></li>
+      <li><a href="">LUCENE-5337</a>: Add Payload support to FileDictionary (Suggest) and make it more
+<br /><span class="attrib">(Areek Zilluer via Erick Erickson)</span></li>
+      <li><a href="">LUCENE-5329</a>: suggest: DocumentDictionary and
+DocumentExpressionDictionary are now lenient for dirty documents
+(missing the term, weight or payload).
+<br /><span class="attrib">(Areek Zillur via
+Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5404</a>: Add .getCount method to all suggesters (Lookup); persist count
+metadata on .store(); Dictionary returns InputIterator; Dictionary.getWordIterator
+renamed to .getEntryIterator.
+<br /><span class="attrib">(Areek Zillur)</span></li>
+      <li><a href="">SOLR-1871</a>: The RangeMapFloatFunction accepts an arbitrary ValueSource
+as target and default values.
+<br /><span class="attrib">(Chris Harris, shalin)</span></li>
+      <li><a href="">LUCENE-5371</a>: Speed up Lucene range faceting from O(N) per hit to
+O(log(N)) per hit using segment trees; this only really starts to
+matter in practice if the number of ranges is over 10 or so.
+<br /><span class="attrib">(Mike
+      <li><a href="">LUCENE-5379</a>: Add Analyzer for Kurdish.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5369</a>: Added an UpperCaseFilter to make UPPERCASE tokens.
+<br /><span class="attrib">(ryan)</span></li>
+      <li><a href="">LUCENE-5345</a>: Add a new BlendedInfixSuggester, which is like
+AnalyzingInfixSuggester but boosts suggestions that matched tokens
+with lower positions.
+<br /><span class="attrib">(Remi Melisson via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-4399</a>: When sorting by String (SortField.STRING), you can now
+specify whether missing values should be sorted first (the default),
+using SortField.setMissingValue(SortField.STRING_FIRST), or last,
+using SortField.setMissingValue(SortField.STRING_LAST).
+<br /><span class="attrib">(Rob Muir,
+Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5099</a>: QueryNode should have the ability to detach from its node
+parent. Added QueryNode.removeFromParent() that allows nodes to be
+detached from its parent node.
+<br /><span class="attrib">(Adriano Crestani)</span></li>
+      <li><a href="">LUCENE-5395</a> <a href="">LUCENE-5451</a>: Upgrade to Spatial4j 0.4.1: Parses WKT (including
+ENVELOPE) with extension "BUFFER"; buffering a point results in a Circle.
+JTS isn't needed for WKT any more but remains required for Polygons. New
+Shapes: ShapeCollection and BufferedLineString. Various other improvements and
+bug fixes too. More info:
+<a href=""></a>
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="">LUCENE-5415</a>: Add multitermquery (wildcards,prefix,etc) to PostingsHighlighter.
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="">LUCENE-3069</a>: Add two memory resident dictionaries (FST terms dictionary and
+FSTOrd terms dictionary) to improve primary key lookups. The PostingsBaseFormat
+API is also changed so that term dictionaries get the ability to block
+encode term metadata, and all dictionary implementations can now plug in any
+<br /><span class="attrib">(Han Jiang, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5353</a>: ShingleFilter's filler token should be configurable.
+<br /><span class="attrib">(Ahmet Arslan, Simon Willnauer, Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5320</a>: Add SearcherTaxonomyManager over search and taxonomy index
+directories (i.e. not only NRT).
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5410</a>: Add fuzzy and near support via '~' operator to SimpleQueryParser.
+<br /><span class="attrib">(Lee Hinman via Robert Muir)</span></li>
+      <li><a href="">LUCENE-5426</a>: Make SortedSetDocValuesReaderState abstract to allow
+custom implementations for Lucene doc values faceting
+<br /><span class="attrib">(John Wang via
+Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5434</a>: NRT support for file systems that do no have delete on last
+close or cannot delete while referenced semantics.
+<br /><span class="attrib">(Mark Miller, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5418</a>: Drilling down or sideways on a Lucene facet range
+(using Range.getFilter()) is now faster for costly filters (uses
+random access, not iteration); range facet counts now accept a
+fast-match filter to avoid computing the value for documents that
+are out of bounds, e.g. using a bounding box filter with distance
+range faceting.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5440</a>: Add LongBitSet for managing more than 2.1B bits (otherwise use
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5437</a>: ASCIIFoldingFilter now has an option to preserve the original token
+and emit it on the same position as the folded token only if the actual token was
+<br /><span class="attrib">(Simon Willnauer, Nik Everett)</span></li>
+      <li><a href="">LUCENE-5408</a>: Add spatial SerializedDVStrategy that serializes a binary
+representations of a shape into BinaryDocValues. It supports exact geometry
+relationship calculations.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="">LUCENE-5457</a>: Add SloppyMath.earthDiameter(double latitude) that returns an
+approximate value of the diameter of the earth at the given latitude.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="" href="javascript:toggleList('')">Build</a>&nbsp;&nbsp;&nbsp;(11)
+    <ol id="">
+      <li><a href="">LUCENE-5217</a>,<a href="">LUCENE-5420</a>: Maven config: get dependencies from Ant+Ivy config;
+disable transitive dependency resolution for all depended-on artifacts by
+putting an exclusion for each transitive dependency in the
+&lt;dependencyManagement&gt; section of the grandparent POM.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5322</a>: Clean up / simplify Maven-related Ant targets.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5347</a>: Upgrade forbidden-apis checker to version 1.4.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="">LUCENE-4381</a>: Upgrade analysis/icu to 52.1.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5357</a>: Upgrade StandardTokenizer and UAX29URLEmailTokenizer to
+Unicode 6.3; update UAX29URLEmailTokenizer's recognized top level
+domains in URLs and Emails from the IANA Root Zone Database.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5360</a>: Add support for developing in Netbeans IDE.
+<br /><span class="attrib">(Michal Hlavac, Uwe Schindler, Steve Rowe)</span></li>
+      <li><a href="">SOLR-5590</a>: Upgrade HttpClient/HttpComponents to 4.3.x.
+<br /><span class="attrib">(Karl Wright via Shawn Heisey)</span></li>
+      <li><a href="">LUCENE-5385</a>: "ant precommit" / "ant check-svn-working-copy" now work
+for SVN 1.8 or GIT checkouts. The ANT target prints a warning instead
+of failing. It also instructs the user, how to run on SVN 1.8 working
+<br /><span class="attrib">(Robert Muir, Uwe Schindler)</span></li>
+      <li><a href="">LUCENE-5383</a>: fix changes2html to link pull requests
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5411</a>: Upgrade to released JFlex 1.5.0; stop requiring
+a locally built JFlex snapshot jar.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5465</a>: Solr Contrib "map-reduce" breaks Manifest of all other
+JAR files by adding a broken Main-Class attribute.
+<br /><span class="attrib">(Uwe Schindler, Steve Rowe)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.bug_fixes" href="javascript:toggleList('v4.7.0.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(14)
+    <ol id="v4.7.0.bug_fixes.list">
+      <li><a href="">LUCENE-5285</a>: Improved highlighting of multi-valued fields with
+<br /><span class="attrib">(Nik Everett via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5391</a>: UAX29URLEmailTokenizer should not tokenize no-scheme
+domain-only URLs that are followed by an alphanumeric character.
+<br /><span class="attrib">(Chris Geeringh, Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5405</a>: If an analysis component throws an exception, Lucene
+logs the field name to the info stream to assist in
+<br /><span class="attrib">(Benson Margulies)</span></li>
+      <li><a href="">SOLR-5661</a>: PriorityQueue now refuses to allocate itself if the
+incoming maxSize is too large
+<br /><span class="attrib">(Raintung Li via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5228</a>: IndexWriter.addIndexes(Directory[]) now acquires a
+write lock in each Directory, to ensure that no open IndexWriter is
+changing the incoming indices.  This also means that you cannot pass
+the same Directory to multiple concurrent addIndexes calls (which is
+anyways unusual).
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5415</a>: SpanMultiTermQueryWrapper didn't handle its boost in
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5409</a>: ToParentBlockJoinCollector.getTopGroups would fail to
+return any groups when the joined query required more than one
+rewrite step
+<br /><span class="attrib">(Peng Cheng via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5398</a>: NormValueSource was incorrectly casting the long value
+to byte, before calling Similarity.decodeNormValue.
+<br /><span class="attrib">(Peng Cheng via
+Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5436</a>: RefrenceManager#accquire can result in infinite loop if
+managed resource is abused outside of the RefrenceManager. Decrementing
+the reference without a corresponding incRef() call can cause an infinite
+loop. ReferenceManager now throws IllegalStateException if currently managed
+resources ref count is 0.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5443</a>: Lucene45DocValuesProducer.ramBytesUsed() may throw
+<br /><span class="attrib">(Shai Erera, Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5444</a>: MemoryIndex did't respect the analyzers offset gap and
+offsets were corrupted if multiple fields with the same name were
+added to the memory index.
+<br /><span class="attrib">(Britta Weber, Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5447</a>: StandardTokenizer should break at consecutive chars matching
+Word_Break = MidLetter, MidNum and/or MidNumLet
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5462</a>: RamUsageEstimator.sizeOf(Object) is not used anymore to
+estimate memory usage of segments. This used to make
+SegmentReader.ramBytesUsed very CPU-intensive.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5461</a>: ControlledRealTimeReopenThread would sometimes wait too
+long (up to targetMaxStaleSec) when a searcher is waiting for a
+specific generation, when it should have waited for at most
+<br /><span class="attrib">(Hans Lund via Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.api_changes" href="javascript:toggleList('v4.7.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v4.7.0.api_changes.list">
+      <li><a href="">LUCENE-5339</a>: The facet module was simplified/reworked to make the
+APIs more approachable to new users. Note: when migrating to the new
+API, you must pass the Document that is returned from
+to IndexWriter.addDocument().
+<br /><span class="attrib">(Shai Erera, Gilad Barkai, Rob
+Muir, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5405</a>: Make ShingleAnalzyerWrapper.getWrappedAnalyzer() public final
+<br /><span class="attrib">(gsingers)</span></li>
+      <li><a href="">LUCENE-5395</a>: The SpatialArgsParser now only reads WKT, no more "lat, lon"
+etc. but it's easy to override the parseShape method if you wish.
+<br /><span class="attrib">(David
+      <li><a href="">LUCENE-5414</a>: DocumentExpressionDictionary was renamed to
+DocumentValueSourceDictionary and all dependencies to the lucene-expression
+module were removed from lucene-suggest. DocumentValueSourceDictionary now
+only accepts a ValueSource instead of a convenience ctor for an expression
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-3069</a>: PostingsWriterBase and PostingsReaderBase are no longer
+responsible for encoding/decoding a block of terms.  Instead, they
+should encode/decode each term to/from a long[] and byte[].
+<br /><span class="attrib">(Han
+Jiang, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5425</a>: FacetsCollector and MatchingDocs use a general DocIdSet,
+allowing for custom implementations to be used when faceting.
+<br /><span class="attrib">(John Wang, Lei Wang, Shai Erera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.optimizations" href="javascript:toggleList('v4.7.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v4.7.0.optimizations.list">
+      <li><a href="">LUCENE-5372</a>: Replace StringBuffer by StringBuilder, where possible.
+<br /><span class="attrib">(Joshua Hartman via Uwe Schindler, Dawid Weiss, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5271</a>: A slightly more accurate SloppyMath distance.
+<br /><span class="attrib">(Gilad Barkai via Ryan Ernst)</span></li>
+      <li><a href="">LUCENE-5399</a>: Deep paging using IndexSearcher.searchAfter when
+sorting by fields is faster
+<br /><span class="attrib">(Rob Muir, Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.changes_in_runtime_behavior" href="javascript:toggleList('v4.7.0.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.7.0.changes_in_runtime_behavior.list">
+      <li><a href="">LUCENE-5362</a>: IndexReader and SegmentCoreReaders now throw
+AlreadyClosedException if the refCount in incremented but
+is less that 1.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.documentation" href="javascript:toggleList('v4.7.0.documentation')">Documentation</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.7.0.documentation.list">
+      <li><a href="">LUCENE-5384</a>: Add some tips for making tokenfilters and tokenizers
+to the analysis package overview.
+<br /><span class="attrib">(Benson Margulies via Robert Muir - <a href="">pull request #12</a>)</span></li>
+      <li><a href="">LUCENE-5389</a>: Add more guidance in the analyis documentation
+package overview.
+<br /><span class="attrib">(Benson Margulies via Robert Muir - <a href="">pull request #14</a>)</span></li>
+    </ol>
+  </li>
+<h2><a id="older" href="javascript:toggleList('older')">Older Releases</a></h2>
+<ul id="older.list">
+<h3><a id="v4.6.1" href="javascript:toggleList('v4.6.1')">Release 4.6.1  [2014-01-28]</a></h3>
+<ul id="v4.6.1.list">
+  <li><a id="v4.6.1.bug_fixes" href="javascript:toggleList('v4.6.1.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(8)
+    <ol id="v4.6.1.bug_fixes.list">
+      <li><a href="">LUCENE-5373</a>: Memory usage of
+[Lucene40/Lucene42/Memory/Direct]DocValuesFormat was over-estimated.
+<br /><span class="attrib">(Shay Banon, Adrien Grand, Robert Muir)</span></li>
+      <li><a href="">LUCENE-5361</a>: Fixed handling of query boosts in FastVectorHighlighter.
+<br /><span class="attrib">(Nik Everett via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5374</a>: IndexWriter processes internal events after the it
+closed itself internally. This rare condition can happen if an
+IndexWriter has internal changes that were not fully applied yet
+like when index / flush requests happen concurrently to the close or
+rollback call.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5394</a>: Fix TokenSources.getTokenStream to return payloads if
+they were indexed with the term vectors.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5344</a>: Flexible StandardQueryParser behaves differently than
+<br /><span class="attrib">(Adriano Crestani)</span></li>
+      <li><a href="">LUCENE-5375</a>: ToChildBlockJoinQuery works harder to detect mis-use,
+when the parent query incorrectly returns child documents, and throw
+a clear exception saying so.
+<br /><span class="attrib">(Dr. Oleg Savrasov via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5401</a>: Field.StringTokenStream#end() calls super.end() now,
+preventing wrong term positions for fields that use
+<br /><span class="attrib">(Michael Busch)</span></li>
+      <li><a href="">LUCENE-5377</a>: IndexWriter.addIndexes(Directory[]) would cause corruption
+on Lucene 4.6 if any index segments were Lucene 4.0-4.5.
+<br /><span class="attrib">(Littlestar, Mike McCandless, Shai Erera, Robert Muir)</span></li>
+    </ol>
+  </li>
+<h3><a id="v4.6.0" href="javascript:toggleList('v4.6.0')">Release 4.6.0  [2013-11-24]</a></h3>
+<ul id="v4.6.0.list">
+  <li><a id="v4.6.0.new_features" href="javascript:toggleList('v4.6.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(23)
+    <ol id="v4.6.0.new_features.list">
+      <li><a href="">LUCENE-4906</a>: PostingsHighlighter can now render to custom Object,
+for advanced use cases where String is too restrictive
+<br /><span class="attrib">(Luca
+Cavanna, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5133</a>: Changed AnalyzingInfixSuggester.highlight to return
+Object instead of String, to allow for advanced use cases where
+String is too restrictive
+<br /><span class="attrib">(Robert Muir, Shai Erera, Mike
+      <li><a href="">LUCENE-5207</a>, <a href="">LUCENE-5334</a>: Added expressions module for customizing ranking
+with script-like syntax.
+<br /><span class="attrib">(Jack Conradson, Ryan Ernst, Uwe Schindler via Robert Muir)</span></li>
+      <li><a href="">LUCENE-5180</a>: ShingleFilter now creates shingles with trailing holes,
+for example if a StopFilter had removed the last token.
+<br /><span class="attrib">(Mike
+      <li><a href="">LUCENE-5219</a>: Add support to SynonymFilterFactory for custom
+<br /><span class="attrib">(Ryan Ernst via Robert Muir)</span></li>
+      <li><a href="">LUCENE-5235</a>: Tokenizers now throw an IllegalStateException if the
+consumer does not call reset() before consuming the stream. Previous
+versions throwed NullPointerException or ArrayIndexOutOfBoundsException
+on best effort which was not user-friendly.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="">LUCENE-5240</a>: Tokenizers now throw an IllegalStateException if the
+consumer neglects to call close() on the previous stream before consuming
+the next one.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="">LUCENE-5214</a>: Add new FreeTextSuggester, to predict the next word
+using a simple ngram language model.  This is useful for the "long
+tail" suggestions, when a primary suggester fails to find a
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5251</a>: New DocumentDictionary allows building suggesters via
+contents of existing field, weight and optionally payload stored
+fields in an index
+<br /><span class="attrib">(Areek Zillur via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5261</a>: Add QueryBuilder, a simple API to build queries from
+the analysis chain directly, or to make it easier to implement
+query parsers.
+<br /><span class="attrib">(Robert Muir, Uwe Schindler)</span></li>
+      <li><a href="">LUCENE-5270</a>: Add Terms.hasFreqs, to determine whether a given field
+indexed per-doc term frequencies.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5269</a>: Add CodepointCountFilter.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5294</a>: Suggest module: add DocumentExpressionDictionary to
+compute each suggestion's weight using a javascript expression.
+<br /><span class="attrib">(Areek Zillur via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5274</a>: FastVectorHighlighter now supports highlighting against several
+indexed fields.
+<br /><span class="attrib">(Nik Everett via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5304</a>: SingletonSortedSetDocValues can now return the wrapped
+<br /><span class="attrib">(Robert Muir, Adrien Grand)</span></li>
+      <li><a href="">LUCENE-2844</a>: The benchmark module can now test the spatial module. See
+<br /><span class="attrib">(David Smiley, Liviy Ambrose)</span></li>
+      <li><a href="">LUCENE-5302</a>: Make StemmerOverrideMap's methods public
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="">LUCENE-5296</a>: Add DirectDocValuesFormat, which holds all doc values
+in heap as uncompressed java native arrays.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5189</a>: Add IndexWriter.updateNumericDocValues, to update
+numeric DocValues fields of documents, without re-indexing them.
+<br /><span class="attrib">(Shai Erera, Mike McCandless, Robert Muir)</span></li>
+      <li><a href="">LUCENE-5298</a>: Add SumValueSourceFacetRequest for aggregating facets by
+a ValueSource, such as a NumericDocValuesField or an expression.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5323</a>: Add .sizeInBytes method to all suggesters (Lookup).
+<br /><span class="attrib">(Areek Zillur via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5312</a>: Add BlockJoinSorter, a new Sorter implementation that makes sure
+to never split up blocks of documents indexed with IndexWriter.addDocuments.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5297</a>: Allow to range-facet on any ValueSource, not just
+NumericDocValues fields.
+<br /><span class="attrib">(Shai Erera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.6.0.bug_fixes" href="javascript:toggleList('v4.6.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(5)
+    <ol id="v4.6.0.bug_fixes.list">
+      <li><a href="">LUCENE-5272</a>: OpenBitSet.ensureCapacity did not modify numBits, causing
+false assertion errors in fastSet.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5303</a>: OrdinalsCache did not use coreCacheKey, resulting in
+over caching across multiple threads.
+<br /><span class="attrib">(Mike McCandless, Shai Erera)</span></li>
+      <li><a href="">LUCENE-5307</a>: Fix topScorer inconsistency in handling QueryWrapperFilter
+inside ConstantScoreQuery, which now rewrites to a query removing the
+obsolete QueryWrapperFilter.
+<br /><span class="attrib">(Adrien Grand, Uwe Schindler)</span></li>
+      <li><a href="">LUCENE-5330</a>: IndexWriter didn't process all internal events on
+#getReader(), #close() and #rollback() which causes files to be
+deleted at a later point in time. This could cause short-term disk
+pollution or OOM if in-memory directories are used.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5342</a>: Fixed bulk-merge issue in CompressingStoredFieldsFormat which
+created corrupted segments when mixing chunk sizes.
+Lucene41StoredFieldsFormat is not impacted.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.6.0.api_changes" href="javascript:toggleList('v4.6.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v4.6.0.api_changes.list">
+      <li><a href="">LUCENE-5222</a>: Add SortField.needsScores(). Previously it was not possible
+for a custom Sort that makes use of the relevance score to work correctly
+with IndexSearcher when an ExecutorService is specified.
+<br /><span class="attrib">(Ryan Ernst, Mike McCandless, Robert Muir)</span></li>
+      <li><a href="">LUCENE-5275</a>: Change AttributeSource.toString() to display the current
+state of attributes.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5277</a>: Modify FixedBitSet copy constructor to take an additional
+numBits parameter to allow growing/shrinking the copied bitset. You can
+use FixedBitSet.clone() if you only need to clone the bitset.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5260</a>: Use TermFreqPayloadIterator for all suggesters; those
+suggesters that can't support payloads will throw an exception if
+hasPayloads() is true.
+<br /><span class="attrib">(Areek Zillur via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5280</a>: Rename TermFreqPayloadIterator -&gt; InputIterator, along
+with associated suggest/spell classes.
+<br /><span class="attrib">(Areek Zillur via Mike
+      <li><a href="">LUCENE-5157</a>: Rename OrdinalMap methods to clarify API and internal structure.
+<br /><span class="attrib">(Boaz Leskes via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5313</a>: Move preservePositionIncrements from setter to ctor in
+<br /><span class="attrib">(Areek Zillur via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5321</a>: Remove Facet42DocValuesFormat. Use DirectDocValuesFormat if you
+want to load the category list into memory.
+<br /><span class="attrib">(Shai Erera, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5324</a>: AnalyzerWrapper.getPositionIncrementGap and getOffsetGap can now
+be overridden.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.6.0.optimizations" href="javascript:toggleList('v4.6.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v4.6.0.optimizations.list">
+      <li><a href="">LUCENE-5225</a>: The ToParentBlockJoinQuery only keeps tracks of the the child
+doc ids and child scores if the ToParentBlockJoinCollector is used.
+<br /><span class="attrib">(Martijn van Groningen)</span></li>
+      <li><a href="">LUCENE-5236</a>: EliasFanoDocIdSet now has an index and uses broadword bit
+selection to speed-up advance().
+<br /><span class="attrib">(Paul Elschot via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5266</a>: Improved number of read calls and branches in DirectPackedReader.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="">LUCENE-5300</a>: Optimized SORTED_SET storage for fields which are single-valued.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.6.0.documentation" href="javascript:toggleList('v4.6.0.documentation')">Documentation</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.6.0.documentation.list">
+      <li><a href="">LUCENE-5211</a>: Better javadocs and error checking of 'format' option in
+StopFilterFactory, as well as comments in all snowball formated files
+about specifying format option.
+<br /><span class="attrib">(hossman)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.6.0.changes_in_backwards_compatibility_policy" href="javascript:toggleList('v4.6.0.changes_in_backwards_compatibility_policy')">Changes in backwards compatibility policy</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.6.0.changes_in_backwards_compatibility_policy.list">
+      <li><a href="">LUCENE-5235</a>: Sub classes of Tokenizer have to call super.reset()
+when implementing reset(). Otherwise the consumer will get an
+IllegalStateException because the Reader is not correctly assigned.
+It is important to never change the "input" field on Tokenizer
+without using setReader(). The "input" field must not be used
+outside reset(), incrementToken(), or end() - especially not in
+the constructor.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="">LUCENE-5204</a>: Directory doesn't have default implementations for
+LockFactory-related methods, which have been moved to BaseDirectory. If you
+had a custom Directory implementation that extended Directory, you need to
+extend BaseDirectory instead.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="" href="javascript:toggleList('')">Build</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="">
+      <li><a href="">LUCENE-5283</a>: Fail the build if ant test didn't execute any tests
+(everything filtered out).
+<br /><span class="attrib">(Dawid Weiss, Uwe Schindler)</span></li>
+      <li><a href="">LUCENE-5249</a>, <a href="">LUCENE-5257</a>: All Lucene/Solr modules should use the same
+dependency versions.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5273</a>: Binary artifacts in Lucene and Solr convenience binary
+distributions accompanying a release, including on Maven Central,
+should be identical across all distributions.
+<br /><span class="attrib">(Steve Rowe, Uwe Schindler,
+Shalin Shekhar Mangar)</span></li>
+      <li><a href="">LUCENE-4753</a>: Run forbidden-apis Ant task per module. This allows more
+improvements and prevents OOMs after the number of class files
+raised recently.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.6.0.tests" href="javascript:toggleList('v4.6.0.tests')">Tests</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.6.0.tests.list">
+      <li><a href="">LUCENE-5278</a>: Fix MockTokenizer to work better with more regular expression
+patterns. Previously it could only behave like CharTokenizer (where a character
+is either a "word" character or not), but now it gives a general longest-match
+<br /><span class="attrib">(Nik Everett via Robert Muir)</span></li>
+    </ol>
+  </li>
+<h3><a id="v4.5.1" href="javascript:toggleList('v4.5.1')">Release 4.5.1  [2013-10-24]</a></h3>
+<ul id="v4.5.1.list">
+  <li><a id="v4.5.1.bug_fixes" href="javascript:toggleList('v4.5.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(8)
+    <ol id="v4.5.1.bug_fixes.list">
+      <li><a href="">LUCENE-4998</a>: Fixed a few places to pass IOContext.READONCE instead
+of IOContext.READ
+<br /><span class="attrib">(Shikhar Bhushan via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5242</a>: DirectoryTaxonomyWriter.replaceTaxonomy did not fully reset
+its state, which could result in exceptions being thrown, as well as
+incorrect ordinals returned from getParent.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5254</a>: Fixed bounded memory leak, where objects like live
+docs bitset were not freed from an starting reader after reopening
+to a new reader and closing the original one.
+<br /><span class="attrib">(Shai Erera, Mike
+      <li><a href="">LUCENE-5262</a>: Fixed file handle leaks when multiple attempts to open an
+NRT reader hit exceptions.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5263</a>: Transient IOExceptions, e.g. due to disk full or file
+descriptor exhaustion, hit at unlucky times inside IndexWriter could
+lead to silently losing deletions.
+<br /><span class="attrib">(Shai Erera, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5264</a>: CommonTermsQuery ignored minMustMatch if only high-frequent
+terms were present in the query and the high-frequent operator was set
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5269</a>: Fix bug in NGramTokenFilter where it would sometimes count
+unicode characters incorrectly.
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="">LUCENE-5289</a>: IndexWriter.hasUncommittedChanges was returning false
+when there were buffered delete-by-Term.
+<br /><span class="attrib">(Shalin Shekhar Mangar,
+Mike McCandless)</span></li>
+    </ol>
+  </li>
+<h3><a id="v4.5.0" href="javascript:toggleList('v4.5.0')">Release 4.5.0  [2013-10-05]</a></h3>
+<ul id="v4.5.0.list">
+  <li><a id="v4.5.0.new_features" href="javascript:toggleList('v4.5.0.new_features')">New features</a>&nbsp;&nbsp;&nbsp;(15)
+    <ol id="v4.5.0.new_features.list">
+      <li><a href="">LUCENE-5084</a>: Added new Elias-Fano encoder, decoder and DocIdSet
+<br /><span class="attrib">(Paul Elschot via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5081</a>: Added WAH8DocIdSet, an in-memory doc id set implementation based
+on word-aligned hybrid encoding.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5098</a>: New broadword utility methods in oal.util.BroadWord.
+<br /><span class="attrib">(Paul Elschot via Adrien Grand, Dawid Weiss)</span></li>
+      <li><a href="">LUCENE-5030</a>: FuzzySuggester now supports optional unicodeAware
+(default is false).  If true then edits are measured in Unicode code
+points instead of UTF8 bytes.
+<br /><span class="attrib">(Artem Lukanin via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5118</a>: SpatialStrategy.makeDistanceValueSource() now has an optional
+multiplier for scaling degrees to another unit.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="">LUCENE-5091</a>: SpanNotQuery can now be configured with pre and post slop to act
+as a hypothetical SpanNotNearQuery.
+<br /><span class="attrib">(Tim Allison via David Smiley)</span></li>
+      <li><a href="">LUCENE-4985</a>: FacetsAccumulator.create() is now able to create a
+MultiFacetsAccumulator over a mixed set of facet requests. MultiFacetsAccumulator
+allows wrapping multiple FacetsAccumulators, allowing to easily mix
+existing and custom ones. TaxonomyFacetsAccumulator supports any
+FacetRequest which implements createFacetsAggregator and was indexed
+using the taxonomy index.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5153</a>: AnalyzerWrapper.wrapReader allows wrapping the Reader given to
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5155</a>: FacetRequest.getValueOf and .getFacetArraysSource replaced by
+FacetsAggregator.createOrdinalValueResolver. This gives better options for
+resolving an ordinal's value by FacetAggregators.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5165</a>: Add SuggestStopFilter, to be used with analyzing
+suggesters, so that a stop word at the very end of the lookup query,
+and without any trailing token characters, will be preserved.  This
+enables query "a" to suggest apple; see
+<a href=""></a>
+for details.
+      <li><a href="">LUCENE-5178</a>: Added support for missing values to DocValues fields.
+AtomicReader.getDocsWithField returns a Bits of documents with a value,
+and FieldCache.getDocsWithField forwards to that for DocValues fields. Things like
+SortField.setMissingValue, FunctionValues.exists, and FieldValueFilter now
+work with DocValues fields.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5124</a>: Lucene 4.5 has a new Lucene45Codec with Lucene45DocValues,
+supporting missing values and with most datastructures residing off-heap.
+Added "Memory" docvalues format that works entirely in heap, and "Disk"
+loads no datastructures into RAM. Both of these also support missing values.
+Added DiskNormsFormat (in case you want norms entirely on disk).
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-2750</a>: Added PForDeltaDocIdSet, an in-memory doc id set implementation
+based on the PFOR encoding.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5186</a>: Added CachingWrapperFilter.getFilter in order to be able to get
+the wrapped filter.
+<br /><span class="attrib">(Trejkaz via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5197</a>: Added SegmentReader.ramBytesUsed to return approximate heap RAM
+used by index datastructures.
+<br /><span class="attrib">(Areek Zillur via Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.5.0.bug_fixes" href="javascript:toggleList('v4.5.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(16)
+    <ol id="v4.5.0.bug_fixes.list">
+      <li><a href="">LUCENE-5116</a>: IndexWriter.addIndexes(IndexReader...) should drop empty (or all
+deleted) segments.
+<br /><span class="attrib">(Robert Muir, Shai Erera)</span></li>
+      <li><a href="">LUCENE-5132</a>: Spatial RecursivePrefixTree Contains predicate will throw an NPE
+when there's no indexed data and maybe in other circumstances too.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="">LUCENE-5146</a>: AnalyzingSuggester sort comparator read part of the input key as the
+weight that caused the sorter to never sort by weight first since the weight is only
+considered if the input is equal causing the malformed weight to be identical as well.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5151</a>: Associations FacetsAggregators could enter an infinite loop when
+some result documents were missing category associations.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5152</a>: Fix MemoryPostingsFormat to not modify borrowed BytesRef from FSTEnum
+seek/lookup which can cause sideeffects if done on a cached FST root arc.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5160</a>: Handle the case where reading from a file or FileChannel returns -1,
+which could happen in rare cases where something happens to the file between the
+time we start the read loop (where we check the length) and when we actually do
+the read.
+<br /><span class="attrib">(gsingers, yonik, Robert Muir, Uwe Schindler)</span></li>
+      <li><a href="">LUCENE-5166</a>: PostingsHighlighter would throw IOOBE if a term spanned the maxLength
+boundary, made it into the top-N and went to the formatter.
+<br /><span class="attrib">(Manuel Amoabeng, Michael McCandless, Robert Muir)</span></li>
+      <li><a href="">LUCENE-4583</a>: Indexing core no longer enforces a limit on maximum
+length binary doc values fields, but individual codecs (including
+the default one) have their own limits
+<br /><span class="attrib">(David Smiley, Robert Muir,
+Mike McCandless)</span></li>
+      <li><a href="">LUCENE-3849</a>: TokenStreams now set the position increment in end(),
+so we can handle trailing holes.  If you have a custom TokenStream
+implementing end() then be sure it calls super.end().
+<br /><span class="attrib">(Robert Muir,
+Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5192</a>: IndexWriter could allow adding same field name with different
+DocValueTypes under some circumstances.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5191</a>: SimpleHTMLEncoder in Highlighter module broke Unicode
+outside BMP because it encoded UTF-16 chars instead of codepoints.
+The escaping of codepoints &gt; 127 was removed (not needed for valid HTML)
+and missing escaping for ' and / was added.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="">LUCENE-5201</a>: Fixed compression bug in LZ4.compressHC when the input is highly
+compressible and the start offset of the array to compress is &gt; 0.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5221</a>: SimilarityBase did not write norms the same way as DefaultSimilarity
+if discountOverlaps == false and index-time boosts are present for the field.
+<br /><span class="attrib">(Yubin Kim via Robert Muir)</span></li>
+      <li><a href="">LUCENE-5223</a>: Fixed IndexUpgrader command line parsing: -verbose is not required
+and -dir-impl option now works correctly.
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="">LUCENE-5245</a>: Fix MultiTermQuery's constant score rewrites to always
+return a ConstantScoreQuery to make scoring consistent. Previously it
+returned an empty unwrapped BooleanQuery, if no terms were available,
+which has a different query norm.
+<br /><span class="attrib">(Nik Everett, Uwe Schindler)</span></li>
+      <li><a href="">LUCENE-5218</a>: In some cases, trying to retrieve or merge a 0-length
+binary doc value would hit an ArrayIndexOutOfBoundsException.
+<br /><span class="attrib">(Littlestar via Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.5.0.api_changes" href="javascript:toggleList('v4.5.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(13)
+    <ol id="v4.5.0.api_changes.list">
+      <li><a href="">LUCENE-5094</a>: Add ramBytesUsed() to MultiDocValues.OrdinalMap.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5114</a>: Remove unused boolean useCache parameter from
+TermsEnum.seekCeil and .seekExact
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5128</a>: IndexSearcher.searchAfter throws IllegalArgumentException if
+searchAfter exceeds the number of documents in the reader.
+<br /><span class="attrib">(Crocket via Shai Erera)</span></li>
+      <li><a href="">LUCENE-5129</a>: CategoryAssociationsContainer no longer supports null
+association values for categories. If you want to index categories without
+associations, you should add them using FacetFields.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-4876</a>: IndexWriter no longer clones the given IndexWriterConfig. If you
+need to use the same config more than once, e.g. when sharing between multiple
+writers, make sure to clone it before passing to each writer.
+<br /><span class="attrib">(Shai Erera, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5144</a>: StandardFacetsAccumulator renamed to OldFacetsAccumulator, and all
+associated classes were moved under o.a.l.facet.old. The intention to remove it
+one day, when the features it covers (complements, partitiona, sampling) will be
+migrated to the new FacetsAggregator and FacetsAccumulator API. Also,
+FacetRequest.createAggregator was replaced by OldFacetsAccumulator.createAggregator.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5149</a>: CommonTermsQuery now allows to set the minimum number of terms that
+should match for its high and low frequent sub-queries. Previously this was only
+supported on the low frequent terms query.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5156</a>: CompressingTermVectors TermsEnum no longer supports ord().
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5161</a>, <a href="">LUCENE-5164</a>: Fix default chunk sizes in FSDirectory to not be
+unnecessarily large (now 8192 bytes); also use chunking when writing to index
+files. FSDirectory#setReadChunkSize() is now deprecated and will be removed
+in Lucene 5.0.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir, gsingers)</span></li>
+      <li><a href="">LUCENE-5170</a>: Analyzer.ReuseStrategy instances are now stateless and can
+be reused in other Analyzer instances, which was not possible before.
+Lucene ships now with stateless singletons for per field and global reuse.
+Legacy code can still instantiate the deprecated implementation classes,
+but new code should use the constants. Implementors of custom strategies
+have to take care of new method signatures. AnalyzerWrapper can now be
+configured to use a custom strategy, too, ideally the one from the wrapped
+Analyzer. Analyzer adds a getter to retrieve the strategy for this use-case.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir, Shay Banon)</span></li>
+      <li><a href="">LUCENE-5173</a>: Lucene never writes segments with 0 documents anymore.
+<br /><span class="attrib">(Shai Erera, Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="">LUCENE-5178</a>: SortedDocValues always returns -1 ord when a document is missing
+a value for the field. Previously it only did this if the SortedDocValues
+was produced by uninversion on the FieldCache.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5183</a>: remove BinaryDocValues.MISSING. In order to determine a document
+is missing a field, use getDocsWithField instead.
+<br /><span class="attrib">(Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.5.0.changes_in_runtime_behavior" href="javascript:toggleList('v4.5.0.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.5.0.changes_in_runtime_behavior.list">
+      <li><a href="">LUCENE-5178</a>: DocValues codec consumer APIs (iterables) return null values
+when the document has no value for the field.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5200</a>: The HighFreqTerms command-line tool returns the true top-N
+by totalTermFreq when using the -t option, it uses the term statistics (faster)
+and now always shows totalTermFreq in the output.
+<br /><span class="attrib">(Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.5.0.optimizations" href="javascript:toggleList('v4.5.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(12)
+    <ol id="v4.5.0.optimizations.list">
+      <li><a href="">LUCENE-5088</a>: Added TermFilter to filter docs by a specific term.
+<br /><span class="attrib">(Martijn van Groningen)</span></li>
+      <li><a href="">LUCENE-5119</a>: DiskDV keeps the document-to-ordinal mapping on disk for
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5145</a>: New AppendingPackedLongBuffer, a new variant of the former
+AppendingLongBuffer which assumes values are 0-based.
+<br /><span class="attrib">(Boaz Leskes via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5145</a>: All Appending*Buffer now support bulk get.
+<br /><span class="attrib">(Boaz Leskes via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5140</a>: Fixed a performance regression of span queries caused by
+<a href="">LUCENE-4946</a>.
+<br /><span class="attrib">(Alan Woodward, Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5150</a>: Make WAH8DocIdSet able to inverse its encoding in order to
+compress dense sets efficiently as well.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5159</a>: Prefix-code the sorted/sortedset value dictionaries in DiskDV.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5170</a>: Fixed several wrapper analyzers to inherit the reuse strategy
+of the wrapped Analyzer.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir, Shay Banon)</span></li>
+      <li><a href="">LUCENE-5006</a>: Simplified DocumentsWriter and DocumentsWriterPerThread
+synchronization and concurrent interaction with IndexWriter. DWPT is now
+only setup once and has no reset logic. All segment publishing and state
+transition from DWPT into IndexWriter is now done via an Event-Queue
+processed from within the IndexWriter in order to prevent suituations
+where DWPT or DW calling int IW causing deadlocks.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5182</a>: Terminate phrase searches early if max phrase window is
+exceeded in FastVectorHighlighter to prevent very long running phrase
+extraction if phrase terms are high frequent.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5188</a>: CompressingStoredFieldsFormat now slices chunks containing big
+documents into fixed-size blocks so that requesting a single field does not
+necessarily force to decompress the whole chunk.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5101</a>: CachingWrapper makes it easier to plug-in a custom cacheable
+DocIdSet implementation and uses WAH8DocIdSet by default, which should be
+more memory efficient than FixedBitSet on average as well as faster on small
+<br /><span class="attrib">(Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.5.0.documentation" href="javascript:toggleList('v4.5.0.documentation')">Documentation</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.5.0.documentation.list">
+      <li><a href="">LUCENE-4894</a>: remove facet userguide as it was outdated. Partially absorbed into
+package's documentation and classes javadocs.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-5206</a>: Clarify FuzzyQuery's unexpected behavior on short
+<br /><span class="attrib">(Tim Allison via Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.5.0.changes_in_backwards_compatibility_policy" href="javascript:toggleList('v4.5.0.changes_in_backwards_compatibility_policy')">Changes in backwards compatibility policy</a>&nbsp;&nbsp;&nbsp;(5)
+    <ol id="v4.5.0.changes_in_backwards_compatibility_policy.list">
+      <li><a href="">LUCENE-5141</a>: CheckIndex.fixIndex(Status,Codec) is now
+CheckIndex.fixIndex(Status). If you used to pass a codec to this method, just
+remove it from the arguments.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5089</a>, <a href="">SOLR-5126</a>: Update to Morfologik 1.7.1. MorfologikAnalyzer and MorfologikFilter
+no longer support multiple "dictionaries" as there is only one dictionary available.
+<br /><span class="attrib">(Dawid Weiss)</span></li>
+      <li><a href="">LUCENE-5170</a>: Changed method signatures of Analyzer.ReuseStrategy to take
+Analyzer. Closeable interface was removed because the class was changed to
+be stateless.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir, Shay Banon)</span></li>
+      <li><a href="">LUCENE-5187</a>: SlowCompositeReaderWrapper constructor is now private,
+SlowCompositeReaderWrapper.wrap should be used instead.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5101</a>: CachingWrapperFilter doesn't always return FixedBitSet instances
+anymore. Users of the join module can use instead.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="" href="javascript:toggleList('')">Build</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="">
+      <li><a href="">SOLR-5159</a>: Manifest includes non-parsed maven variables.
+<br /><span class="attrib">(Artem Karpenko via Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5193</a>: Add jar-src as top-level target to generate all Lucene and Solr
+<br /><span class="attrib">(Steve Rowe, Shai Erera)</span></li>
+    </ol>
+  </li>
+<h3><a id="v4.4.0" href="javascript:toggleList('v4.4.0')">Release 4.4.0  [2013-07-23]</a></h3>
+<ul id="v4.4.0.list">
+  <li><a id="v4.4.0.changes_in_backwards_compatibility_policy" href="javascript:toggleList('v4.4.0.changes_in_backwards_compatibility_policy')">Changes in backwards compatibility policy</a>&nbsp;&nbsp;&nbsp;(18)
+    <ol id="v4.4.0.changes_in_backwards_compatibility_policy.list">
+      <li><a href="">LUCENE-5085</a>: MorfologikFilter will no longer stem words marked as keywords
+<br /><span class="attrib">(Dawid Weiss, Grzegorz Sobczyk)</span></li>
+      <li><a href="">LUCENE-4955</a>: NGramTokenFilter now emits all n-grams for the same token at the
+same position and preserves the position length and the offsets of the
+original token.
+<br /><span class="attrib">(Simon Willnauer, Adrien Grand)</span></li>
+      <li><a href="">LUCENE-4955</a>: NGramTokenizer now emits n-grams in a different order
+(a, ab, b, bc, c) instead of (a, b, c, ab, bc) and doesn't trim trailing
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5042</a>: The n-gram and edge n-gram tokenizers and filters now correctly
+handle supplementary characters, and the tokenizers have the ability to
+pre-tokenize the input stream similarly to CharTokenizer.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-4967</a>: NRTManager is replaced by
+ControlledRealTimeReopenThread, for controlling which requests must
+see which indexing changes, so that it can work with any
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="">LUCENE-4973</a>: SnapshotDeletionPolicy no longer requires a unique
+String id
+<br /><span class="attrib">(Mike McCandless, Shai Erera)</span></li>
+      <li><a href="">LUCENE-4946</a>: The internal sorting API (SorterTemplate, now Sorter) has been
+completely refactored to allow for a better implementation of TimSort.
+<br /><span class="attrib">(Adrien Grand, Uwe Schindler, Dawid Weiss)</span></li>
+      <li><a href="">LUCENE-4963</a>: Some TokenFilter options that generate broken TokenStreams have
+been deprecated: updateOffsets=true on TrimFilter and
+enablePositionIncrements=false on all classes that inherit from
+FilteringTokenFilter: JapanesePartOfSpeechStopFilter, KeepWordFilter,
+LengthFilter, StopFilter and TypeTokenFilter.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-4963</a>: In order not to take position increments into account in
+suggesters, you now need to call setPreservePositionIncrements(false) instead
+of configuring the token filters to not increment positions.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-3907</a>: EdgeNGramTokenizer now supports maxGramSize &gt; 1024, doesn't trim
+the input, sets position increment = 1 for all tokens and doesn't support
+backward grams anymore.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-3907</a>: EdgeNGramTokenFilter does not support backward grams and does
+not update offsets anymore.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-4981</a>: PositionFilter is now deprecated as it can corrupt token stream
+graphs. Since it main use-case was to make query parsers generate boolean
+queries instead of phrase queries, it is now advised to use
+QueryParser.setAutoGeneratePhraseQueries(false) (for simple cases) or to
+override QueryParser.newFieldQuery.
+<br /><span class="attrib">(Adrien Grand, Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5018</a>: CompoundWordTokenFilterBase and its children
+DictionaryCompoundWordTokenFilter and HyphenationCompoundWordTokenFilter don't
+update offsets anymore.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5015</a>: SamplingAccumulator no longer corrects the counts of the sampled
+categories. You should set TakmiSampleFixer on SamplingParams if required (but
+notice that this means slower search).
+<br /><span class="attrib">(Rob Audenaerde, Gilad Barkai, Shai Erera)</span></li>
+      <li><a href="">LUCENE-4933</a>: Replace ExactSimScorer/SloppySimScorer with just SimScorer. Previously
+there were 2 implementations as a performance hack to support tableization of
+sqrt(), but this caching is removed, as sqrt is implemented in hardware with modern
+jvms and its faster not to cache.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5038</a>: MergePolicy now has a default implementation for useCompoundFile based
+on segment size and noCFSRatio. The default implemantion was pulled up from
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="">LUCENE-5063</a>: FieldCache.get(Bytes|Shorts), SortField.Type.(BYTE|SHORT) and
+deprecated. These methods/types assume that data is stored as strings although
+Lucene has much better support for numeric data through (Int|Long)Field,
+NumericRangeQuery and FieldCache.get(Int|Long)s.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5078</a>: TfIDFSimilarity lets you encode the norm value as any arbitrary long.
+As a result, encode/decodeNormValue were made abstract with their signatures changed.
+The default implementation was moved to DefaultSimilarity, which encodes the norm as
+a single-byte value.
+<br /><span class="attrib">(Shai Erera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.4.0.bug_fixes" href="javascript:toggleList('v4.4.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(23)
+    <ol id="v4.4.0.bug_fixes.list">
+      <li><a href="">LUCENE-4890</a>: QueryTreeBuilder.getBuilder() only finds interfaces on the
+most derived class.
+<br /><span class="attrib">(Adriano Crestani)</span></li>
+      <li><a href="">LUCENE-4997</a>: Internal test framework's tests are sensitive to previous
+test failures and tests.failfast.
+<br /><span class="attrib">(Dawid Weiss, Shai Erera)</span></li>
+      <li><a href="">LUCENE-4955</a>: NGramTokenizer now supports inputs larger than 1024 chars.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-4959</a>: Fix incorrect return value in
+<br /><span class="attrib">(Alexey Kutin via Adrien Grand)</span></li>
+      <li><a href="">LUCENE-4972</a>: DirectoryTaxonomyWriter created empty commits even if no changes
+were made.
+<br /><span class="attrib">(Shai Erera, Michael McCandless)</span></li>
+      <li><a href="">LUCENE-949</a>: AnalyzingQueryParser can't work with leading wildcards.
+<br /><span class="attrib">(Tim Allison, Robert Muir, Steve Rowe)</span></li>
+      <li><a href="">LUCENE-4980</a>: Fix issues preventing mixing of RangeFacetRequest and
+non-RangeFacetRequest when using DrillSideways.
+<br /><span class="attrib">(Mike McCandless,
+Shai Erera)</span></li>
+      <li><a href="">LUCENE-4996</a>: Ensure DocInverterPerField always includes field name
+in exception messages.
+<br /><span class="attrib">(Markus Jelsma via Robert Muir)</span></li>
+      <li><a href="">LUCENE-4992</a>: Fix constructor of CustomScoreQuery to take FunctionQuery
+for scoringQueries. Instead use QueryValueSource to safely wrap arbitrary
+queries and use them with CustomScoreQuery.
+<br /><span class="attrib">(John Wang, Robert Muir)</span></li>
+      <li><a href="">LUCENE-5016</a>: SamplingAccumulator returned inconsistent label if asked to
+aggregate a non-existing category. Also fixed a bug in RangeAccumulator if
+some readers did not have the requested numeric DV field.
+<br /><span class="attrib">(Rob Audenaerde, Shai Erera)</span></li>
+      <li><a href="">LUCENE-5028</a>: Remove pointless and confusing doShare option in FST's
+<br /><span class="attrib">(Han Jiang via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5032</a>: Fix IndexOutOfBoundsExc in PostingsHighlighter when
+multi-valued fields exceed maxLength
+<br /><span class="attrib">(Tomás Fernández Löbbe
+via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-4933</a>: SweetSpotSimilarity didn't apply its tf function to some
+queries (SloppyPhraseQuery, SpanQueries).
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="">LUCENE-5033</a>: SlowFuzzyQuery was accepting too many terms (documents) when
+provided minSimilarity is an int &gt; 1
+<br /><span class="attrib">(Tim Allison via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5045</a>: did not work on an empty index.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="">LUCENE-4995</a>: CompressingStoredFieldsReader now only reuses an internal buffer
+when there is no more than 32kb to decompress. This prevents from running
+into out-of-memory errors when working with large stored fields.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5062</a>: If the spatial data for a document was comprised of multiple
+overlapping or adjacent parts then a CONTAINS predicate query might not match
+when the sum of those shapes contain the query shape but none do individually.
+A flag was added to use the original faster algorithm.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="">LUCENE-4971</a>: Fixed NPE in AnalyzingSuggester when there are too many
+graph expansions.
+<br /><span class="attrib">(Alexey Kudinov via Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5080</a>: Combined setMaxMergeCount and setMaxThreadCount into one
+setter in ConcurrentMergePolicy: setMaxMergesAndThreads.  Previously these
+setters would not work unless you invoked them very carefully.
+<br /><span class="attrib">(Robert Muir, Shai Erera)</span></li>
+      <li><a href="">LUCENE-5068</a>: QueryParserUtil.escape() does not escape forward slash.
+<br /><span class="attrib">(Matias Holte via Steve Rowe)</span></li>
+      <li><a href="">LUCENE-5103</a>: A join on A single-valued field with deleted docs scored too few
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="">LUCENE-5090</a>: Detect mismatched readers passed to
+SortedSetDocValuesReaderState and SortedSetDocValuesAccumulator.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="">LUCENE-5120</a>: AnalyzingSuggester modifed it's FST's cached root arc if payloads
+are used and the entire output resided on the root arc on the first access. This
+caused subsequent suggest calls to fail.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.4.0.optimizations" href="javascript:toggleList('v4.4.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(7)
+    <ol id="v4.4.0.optimizations.list">
+      <li><a href="">LUCENE-4936</a>: Improve numeric doc values compression in case all values share
+a common divisor. In particular, this improves the compression ratio of dates
+without time when they are encoded as milliseconds since Epoch. Also support
+TABLE compressed numerics in the Disk codec.
+<br /><span class="attrib">(Robert Muir, Adrien Grand)</span></li>
+      <li><a href="">LUCENE-4951</a>: DrillSideways uses the new Scorer.cost() method to make
+better decisions about which scorer to use internally.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="">LUCENE-4976</a>: PersistentSnapshotDeletionPolicy writes its state to a
+single snapshots_N file, and no longer requires closing
+<br /><span class="attrib">(Mike
+McCandless, Shai Erera)</span></li>
+      <li><a href="">LUCENE-5035</a>: Compress addresses in FieldCacheImpl.SortedDocValuesImpl more
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="">LUCENE-4941</a>: Sort "from" terms only once when using JoinUtil.
+<br /><span class="attrib">(Martijn van Groningen)</span></li>
+      <li><a href="">LUCENE-5050</a>: Close the stored fields and term vectors index files as soon as
+the index has been loaded into memory to save file descriptors.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="">LUCENE-5086</a>: RamUsageEstimator now uses official Java 7 API or a proprietary
+Oracle Java 6 API to get Hotspot MX bean, preventing AWT classes to be
+loaded on MacOSX.
+<br /><span class="attrib">(Shay Banon, Dawid Weiss, Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.4.0.new_features" href="javascript:toggleList('v4.4.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(19)
+    <ol id="v4.4.0.new_features.list">

[... 9215 lines stripped ...]

View raw message