You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2018/09/11 17:31:58 UTC

[1/7] lucene-solr:master: [LUCENE-8343] introduced weight 0 check and positional coefficient scaling + tests

Repository: lucene-solr
Updated Branches:
  refs/heads/master a619038e9 -> 398074d0f


[LUCENE-8343] introduced weight 0 check and positional coefficient scaling + tests


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e83e8ee1
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e83e8ee1
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e83e8ee1

Branch: refs/heads/master
Commit: e83e8ee1a42388606fffd10330ed1aeec9518098
Parents: 1d33130
Author: Alessandro Benedetti <a....@sease.io>
Authored: Fri Jun 1 12:52:41 2018 +0100
Committer: Alessandro Benedetti <a....@sease.io>
Committed: Fri Jun 1 12:52:41 2018 +0100

----------------------------------------------------------------------
 .../analyzing/BlendedInfixSuggester.java        |  7 +-
 .../analyzing/BlendedInfixSuggesterTest.java    | 79 +++++++++++++-------
 2 files changed, 58 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e83e8ee1/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
index 413d401..dc65f7a 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
@@ -224,8 +224,11 @@ public class BlendedInfixSuggester extends AnalyzingInfixSuggester {
       } else {
         coefficient = createCoefficient(searcher, fd.doc, matchedTokens, prefixToken);
       }
-
-      long score = (long) (weight * coefficient);
+      if (weight == 0) {
+        weight = 1;
+      }
+      long scaledCoefficient = (long) (coefficient * 10);
+      long score = weight * scaledCoefficient;
 
       LookupResult result;
       if (doHighlight) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e83e8ee1/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
index ace4467..1e5a5da 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
@@ -44,22 +44,44 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
    * of the matching term.
    */
   public void testBlendedSort() throws IOException {
-
     BytesRef payload = new BytesRef("star");
-
     Input keys[] = new Input[]{
         new Input("star wars: episode v - the empire strikes back", 8, payload)
     };
+    BlendedInfixSuggester suggester = getBlendedInfixSuggester(keys);
 
-    Path tempDir = createTempDir("BlendedInfixSuggesterTest");
+    assertSuggestionsRanking(payload, suggester);
+  }
 
-    Analyzer a = new StandardAnalyzer(CharArraySet.EMPTY_SET);
-    BlendedInfixSuggester suggester = new BlendedInfixSuggester(newFSDirectory(tempDir), a, a,
-                                                                AnalyzingInfixSuggester.DEFAULT_MIN_PREFIX_CHARS,
-                                                                BlendedInfixSuggester.BlenderType.POSITION_LINEAR,
-                                                                BlendedInfixSuggester.DEFAULT_NUM_FACTOR, false);
-    suggester.build(new InputArrayIterator(keys));
+  /**
+   * Test to validate the suggestions ranking according to the position coefficient,
+   * even if the weight associated to the suggestion is unitary.
+   */
+  public void testBlendedSort_fieldWeightUnitary_shouldRankSuggestionsByPositionMatch() throws IOException {
+    BytesRef payload = new BytesRef("star");
+    Input keys[] = new Input[]{
+        new Input("star wars: episode v - the empire strikes back", 1, payload)
+    };
+    BlendedInfixSuggester suggester = getBlendedInfixSuggester(keys);
+
+    assertSuggestionsRanking(payload, suggester);
+  }
 
+  /**
+   * Test to validate the suggestions ranking according to the position coefficient,
+   * even if the weight associated to the suggestion is zero.
+   */
+  public void testBlendedSort_fieldWeightZero_shouldRankSuggestionsByPositionMatch() throws IOException {
+    BytesRef payload = new BytesRef("star");
+    Input keys[] = new Input[]{
+        new Input("star wars: episode v - the empire strikes back", 0, payload)
+    };
+    BlendedInfixSuggester suggester = getBlendedInfixSuggester(keys);
+
+    assertSuggestionsRanking(payload, suggester);
+  }
+
+  private void assertSuggestionsRanking(BytesRef payload, BlendedInfixSuggester suggester) throws IOException {
     // we query for star wars and check that the weight
     // is smaller when we search for tokens that are far from the beginning
 
@@ -78,6 +100,18 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
     suggester.close();
   }
 
+  private BlendedInfixSuggester getBlendedInfixSuggester(Input[] keys) throws IOException {
+    Path tempDir = createTempDir("BlendedInfixSuggesterTest");
+
+    Analyzer a = new StandardAnalyzer(CharArraySet.EMPTY_SET);
+    BlendedInfixSuggester suggester = new BlendedInfixSuggester(newFSDirectory(tempDir), a, a,
+        AnalyzingInfixSuggester.DEFAULT_MIN_PREFIX_CHARS,
+        BlendedInfixSuggester.BlenderType.POSITION_LINEAR,
+        BlendedInfixSuggester.DEFAULT_NUM_FACTOR, false);
+    suggester.build(new InputArrayIterator(keys));
+    return suggester;
+  }
+
   /**
    * Verify the different flavours of the blender types
    */
@@ -97,9 +131,9 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
     BlendedInfixSuggester suggester = new BlendedInfixSuggester(newFSDirectory(tempDir), a);
     suggester.build(new InputArrayIterator(keys));
 
-    assertEquals(w, getInResults(suggester, "top", pl, 1));
-    assertEquals((int) (w * (1 - 0.10 * 2)), getInResults(suggester, "the", pl, 1));
-    assertEquals((int) (w * (1 - 0.10 * 3)), getInResults(suggester, "lake", pl, 1));
+    assertEquals(10 * w, getInResults(suggester, "top", pl, 1));
+    assertEquals(w * (long) (10 * (1 - 0.10 * 2)), getInResults(suggester, "the", pl, 1));
+    assertEquals(w * (long) (10 * (1 - 0.10 * 3)), getInResults(suggester, "lake", pl, 1));
 
     suggester.close();
 
@@ -109,9 +143,9 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
                                           BlendedInfixSuggester.BlenderType.POSITION_RECIPROCAL, 1, false);
     suggester.build(new InputArrayIterator(keys));
 
-    assertEquals(w, getInResults(suggester, "top", pl, 1));
-    assertEquals((int) (w * 1 / (1 + 2)), getInResults(suggester, "the", pl, 1));
-    assertEquals((int) (w * 1 / (1 + 3)), getInResults(suggester, "lake", pl, 1));
+    assertEquals(10 * w, getInResults(suggester, "top", pl, 1));
+    assertEquals(w * (long) (10 * 1 / (1 + 2)), getInResults(suggester, "the", pl, 1));
+    assertEquals(w * (long) (10 * 1 / (1 + 3)), getInResults(suggester, "lake", pl, 1));
     suggester.close();
 
     // BlenderType.EXPONENTIAL_RECIPROCAL is using 1/(pow(1+p, exponent)) * w where w is weight and p the position of the word
@@ -121,9 +155,9 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
 
     suggester.build(new InputArrayIterator(keys));
 
-    assertEquals(w, getInResults(suggester, "top", pl, 1));
-    assertEquals((int) (w * 1 / (Math.pow(1 + 2, 4.0))), getInResults(suggester, "the", pl, 1));
-    assertEquals((int) (w * 1 / (Math.pow(1 + 3, 4.0))), getInResults(suggester, "lake", pl, 1));
+    assertEquals(10 * w, getInResults(suggester, "top", pl, 1));
+    assertEquals(w * (long) (10 * 1 / (Math.pow(1 + 2, 4.0))), getInResults(suggester, "the", pl, 1));
+    assertEquals(w * (long) (10 * 1 / (Math.pow(1 + 3, 4.0))), getInResults(suggester, "lake", pl, 1));
 
     suggester.close();
   }
@@ -195,14 +229,7 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
         new Input("top of the lake", 8, payload)
     };
 
-    Path tempDir = createTempDir("BlendedInfixSuggesterTest");
-
-    Analyzer a = new StandardAnalyzer(CharArraySet.EMPTY_SET);
-    BlendedInfixSuggester suggester = new BlendedInfixSuggester(newFSDirectory(tempDir), a, a,
-                                                                AnalyzingInfixSuggester.DEFAULT_MIN_PREFIX_CHARS,
-                                                                BlendedInfixSuggester.BlenderType.POSITION_LINEAR,
-                                                                BlendedInfixSuggester.DEFAULT_NUM_FACTOR, false);
-    suggester.build(new InputArrayIterator(keys));
+    BlendedInfixSuggester suggester = getBlendedInfixSuggester(keys);
 
     getInResults(suggester, "of ", payload, 1);
     getInResults(suggester, "the ", payload, 1);


[6/7] lucene-solr:master: Merge remote-tracking branch 'upstream/master' into LUCENE-8343

Posted by mi...@apache.org.
Merge remote-tracking branch 'upstream/master' into LUCENE-8343


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/1a83a146
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/1a83a146
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1a83a146

Branch: refs/heads/master
Commit: 1a83a146684f20f431ba646fecb7db311e1e0afa
Parents: e0232f1 331ccf3
Author: Alessandro Benedetti <a....@sease.io>
Authored: Wed Jul 18 10:19:21 2018 +0100
Committer: Alessandro Benedetti <a....@sease.io>
Committed: Wed Jul 18 10:19:21 2018 +0100

----------------------------------------------------------------------
 build.xml                                       |     4 +-
 dev-tools/doap/lucene.rdf                       |    14 +
 dev-tools/doap/solr.rdf                         |    14 +
 dev-tools/idea/.idea/ant.xml                    |     2 -
 dev-tools/idea/.idea/modules.xml                |     2 -
 dev-tools/idea/.idea/workspace.xml              |    18 -
 .../idea/lucene/analysis/uima/analysis-uima.iml |    30 -
 dev-tools/idea/solr/contrib/uima/uima.iml       |    36 -
 .../maven/lucene/analysis/pom.xml.template      |     1 -
 .../maven/lucene/analysis/uima/pom.xml.template |    74 -
 dev-tools/maven/solr/contrib/pom.xml.template   |     1 -
 .../maven/solr/contrib/uima/pom.xml.template    |    83 -
 dev-tools/scripts/SOLR-2452.patch.hack.pl       |    15 -
 dev-tools/scripts/addVersion.py                 |     1 -
 dev-tools/scripts/jenkins.build.ref.guide.sh    |     2 +
 dev-tools/scripts/reproduceJenkinsFailures.py   |    12 +-
 .../test-patch/lucene-solr-yetus-personality.sh |     2 +-
 lucene/CHANGES.txt                              |   131 +-
 lucene/MIGRATE.txt                              |    24 +
 lucene/analysis/README.txt                      |     6 -
 lucene/analysis/build.xml                       |     7 +-
 lucene/analysis/common/build.xml                |     1 +
 .../lucene/analysis/bg/BulgarianAnalyzer.java   |    10 +-
 .../lucene/analysis/bn/BengaliAnalyzer.java     |    17 +-
 .../lucene/analysis/br/BrazilianAnalyzer.java   |     8 +-
 .../lucene/analysis/ca/CatalanAnalyzer.java     |    11 +-
 .../lucene/analysis/ckb/SoraniAnalyzer.java     |     9 +-
 .../commongrams/CommonGramsFilterFactory.java   |     8 +-
 .../lucene/analysis/core/StopAnalyzer.java      |    12 -
 .../lucene/analysis/core/StopFilterFactory.java |     7 +-
 .../lucene/analysis/cz/CzechAnalyzer.java       |    13 +-
 .../lucene/analysis/da/DanishAnalyzer.java      |    10 +-
 .../lucene/analysis/de/GermanAnalyzer.java      |     9 +-
 .../lucene/analysis/el/GreekAnalyzer.java       |     8 +-
 .../lucene/analysis/en/EnglishAnalyzer.java     |    42 +-
 .../lucene/analysis/es/SpanishAnalyzer.java     |    10 +-
 .../lucene/analysis/eu/BasqueAnalyzer.java      |    10 +-
 .../lucene/analysis/fa/PersianAnalyzer.java     |     4 +-
 .../lucene/analysis/fi/FinnishAnalyzer.java     |    10 +-
 .../lucene/analysis/fr/FrenchAnalyzer.java      |    11 +-
 .../lucene/analysis/ga/IrishAnalyzer.java       |     9 +-
 .../lucene/analysis/gl/GalicianAnalyzer.java    |    10 +-
 .../lucene/analysis/hi/HindiAnalyzer.java       |     4 +-
 .../lucene/analysis/hu/HungarianAnalyzer.java   |    10 +-
 .../lucene/analysis/hy/ArmenianAnalyzer.java    |    10 +-
 .../lucene/analysis/id/IndonesianAnalyzer.java  |    10 +-
 .../lucene/analysis/it/ItalianAnalyzer.java     |     9 +-
 .../lucene/analysis/lt/LithuanianAnalyzer.java  |    10 +-
 .../lucene/analysis/lv/LatvianAnalyzer.java     |    10 +-
 .../miscellaneous/ConditionalTokenFilter.java   |    64 +-
 .../miscellaneous/WordDelimiterGraphFilter.java |     1 +
 .../analysis/ngram/EdgeNGramTokenFilter.java    |     6 +
 .../lucene/analysis/ngram/NGramTokenFilter.java |     6 +
 .../lucene/analysis/nl/DutchAnalyzer.java       |    12 +-
 .../lucene/analysis/no/NorwegianAnalyzer.java   |    10 +-
 .../lucene/analysis/pt/PortugueseAnalyzer.java  |    10 +-
 .../lucene/analysis/ro/RomanianAnalyzer.java    |    10 +-
 .../lucene/analysis/ru/RussianAnalyzer.java     |    10 +-
 .../analysis/shingle/FixedShingleFilter.java    |     1 +
 .../analysis/standard/ASCIITLD.jflex-macro      |   263 +-
 .../analysis/standard/ClassicAnalyzer.java      |     4 +-
 .../standard/StandardFilterFactory.java         |    50 -
 .../standard/UAX29URLEmailAnalyzer.java         |    10 +-
 .../standard/UAX29URLEmailTokenizerImpl.java    | 47679 +++++++++--------
 .../standard/UAX29URLEmailTokenizerImpl.jflex   |    26 +-
 .../lucene/analysis/standard/package.html       |     6 +-
 .../lucene/analysis/sv/SwedishAnalyzer.java     |    10 +-
 .../lucene/analysis/tr/TurkishAnalyzer.java     |    10 +-
 .../lucene/analysis/util/UnicodeProps.java      |     6 +-
 ...ache.lucene.analysis.util.TokenFilterFactory |     1 -
 .../lucene/analysis/core/TestAnalyzers.java     |     9 +-
 .../lucene/analysis/core/TestRandomChains.java  |    21 +-
 .../lucene/analysis/core/TestStopAnalyzer.java  |     5 +-
 .../analysis/core/TestStopFilterFactory.java    |     3 +-
 .../TestConditionalTokenFilter.java             |    81 +-
 .../miscellaneous/TestWordDelimiterFilter.java  |    28 +-
 .../TestWordDelimiterGraphFilter.java           |    48 +-
 .../ngram/EdgeNGramTokenFilterTest.java         |    10 +
 .../analysis/ngram/NGramTokenFilterTest.java    |    21 +-
 .../analysis/sinks/TestTeeSinkTokenFilter.java  |    11 +-
 .../standard/TestStandardFactories.java         |     5 -
 .../standard/TestUAX29URLEmailTokenizer.java    |   158 +
 .../lucene/analysis/th/TestThaiAnalyzer.java    |     4 +-
 .../TestWikipediaTokenizerFactory.java          |     6 +-
 .../standard/GenerateJflexTLDMacros.java        |   148 +-
 lucene/analysis/icu/src/data/uax29/Default.rbbi |    46 +-
 .../icu/src/data/utr30/DiacriticFolding.txt     |     4 +
 .../icu/src/data/utr30/NativeDigitFolding.txt   |    20 +
 .../icu/segmentation/BreakIteratorWrapper.java  |    12 +-
 lucene/analysis/icu/src/java/overview.html      |     2 +-
 .../analysis/icu/segmentation/Default.brk       |   Bin 50760 -> 43176 bytes
 .../icu/segmentation/MyanmarSyllable.brk        |   Bin 21272 -> 21808 bytes
 .../org/apache/lucene/analysis/icu/utr30.nrm    |   Bin 59056 -> 59232 bytes
 .../Latin-dont-break-on-hyphens.rbbi            |   187 +-
 .../icu/segmentation/TestICUTokenizer.java      |    15 +
 .../analysis/ja/TestJapaneseAnalyzer.java       |     2 +-
 .../analysis/ja/TestJapaneseTokenizer.java      |    12 +-
 .../analysis/morfologik/MorfologikAnalyzer.java |    11 +-
 .../uk/UkrainianMorfologikAnalyzer.java         |     9 +-
 .../morfologik/TestMorfologikAnalyzer.java      |     4 +-
 .../lucene/analysis/pl/PolishAnalyzer.java      |    10 +-
 .../src/java/org/egothor/stemmer/Trie.java      |    16 +-
 lucene/analysis/uima/build.xml                  |    50 -
 lucene/analysis/uima/ivy.xml                    |    30 -
 .../lucene/analysis/uima/BaseUIMATokenizer.java |    96 -
 .../analysis/uima/UIMAAnnotationsTokenizer.java |    90 -
 .../uima/UIMAAnnotationsTokenizerFactory.java   |    47 -
 .../lucene/analysis/uima/UIMABaseAnalyzer.java  |    44 -
 .../analysis/uima/UIMATypeAwareAnalyzer.java    |    44 -
 .../uima/UIMATypeAwareAnnotationsTokenizer.java |   113 -
 ...IMATypeAwareAnnotationsTokenizerFactory.java |    50 -
 .../lucene/analysis/uima/ae/AEProvider.java     |    34 -
 .../analysis/uima/ae/AEProviderFactory.java     |    76 -
 .../analysis/uima/ae/BasicAEProvider.java       |    87 -
 .../uima/ae/OverridingParamsAEProvider.java     |    69 -
 .../lucene/analysis/uima/ae/package-info.java   |    21 -
 .../lucene/analysis/uima/package-info.java      |    21 -
 lucene/analysis/uima/src/java/overview.html     |    29 -
 ...apache.lucene.analysis.util.TokenizerFactory |    17 -
 .../src/resources/uima/AggregateSentenceAE.xml  |    70 -
 .../test-files/uima/TestAggregateSentenceAE.xml |    55 -
 .../test-files/uima/TestEntityAnnotatorAE.xml   |    66 -
 .../src/test-files/uima/TestPoSTaggerAE.xml     |    44 -
 .../src/test-files/uima/TestWSTokenizerAE.xml   |    78 -
 .../analysis/uima/UIMABaseAnalyzerTest.java     |   137 -
 .../uima/UIMATypeAwareAnalyzerTest.java         |    70 -
 .../analysis/uima/ae/AEProviderFactoryTest.java |    44 -
 .../analysis/uima/ae/BasicAEProviderTest.java   |    36 -
 .../uima/ae/OverridingParamsAEProviderTest.java |    59 -
 .../analysis/uima/an/SampleEntityAnnotator.java |    64 -
 .../analysis/uima/an/SamplePoSTagger.java       |    57 -
 .../uima/an/SampleWSTokenizerAnnotator.java     |    66 -
 .../index/TestBackwardsCompatibility.java       |    11 +-
 .../org/apache/lucene/index/index.7.4.0-cfs.zip |   Bin 0 -> 15484 bytes
 .../apache/lucene/index/index.7.4.0-nocfs.zip   |   Bin 0 -> 15493 bytes
 .../org/apache/lucene/index/sorted.7.4.0.zip    |   Bin 0 -> 158939 bytes
 .../lucene/index/unsupported.6.6.5-cfs.zip      |   Bin 0 -> 15765 bytes
 .../lucene/index/unsupported.6.6.5-nocfs.zip    |   Bin 0 -> 15763 bytes
 .../conf/english-porter-comparison.alg          |     6 +-
 .../lucene/benchmark/byTask/tasks/ReadTask.java |     7 -
 .../byTask/tasks/SearchWithSortTask.java        |     9 -
 .../lucene/benchmark/byTask/utils/Config.java   |     2 +-
 lucene/build.xml                                |     1 -
 .../lucene/classification/BM25NBClassifier.java |     4 +-
 .../classification/KNearestFuzzyClassifier.java |     2 +-
 .../KNearestNeighborClassifier.java             |     2 +-
 lucene/common-build.xml                         |     2 -
 .../org/apache/lucene/analysis/Analyzer.java    |     2 -
 .../lucene/analysis/FilteringTokenFilter.java   |     2 -
 .../lucene/analysis/TokenStreamToAutomaton.java |     8 +-
 .../analysis/standard/StandardAnalyzer.java     |    38 +-
 .../analysis/standard/StandardFilter.java       |    39 -
 .../lucene/analysis/standard/package-info.java  |     1 -
 .../java/org/apache/lucene/geo/GeoUtils.java    |    38 +
 .../src/java/org/apache/lucene/geo/Polygon.java |    49 +-
 .../java/org/apache/lucene/geo/Polygon2D.java   |    22 +-
 .../org/apache/lucene/index/CheckIndex.java     |    13 +
 .../apache/lucene/index/FilterCodecReader.java  |    23 +
 .../apache/lucene/index/FilterLeafReader.java   |     5 -
 .../org/apache/lucene/index/IndexWriter.java    |    65 +-
 .../apache/lucene/index/LeafReaderContext.java  |     4 +-
 .../apache/lucene/index/PendingSoftDeletes.java |     6 +-
 .../org/apache/lucene/index/PostingsEnum.java   |     9 -
 .../org/apache/lucene/index/ReaderPool.java     |    37 +-
 .../apache/lucene/index/SegmentCommitInfo.java  |     4 +-
 .../index/SoftDeletesRetentionMergePolicy.java  |    35 +-
 .../apache/lucene/index/TieredMergePolicy.java  |   605 +-
 .../apache/lucene/search/DocIdSetIterator.java  |    41 +
 .../org/apache/lucene/search/IndexSearcher.java |    32 +-
 .../java/org/apache/lucene/search/Matches.java  |    13 +-
 .../apache/lucene/search/MultiCollector.java    |    14 +
 .../org/apache/lucene/search/QueryRescorer.java |     2 +-
 .../lucene/search/SloppyPhraseMatcher.java      |     4 +-
 .../org/apache/lucene/search/SortRescorer.java  |     2 +-
 .../org/apache/lucene/search/TermQuery.java     |     7 +
 .../java/org/apache/lucene/search/TopDocs.java  |    35 +-
 .../apache/lucene/search/TopDocsCollector.java  |     2 +-
 .../apache/lucene/search/TopFieldCollector.java |    81 +-
 .../org/apache/lucene/search/TopFieldDocs.java  |     5 +-
 .../lucene/search/TopScoreDocCollector.java     |    16 +-
 .../org/apache/lucene/util/PriorityQueue.java   |    11 +-
 .../lucene/util/fst/PositiveIntOutputs.java     |     3 +-
 .../src/test/org/apache/lucene/TestDemo.java    |     4 +-
 .../org/apache/lucene/TestExternalCodecs.java   |    14 +-
 .../lucene/analysis/TestCharArraySet.java       |     4 +-
 .../perfield/TestPerFieldDocValuesFormat.java   |     2 +-
 .../org/apache/lucene/index/Test2BTerms.java    |     2 +-
 .../index/TestBinaryDocValuesUpdates.java       |     5 +-
 .../lucene/index/TestDirectoryReaderReopen.java |     8 +-
 .../apache/lucene/index/TestIndexSorting.java   |     5 +-
 .../apache/lucene/index/TestIndexWriter.java    |    26 +-
 .../lucene/index/TestIndexWriterDelete.java     |     1 +
 .../lucene/index/TestIndexWriterExceptions.java |     9 +-
 .../index/TestIndexWriterWithThreads.java       |    15 +-
 .../apache/lucene/index/TestLogMergePolicy.java |    17 +
 .../org/apache/lucene/index/TestManyFields.java |     2 +-
 .../apache/lucene/index/TestNoMergePolicy.java  |    25 +
 .../index/TestNumericDocValuesUpdates.java      |     1 +
 .../lucene/index/TestPendingSoftDeletes.java    |     2 +
 .../apache/lucene/index/TestReadOnlyIndex.java  |     4 +-
 .../org/apache/lucene/index/TestReaderPool.java |    32 +
 .../TestSoftDeletesDirectoryReaderWrapper.java  |     2 +-
 .../TestSoftDeletesRetentionMergePolicy.java    |    65 +-
 .../lucene/index/TestTieredMergePolicy.java     |   396 +-
 .../index/TestUpgradeIndexMergePolicy.java      |    13 +
 .../lucene/search/MultiCollectorTest.java       |     3 +
 .../org/apache/lucene/search/TestBoolean2.java  |     8 +-
 .../lucene/search/TestConstantScoreQuery.java   |     4 +-
 .../lucene/search/TestDocIdSetIterator.java     |    55 +
 .../lucene/search/TestDoubleValuesSource.java   |     4 +-
 .../lucene/search/TestElevationComparator.java  |     2 +-
 .../lucene/search/TestFieldValueQuery.java      |     6 +-
 .../apache/lucene/search/TestIndexSearcher.java |    36 +-
 .../lucene/search/TestLongValuesSource.java     |     4 +-
 .../lucene/search/TestMultiCollector.java       |    74 +-
 .../lucene/search/TestMultiPhraseQuery.java     |     8 +-
 .../search/TestNormsFieldExistsQuery.java       |     6 +-
 .../apache/lucene/search/TestPhraseQuery.java   |     6 +-
 .../apache/lucene/search/TestPrefixQuery.java   |     2 +-
 .../apache/lucene/search/TestSearchAfter.java   |     9 +-
 .../lucene/search/TestShardSearching.java       |     4 +-
 .../apache/lucene/search/TestSortRandom.java    |     2 +-
 .../search/TestSortedNumericSortField.java      |     4 +-
 .../lucene/search/TestSortedSetSortField.java   |     4 +-
 .../org/apache/lucene/search/TestTermQuery.java |    30 +
 .../lucene/search/TestTopDocsCollector.java     |    22 +-
 .../apache/lucene/search/TestTopDocsMerge.java  |    10 +-
 .../lucene/search/TestTopFieldCollector.java    |   155 +-
 .../TestTopFieldCollectorEarlyTermination.java  |     7 +-
 .../spans/TestSpanMultiTermQueryWrapper.java    |    56 +-
 .../apache/lucene/search/spans/TestSpans.java   |     2 +-
 .../apache/lucene/util/TestPriorityQueue.java   |    19 +-
 .../org/apache/lucene/util/TestSetOnce.java     |    10 +-
 .../org/apache/lucene/util/fst/TestFSTs.java    |     4 +-
 .../lucene/expressions/TestDemoExpressions.java |    10 +-
 .../lucene/expressions/TestExpressionSorts.java |     4 +-
 .../org/apache/lucene/facet/DrillSideways.java  |     6 +-
 .../apache/lucene/facet/FacetsCollector.java    |    21 +-
 .../org/apache/lucene/facet/FacetsConfig.java   |    37 +-
 .../apache/lucene/facet/range/DoubleRange.java  |    16 +
 .../apache/lucene/facet/range/LongRange.java    |    16 +
 .../directory/DirectoryTaxonomyWriter.java      |     5 +
 .../writercache/LruTaxonomyWriterCache.java     |     3 +-
 .../writercache/NameHashIntCacheLRU.java        |     4 +-
 .../writercache/UTF8TaxonomyWriterCache.java    |    30 +-
 .../apache/lucene/facet/TestDrillDownQuery.java |    40 +
 .../apache/lucene/facet/TestDrillSideways.java  |     5 +-
 .../facet/range/TestRangeFacetCounts.java       |    26 +
 .../TestTaxonomyFacetSumValueSource.java        |     2 +-
 .../directory/TestDirectoryTaxonomyWriter.java  |     2 +
 .../TestUTF8TaxonomyWriterCache.java            |    12 +-
 .../search/grouping/BlockGroupingCollector.java |     8 +-
 .../lucene/search/grouping/TopGroups.java       |     6 +-
 .../search/grouping/TopGroupsCollector.java     |    93 +-
 .../lucene/search/uhighlight/PhraseHelper.java  |     4 +-
 .../TestUnifiedHighlighterStrictPhrases.java    |    32 +-
 lucene/ivy-versions.properties                  |    28 +-
 .../lucene/search/join/TestBlockJoin.java       |    20 +-
 .../apache/lucene/search/join/TestJoinUtil.java |     3 +-
 .../join/TestParentChildrenBlockJoinQuery.java  |     1 -
 lucene/licenses/Tagger-2.3.1.jar.sha1           |     1 -
 lucene/licenses/Tagger-LICENSE-ASL.txt          |   202 -
 lucene/licenses/Tagger-NOTICE.txt               |     7 -
 .../licenses/WhitespaceTokenizer-2.3.1.jar.sha1 |     1 -
 .../WhitespaceTokenizer-LICENSE-ASL.txt         |   202 -
 lucene/licenses/WhitespaceTokenizer-NOTICE.txt  |     7 -
 lucene/licenses/commons-compress-1.14.jar.sha1  |     1 -
 .../licenses/commons-compress-1.16.1.jar.sha1   |     1 +
 lucene/licenses/icu4j-61.1.jar.sha1             |     1 -
 lucene/licenses/icu4j-62.1.jar.sha1             |     1 +
 ...jetty-continuation-9.4.10.v20180503.jar.sha1 |     1 -
 ...jetty-continuation-9.4.11.v20180605.jar.sha1 |     1 +
 .../jetty-http-9.4.10.v20180503.jar.sha1        |     1 -
 .../jetty-http-9.4.11.v20180605.jar.sha1        |     1 +
 .../licenses/jetty-io-9.4.10.v20180503.jar.sha1 |     1 -
 .../licenses/jetty-io-9.4.11.v20180605.jar.sha1 |     1 +
 .../jetty-server-9.4.10.v20180503.jar.sha1      |     1 -
 .../jetty-server-9.4.11.v20180605.jar.sha1      |     1 +
 .../jetty-servlet-9.4.10.v20180503.jar.sha1     |     1 -
 .../jetty-servlet-9.4.11.v20180605.jar.sha1     |     1 +
 .../jetty-util-9.4.10.v20180503.jar.sha1        |     1 -
 .../jetty-util-9.4.11.v20180605.jar.sha1        |     1 +
 lucene/licenses/opennlp-tools-1.8.3.jar.sha1    |     1 -
 lucene/licenses/opennlp-tools-1.8.4.jar.sha1    |     1 +
 lucene/licenses/uimaj-core-2.3.1.jar.sha1       |     1 -
 lucene/licenses/uimaj-core-LICENSE-ASL.txt      |   202 -
 lucene/licenses/uimaj-core-NOTICE.txt           |    13 -
 .../search/DiversifiedTopDocsCollector.java     |    16 +-
 .../util/fst/UpToTwoPositiveIntOutputs.java     |     2 +
 lucene/module-build.xml                         |    22 -
 .../queries/function/FunctionScoreQuery.java    |    22 +
 .../function/TestFunctionQueryExplanations.java |     2 +-
 .../function/TestFunctionScoreQuery.java        |    10 +-
 .../function/TestIndexReaderFunctions.java      |     2 +-
 .../queries/function/TestValueSources.java      |     2 +-
 .../queries/payloads/TestPayloadTermQuery.java  |     2 -
 .../document/FloatPointNearestNeighbor.java     |     2 +-
 .../org/apache/lucene/document/LatLonPoint.java |     2 +-
 .../org/apache/lucene/document/LatLonShape.java |   113 +
 .../document/LatLonShapeBoundingBoxQuery.java   |   415 +
 .../java/org/apache/lucene/geo/Tessellator.java |   910 +
 .../src/java/org/apache/lucene/geo/package.html |    31 +
 .../apache/lucene/document/TestLatLonShape.java |   163 +
 .../lucene/document/TestLatLonShapeQueries.java |   278 +
 .../org/apache/lucene/geo/TestTessellator.java  |    45 +
 .../spatial3d/geom/GeoComplexPolygon.java       |     2 +-
 .../spatial3d/geom/GeoDegeneratePath.java       |     2 +-
 .../lucene/spatial3d/geom/GeoStandardPath.java  |     2 +-
 .../org/apache/lucene/spatial3d/geom/Plane.java |    13 +-
 .../apache/lucene/spatial3d/geom/XYZBounds.java |    12 +-
 .../apache/lucene/spatial3d/geom/PlaneTest.java |     2 +-
 .../spatial3d/geom/RandomGeoPolygonTest.java    |     3 +-
 .../analyzing/AnalyzingInfixSuggester.java      |     2 +-
 .../analyzing/SuggestStopFilterFactory.java     |     8 +-
 .../search/suggest/document/TopSuggestDocs.java |     8 +-
 .../document/TopSuggestDocsCollector.java       |     2 +-
 .../jaspell/JaspellTernarySearchTrie.java       |     6 +-
 .../analyzing/AnalyzingSuggesterTest.java       |    31 +-
 .../analyzing/TestSuggestStopFilterFactory.java |     4 +-
 .../document/TestPrefixCompletionQuery.java     |   132 +-
 .../lucene/analysis/ValidatingTokenFilter.java  |     9 +-
 .../java/org/apache/lucene/geo/GeoTestUtil.java |    39 +-
 .../index/BaseDocValuesFormatTestCase.java      |    18 +-
 .../lucene/index/BaseMergePolicyTestCase.java   |   293 +-
 .../apache/lucene/index/RandomIndexWriter.java  |     4 +-
 .../org/apache/lucene/util/LuceneTestCase.java  |     4 +-
 .../java/org/apache/lucene/util/TestUtil.java   |     1 -
 .../lucene/analysis/TestMockAnalyzer.java       |     8 +-
 .../lucene/index/TestAssertingLeafReader.java   |     2 +-
 lucene/tools/forbiddenApis/base.txt             |    18 +
 lucene/tools/junit4/cached-timehints.txt        |  1164 -
 lucene/tools/junit4/tests.policy                |     3 +-
 .../src/groovy/check-source-patterns.groovy     |     4 +
 .../lucene/validation/LibVersionsCheckTask.java |     4 +-
 solr/CHANGES.txt                                |   187 +-
 solr/NOTICE.txt                                 |    14 +-
 solr/bin/solr                                   |    65 +-
 solr/bin/solr.cmd                               |   113 +-
 solr/bin/solr.in.cmd                            |     0
 solr/common-build.xml                           |     3 +-
 .../analytics/util/FacetRangeGenerator.java     |     8 +-
 .../mapping/FillMissingFunctionTest.java        |    18 +-
 .../function/mapping/FilterFunctionTest.java    |    10 +-
 .../function/mapping/IfFunctionTest.java        |    26 +-
 .../function/mapping/RemoveFunctionTest.java    |    22 +-
 .../function/mapping/ReplaceFunctionTest.java   |    22 +-
 .../analytics/legacy/LegacyNoFacetTest.java     |     8 +-
 .../legacy/facet/LegacyFieldFacetTest.java      |    10 +-
 .../legacy/facet/LegacyQueryFacetTest.java      |     6 +-
 .../value/CastingBooleanValueStreamTest.java    |     2 +-
 .../value/CastingBooleanValueTest.java          |     6 +-
 .../value/CastingDoubleValueStreamTest.java     |     2 +-
 .../analytics/value/CastingDoubleValueTest.java |     6 +-
 .../value/CastingFloatValueStreamTest.java      |     2 +-
 .../analytics/value/CastingFloatValueTest.java  |     6 +-
 .../value/CastingIntValueStreamTest.java        |     2 +-
 .../analytics/value/CastingIntValueTest.java    |     6 +-
 .../value/CastingLongValueStreamTest.java       |     2 +-
 .../analytics/value/CastingLongValueTest.java   |     6 +-
 .../solr/analytics/value/ConstantValueTest.java |    24 +-
 .../handler/clustering/ClusteringComponent.java |     2 +-
 .../clustering/src/test-files/log4j2.xml        |    37 -
 .../handler/dataimport/SolrEntityProcessor.java |     2 +-
 .../dataimporthandler/src/test-files/log4j2.xml |    36 -
 .../dataimport/AbstractDIHCacheTestCase.java    |    16 +-
 .../dataimport/TestBuiltInEvaluators.java       |     2 +-
 .../dataimport/TestNumberFormatTransformer.java |    10 +-
 .../dataimport/TestSortedMapBackedCache.java    |    12 +-
 solr/contrib/extraction/ivy.xml                 |     2 +-
 .../handler/extraction/ParseContextConfig.java  |    12 +-
 .../langid/solr/collection1/conf/schema.xml     |     1 -
 .../java/org/apache/solr/ltr/LTRRescorer.java   |     4 +-
 .../org/apache/solr/ltr/model/LinearModel.java  |     2 +-
 .../ltr/model/MultipleAdditiveTreesModel.java   |     4 +-
 .../LTRFeatureLoggerTransformerFactory.java     |     2 +-
 solr/contrib/ltr/src/test-files/log4j2.xml      |    40 -
 .../solr/ltr/TestLTRReRankingPipeline.java      |     6 +-
 ...stFeatureExtractionFromMultipleSegments.java |    36 +-
 .../prometheus-exporter/bin/solr-exporter       |     2 +-
 .../prometheus-exporter/bin/solr-exporter.cmd   |     2 +-
 .../contrib/prometheus-exporter/conf/log4j2.xml |    53 -
 .../prometheus/collector/SolrCollector.java     |    24 +-
 .../solr/prometheus/exporter/SolrExporter.java  |     6 +-
 .../solr/prometheus/scraper/SolrScraper.java    |    10 +-
 .../src/test-files/conf/log4j2.xml              |    35 -
 .../configsets/collection1/conf/managed-schema  |     2 +-
 solr/contrib/uima/README.txt                    |   109 -
 solr/contrib/uima/build.xml                     |    63 -
 solr/contrib/uima/ivy.xml                       |    35 -
 .../uima/processor/FieldMappingException.java   |    27 -
 .../uima/processor/SolrUIMAConfiguration.java   |   117 -
 .../processor/SolrUIMAConfigurationReader.java  |   116 -
 .../solr/uima/processor/UIMAToSolrMapper.java   |    87 -
 .../processor/UIMAUpdateRequestProcessor.java   |   189 -
 .../UIMAUpdateRequestProcessorFactory.java      |    72 -
 .../solr/uima/processor/package-info.java       |    25 -
 solr/contrib/uima/src/java/overview.html        |    21 -
 .../apache/uima/desc/AggregateSentenceAE.xml    |    41 -
 .../org/apache/uima/desc/HmmTagger.xml          |   121 -
 .../apache/uima/desc/OpenCalaisAnnotator.xml    |   194 -
 .../uima/desc/OverridingParamsExtServicesAE.xml |   147 -
 .../desc/TextCategorizationAEDescriptor.xml     |   102 -
 .../desc/TextConceptTaggingAEDescriptor.xml     |   196 -
 .../desc/TextKeywordExtractionAEDescriptor.xml  |   107 -
 .../desc/TextLanguageDetectionAEDescriptor.xml  |   107 -
 .../TextRankedEntityExtractionAEDescriptor.xml  |   403 -
 .../apache/uima/desc/WhitespaceTokenizer.xml    |   115 -
 .../desc/baseAlchemyTypeSystemDescriptor.xml    |    41 -
 .../collection1/conf/aggregate-uima-config.xml  |    48 -
 .../solr/collection1/conf/uima-fields.xml       |     9 -
 .../src/test-files/uima/AggregateSentenceAE.xml |    70 -
 .../test-files/uima/DummyEntityAEDescriptor.xml |    68 -
 .../uima/DummyExceptionAEDescriptor.xml         |    40 -
 .../uima/DummySentimentAnalysisAEDescriptor.xml |    60 -
 .../contrib/uima/src/test-files/uima/TestAE.xml |    72 -
 .../src/test-files/uima/TestExceptionAE.xml     |    54 -
 .../uima/solr/collection1/conf/protwords.txt    |    21 -
 .../uima/solr/collection1/conf/schema.xml       |   612 -
 .../uima/solr/collection1/conf/solrconfig.xml   |   773 -
 .../uima/solr/collection1/conf/spellings.txt    |     2 -
 .../uima/solr/collection1/conf/stopwords.txt    |    58 -
 .../uima/solr/collection1/conf/synonyms.txt     |    31 -
 .../uima/src/test-files/uima/stoptypes.txt      |    25 -
 .../test-files/uima/uima-tokenizers-schema.xml  |   613 -
 .../uima/uima-tokenizers-solrconfig.xml         |   653 -
 .../UIMATokenizersSolrIntegrationTest.java      |    72 -
 .../UIMAUpdateRequestProcessorTest.java         |   186 -
 .../uima/processor/an/DummyEntityAnnotator.java |    47 -
 .../processor/an/DummyExceptionAnnotator.java   |    30 -
 .../processor/an/DummySentimentAnnotator.java   |    60 -
 .../solr/uima/ts/DummySentimentAnnotation.java  |    81 -
 .../uima/ts/DummySentimentAnnotation_Type.java  |    80 -
 .../apache/solr/uima/ts/EntityAnnotation.java   |    99 -
 .../solr/uima/ts/EntityAnnotation_Type.java     |   102 -
 .../src/java/org/apache/solr/api/ApiBag.java    |     6 +-
 .../solrj/embedded/EmbeddedSolrServer.java      |    54 +-
 .../java/org/apache/solr/cloud/Overseer.java    |    33 +-
 .../solr/cloud/OverseerTaskProcessor.java       |     8 +-
 .../org/apache/solr/cloud/RecoveryStrategy.java |    16 +-
 .../org/apache/solr/cloud/SyncStrategy.java     |     3 +-
 .../org/apache/solr/cloud/ZkController.java     |    56 +
 .../cloud/api/collections/AddReplicaCmd.java    |     2 +-
 .../solr/cloud/api/collections/Assign.java      |     2 +-
 .../solr/cloud/api/collections/BackupCmd.java   |     2 +-
 .../api/collections/CreateCollectionCmd.java    |     2 +-
 .../api/collections/MaintainRoutedAliasCmd.java |     2 +-
 .../solr/cloud/api/collections/MigrateCmd.java  |     3 +-
 .../OverseerCollectionMessageHandler.java       |    15 +-
 .../solr/cloud/api/collections/RestoreCmd.java  |    37 +-
 .../cloud/api/collections/SplitShardCmd.java    |   188 +-
 .../cloud/api/collections/TimeRoutedAlias.java  |     2 +
 .../cloud/autoscaling/AutoScalingHandler.java   |     6 +-
 .../cloud/autoscaling/IndexSizeTrigger.java     |     9 +-
 .../cloud/overseer/ClusterStateMutator.java     |     4 +-
 .../solr/cloud/overseer/CollectionMutator.java  |    28 +-
 .../org/apache/solr/core/CoreContainer.java     |    90 +-
 .../apache/solr/core/HdfsDirectoryFactory.java  |     2 +-
 .../src/java/org/apache/solr/core/SolrCore.java |    12 +-
 .../org/apache/solr/handler/IndexFetcher.java   |     2 +-
 .../apache/solr/handler/RequestHandlerBase.java |     3 +
 .../apache/solr/handler/SolrConfigHandler.java  |    11 +-
 .../solr/handler/admin/CollectionsHandler.java  |    55 +-
 .../solr/handler/admin/ConfigSetsHandler.java   |     5 +
 .../solr/handler/admin/CoreAdminOperation.java  |    22 +-
 .../handler/admin/MetricsHistoryHandler.java    |   295 +-
 .../admin/SegmentsInfoRequestHandler.java       |     8 +-
 .../solr/handler/component/ExpandComponent.java |     6 +-
 .../component/QueryElevationComponent.java      |  1312 +-
 .../handler/component/RangeFacetRequest.java    |     8 +-
 .../handler/component/RealTimeGetComponent.java |    33 +-
 .../handler/component/SpatialHeatmapFacets.java |   405 +-
 .../handler/component/TermVectorComponent.java  |     2 +-
 .../apache/solr/handler/loader/JsonLoader.java  |   167 +-
 .../apache/solr/metrics/rrd/SolrRrdBackend.java |    30 +-
 .../solr/metrics/rrd/SolrRrdBackendFactory.java |    76 +-
 .../org/apache/solr/request/SimpleFacets.java   |    27 +-
 .../solr/request/json/JsonQueryConverter.java   |    28 +-
 .../apache/solr/response/CSVResponseWriter.java |     2 +-
 .../solr/response/GraphMLResponseWriter.java    |     5 -
 .../solr/response/JSONResponseWriter.java       |   592 +-
 .../org/apache/solr/response/JSONWriter.java    |   181 +
 .../apache/solr/response/PHPResponseWriter.java |     4 +-
 .../response/PHPSerializedResponseWriter.java   |     2 +-
 .../solr/response/QueryResponseWriterUtil.java  |     2 +-
 .../solr/response/RubyResponseWriter.java       |     4 +-
 .../solr/response/SmileResponseWriter.java      |     4 +-
 .../solr/response/TextResponseWriter.java       |   222 +-
 .../apache/solr/response/WriteableValue.java    |    25 -
 .../transform/BaseEditorialTransformer.java     |    17 +-
 .../transform/ElevatedMarkerFactory.java        |     6 +-
 .../transform/ExcludedMarkerFactory.java        |     6 +-
 .../transform/RawValueTransformerFactory.java   |     9 +-
 .../response/transform/WriteableGeoJSON.java    |     6 +-
 .../apache/solr/schema/AbstractEnumField.java   |   101 +-
 .../solr/schema/FileExchangeRateProvider.java   |   106 +-
 .../org/apache/solr/schema/IndexSchema.java     |     5 +-
 .../solr/schema/LatLonPointSpatialField.java    |     2 +-
 .../apache/solr/search/AbstractReRankQuery.java |     7 +-
 .../solr/search/CollapsingQParserPlugin.java    |    25 +-
 .../apache/solr/search/ExportQParserPlugin.java |     2 +-
 .../java/org/apache/solr/search/Grouping.java   |    33 +-
 .../apache/solr/search/MaxScoreCollector.java   |    55 +
 .../java/org/apache/solr/search/QParser.java    |    30 +-
 .../org/apache/solr/search/ReRankCollector.java |    12 +-
 .../search/SignificantTermsQParserPlugin.java   |     2 +-
 .../apache/solr/search/SolrIndexSearcher.java   |    21 +-
 .../solr/search/facet/FacetFieldMerger.java     |     3 +-
 .../solr/search/facet/FacetFieldProcessor.java  |     7 +
 .../FacetFieldProcessorByEnumTermsStream.java   |     6 +
 .../apache/solr/search/facet/FacetHeatmap.java  |   520 +
 .../apache/solr/search/facet/FacetModule.java   |    29 +-
 .../solr/search/facet/FacetProcessor.java       |    49 +-
 .../apache/solr/search/facet/FacetRange.java    |   386 +-
 .../solr/search/facet/FacetRangeMerger.java     |    68 +-
 .../apache/solr/search/facet/FacetRequest.java  |   150 +-
 .../search/facet/FacetRequestSortedMerger.java  |    29 +-
 .../distributed/command/QueryCommand.java       |    26 +-
 .../distributed/command/QueryCommandResult.java |     8 +-
 .../TopGroupsShardResponseProcessor.java        |    14 +-
 .../TopGroupsResultTransformer.java             |    10 +-
 .../GroupedEndResultTransformer.java            |     4 +-
 ...tContinuesRecorderAuthenticationHandler.java |     2 +-
 .../apache/solr/update/AddUpdateCommand.java    |   204 +-
 .../org/apache/solr/update/CdcrUpdateLog.java   |     2 +-
 .../apache/solr/update/CommitUpdateCommand.java |     2 +-
 .../solr/update/DirectUpdateHandler2.java       |    97 +-
 .../org/apache/solr/update/DocumentBuilder.java |    37 +-
 .../org/apache/solr/update/HdfsUpdateLog.java   |     1 +
 .../java/org/apache/solr/update/PeerSync.java   |   794 +-
 .../apache/solr/update/PeerSyncWithLeader.java  |   372 +
 .../org/apache/solr/update/SolrCoreState.java   |     9 +
 .../org/apache/solr/update/TransactionLog.java  |     1 +
 .../java/org/apache/solr/update/UpdateLog.java  |     9 +
 .../IgnoreLargeDocumentProcessorFactory.java    |    39 +-
 .../processor/NestedUpdateProcessorFactory.java |   137 +
 .../TimeRoutedAliasUpdateProcessor.java         |    32 +-
 .../java/org/apache/solr/util/FastWriter.java   |   157 -
 .../org/apache/solr/util/SafeXMLParsing.java    |   120 +
 .../src/java/org/apache/solr/util/SolrCLI.java  |    13 +-
 .../org/apache/solr/util/TestInjection.java     |    22 +-
 .../collection1/conf/schema-copyfield-test.xml  |     4 -
 .../solr/collection1/conf/schema-hash.xml       |     4 -
 .../conf/schema-luceneMatchVersion.xml          |     2 -
 .../conf/schema-not-required-unique-key.xml     |     1 -
 .../collection1/conf/schema-required-fields.xml |     4 -
 .../solr/collection1/conf/schema-rest.xml       |     3 -
 .../collection1/conf/schema-spellchecker.xml    |     3 -
 .../solr/collection1/conf/schema-sql.xml        |     4 -
 .../test-files/solr/collection1/conf/schema.xml |     6 -
 .../solr/collection1/conf/schema11.xml          |     1 -
 .../solr/collection1/conf/schema12.xml          |     3 -
 .../solr/collection1/conf/schema15.xml          |     6 +-
 .../solr/collection1/conf/schemasurround.xml    |     3 -
 .../conf/solrconfig-update-processor-chains.xml |     5 +
 .../configsets/_default/conf/managed-schema     |     2 +-
 .../configsets/_default/conf/solrconfig.xml     |     2 +
 .../cloud-minimal/conf/solrconfig.xml           |     3 +
 .../test-files/solr/crazy-path-to-schema.xml    |     1 -
 .../org/apache/solr/TestDistributedSearch.java  |    33 +-
 .../apache/solr/cloud/AliasIntegrationTest.java |     3 -
 .../cloud/AssignBackwardCompatibilityTest.java  |     2 +-
 .../solr/cloud/BasicDistributedZkTest.java      |    56 +-
 .../cloud/ChaosMonkeyNothingIsSafeTest.java     |     2 +-
 .../solr/cloud/ChaosMonkeySafeLeaderTest.java   |     2 +-
 ...aosMonkeySafeLeaderWithPullReplicasTest.java |     2 +-
 .../solr/cloud/CollectionsAPISolrJTest.java     |    48 +
 .../solr/cloud/CreateRoutedAliasTest.java       |     4 -
 .../apache/solr/cloud/DeleteReplicaTest.java    |     5 +-
 .../solr/cloud/DocValuesNotIndexedTest.java     |     6 +-
 .../org/apache/solr/cloud/ForceLeaderTest.java  |     2 +-
 .../apache/solr/cloud/HttpPartitionTest.java    |     4 +-
 .../solr/cloud/LIRRollingUpdatesTest.java       |     8 +-
 .../cloud/LeaderElectionIntegrationTest.java    |     2 +-
 .../cloud/LeaderFailoverAfterPartitionTest.java |     2 +-
 .../solr/cloud/LeaderTragicEventTest.java       |   185 +
 .../solr/cloud/LeaderVoteWaitTimeoutTest.java   |     2 +-
 .../solr/cloud/LegacyCloudClusterPropTest.java  |     2 +-
 .../cloud/MetricsHistoryIntegrationTest.java    |     9 +-
 .../solr/cloud/MissingSegmentRecoveryTest.java  |     2 +-
 .../apache/solr/cloud/MoveReplicaHDFSTest.java  |     4 +-
 .../org/apache/solr/cloud/MoveReplicaTest.java  |     2 +-
 .../solr/cloud/OverseerTaskQueueTest.java       |     3 +-
 .../org/apache/solr/cloud/RecoveryZkTest.java   |     1 +
 .../solr/cloud/ReplaceNodeNoTargetTest.java     |     2 +-
 .../solr/cloud/ReplicationFactorTest.java       |     3 +-
 .../apache/solr/cloud/RollingRestartTest.java   |     2 +
 .../solr/cloud/SaslZkACLProviderTest.java       |     1 +
 .../cloud/SegmentTerminateEarlyTestState.java   |    22 +-
 .../cloud/SharedFSAutoReplicaFailoverTest.java  |     2 +-
 .../apache/solr/cloud/SolrCloudExampleTest.java |    12 +-
 .../apache/solr/cloud/TestCloudConsistency.java |     2 +
 .../solr/cloud/TestCloudJSONFacetSKG.java       |    53 +-
 .../apache/solr/cloud/TestCloudPivotFacet.java  |    45 +-
 .../apache/solr/cloud/TestCloudRecovery.java    |     1 -
 .../solr/cloud/TestCloudSearcherWarming.java    |    41 +-
 .../apache/solr/cloud/TestConfigSetsAPI.java    |    58 +-
 .../org/apache/solr/cloud/TestPrepRecovery.java |     4 +-
 .../org/apache/solr/cloud/TestPullReplica.java  |     4 +-
 .../apache/solr/cloud/TestSegmentSorting.java   |     4 +-
 .../cloud/TestSolrCloudWithKerberosAlt.java     |     4 +-
 .../TestStressCloudBlindAtomicUpdates.java      |     2 +-
 .../solr/cloud/UnloadDistributedZkTest.java     |     2 +-
 .../AbstractCloudBackupRestoreTestCase.java     |   139 +-
 .../CollectionsAPIDistributedZkTest.java        |     2 +-
 .../api/collections/CustomCollectionTest.java   |     2 +-
 .../HdfsCollectionsAPIDistributedZkTest.java    |     2 +
 .../cloud/api/collections/ShardSplitTest.java   |   101 +-
 .../api/collections/TestCollectionAPI.java      |   120 +
 .../TestCollectionsAPIViaSolrCloudCluster.java  |     2 +-
 .../collections/TestHdfsCloudBackupRestore.java |     5 +-
 .../AutoAddReplicasIntegrationTest.java         |     2 +-
 .../autoscaling/AutoScalingHandlerTest.java     |     4 +-
 .../autoscaling/ComputePlanActionTest.java      |     4 +-
 .../cloud/autoscaling/IndexSizeTriggerTest.java |    15 +-
 .../cloud/autoscaling/NodeLostTriggerTest.java  |     2 +-
 .../ScheduledTriggerIntegrationTest.java        |     3 +-
 .../cloud/autoscaling/ScheduledTriggerTest.java |     2 +-
 .../autoscaling/SearchRateTriggerTest.java      |     2 +
 .../solr/cloud/autoscaling/TestPolicyCloud.java |    23 +-
 .../cloud/autoscaling/sim/SimCloudManager.java  |    53 +-
 .../sim/SimClusterStateProvider.java            |   112 +-
 .../autoscaling/sim/TestComputePlanAction.java  |     2 +
 .../autoscaling/sim/TestExecutePlanAction.java  |     2 +
 .../sim/TestGenericDistributedQueue.java        |     2 +-
 .../cloud/autoscaling/sim/TestLargeCluster.java |    16 +-
 .../cloud/autoscaling/sim/TestPolicyCloud.java  |     2 +-
 .../sim/TestSimDistributedQueue.java            |     1 +
 .../autoscaling/sim/TestTriggerIntegration.java |     3 +
 .../cloud/cdcr/BaseCdcrDistributedZkTest.java   |     2 +-
 .../solr/cloud/cdcr/CdcrBootstrapTest.java      |     2 +-
 .../cdcr/CdcrReplicationDistributedZkTest.java  |     9 +
 .../cloud/hdfs/HdfsBasicDistributedZkTest.java  |     2 +
 .../solr/cloud/hdfs/HdfsNNFailoverTest.java     |     2 +
 .../hdfs/HdfsRestartWhileUpdatingTest.java      |     3 +-
 .../solr/cloud/hdfs/HdfsSyncSliceTest.java      |     2 +
 ...HdfsTlogReplayBufferedWhileIndexingTest.java |     3 +-
 .../HdfsWriteToMultipleCollectionsTest.java     |     2 +
 .../apache/solr/cloud/hdfs/StressHdfsTest.java  |     2 +-
 .../apache/solr/core/ResourceLoaderTest.java    |     4 +-
 .../org/apache/solr/core/TestCodecSupport.java  |     2 +-
 .../apache/solr/core/TestDynamicLoading.java    |     2 +-
 .../apache/solr/core/TestMergePolicyConfig.java |    16 +-
 .../apache/solr/core/TestSolrConfigHandler.java |    38 +
 .../handler/AnalysisRequestHandlerTestBase.java |     6 +-
 .../DocumentAnalysisRequestHandlerTest.java     |    47 +-
 .../FieldAnalysisRequestHandlerTest.java        |    62 +-
 .../org/apache/solr/handler/JsonLoaderTest.java |   318 +-
 .../solr/handler/TestReplicationHandler.java    |     4 +-
 .../org/apache/solr/handler/TestSQLHandler.java |     2 +-
 .../admin/AutoscalingHistoryHandlerTest.java    |     1 -
 .../admin/MetricsHistoryHandlerTest.java        |     9 +-
 .../solr/handler/admin/TestCollectionAPIs.java  |     8 +-
 .../component/CustomHighlightComponentTest.java |     7 +-
 .../component/QueryElevationComponentTest.java  |   315 +-
 .../component/SpatialHeatmapFacetsTest.java     |   215 -
 .../handler/component/TestPivotHelperCode.java  |     2 +
 .../tagger/EmbeddedSolrNoSerializeTest.java     |    11 +-
 .../solr/index/hdfs/CheckHdfsIndexTest.java     |     2 +
 .../org/apache/solr/legacy/TestLegacyTerms.java |     8 +-
 .../metrics/rrd/SolrRrdBackendFactoryTest.java  |    84 +-
 .../apache/solr/request/SimpleFacetsTest.java   |    12 +-
 .../apache/solr/response/JSONWriterTest.java    |    53 +-
 .../solr/rest/schema/TestFieldTypeResource.java |     1 -
 .../solr/schema/SchemaApiFailureTest.java       |     4 -
 .../apache/solr/schema/TestCloudSchemaless.java |     2 +-
 .../search/CurrencyRangeFacetCloudTest.java     |     9 +-
 .../apache/solr/search/QueryEqualityTest.java   |     3 +-
 .../SignificantTermsQParserPluginTest.java      |    35 +
 .../org/apache/solr/search/TestQueryTypes.java  |     4 +-
 .../apache/solr/search/TestRankQueryPlugin.java |     4 +-
 .../org/apache/solr/search/TestRecovery.java    |     4 +-
 .../apache/solr/search/TestRecoveryHdfs.java    |     2 +
 .../apache/solr/search/TestSolr4Spatial2.java   |     5 +-
 .../test/org/apache/solr/search/TestSort.java   |     3 +-
 .../apache/solr/search/TestStressRecovery.java  |     2 +-
 .../org/apache/solr/search/facet/DebugAgg.java  |     2 +
 .../solr/search/facet/RangeFacetCloudTest.java  |   786 +
 .../search/facet/SpatialHeatmapFacetsTest.java  |   349 +
 .../search/facet/TestJsonFacetRefinement.java   |   137 +-
 .../solr/search/facet/TestJsonFacets.java       |   101 +-
 .../solr/search/json/TestJsonRequest.java       |    11 +-
 .../TestSolrCloudWithHadoopAuthPlugin.java      |     2 +
 .../solr/spelling/SpellCheckCollatorTest.java   |     2 +-
 .../TestHighFrequencyDictionaryFactory.java     |    10 +-
 .../solr/store/blockcache/BlockCacheTest.java   |     1 +
 .../store/blockcache/BlockDirectoryTest.java    |     2 +
 .../solr/store/hdfs/HdfsDirectoryTest.java      |     2 +-
 .../TestDocTermOrdsUninvertLimit.java           |     1 +
 .../solr/uninverting/TestFieldCacheSort.java    |    20 +-
 .../uninverting/TestFieldCacheSortRandom.java   |     4 +-
 .../apache/solr/update/AddBlockUpdateTest.java  |   169 +-
 .../update/DirectUpdateHandlerOptimizeTest.java |   101 -
 .../solr/update/DirectUpdateHandlerTest.java    |     2 +-
 .../solr/update/MaxSizeAutoCommitTest.java      |     4 +
 .../update/PeerSyncWithBufferUpdatesTest.java   |   223 +
 ...ithLeaderAndIndexFingerprintCachingTest.java |    36 +
 .../solr/update/PeerSyncWithLeaderTest.java     |    39 +
 .../apache/solr/update/TestHdfsUpdateLog.java   |     2 +-
 .../solr/update/TestInPlaceUpdatesDistrib.java  |     2 +-
 .../solr/update/TestNestedUpdateProcessor.java  |   195 +
 .../update/processor/AtomicUpdatesTest.java     |    16 +-
 .../FieldMutatingUpdateProcessorTest.java       |    40 +-
 ...ommitOptimizeUpdateProcessorFactoryTest.java |     2 +-
 ...IgnoreLargeDocumentProcessorFactoryTest.java |    97 +-
 .../SignatureUpdateProcessorFactoryTest.java    |     4 +-
 ...atelessScriptUpdateProcessorFactoryTest.java |    12 +-
 .../TimeRoutedAliasUpdateProcessorTest.java     |   228 +-
 .../TrackingUpdateProcessorFactory.java         |   226 +
 .../org/apache/solr/util/CircularListTest.java  |    12 +-
 .../apache/solr/util/SolrPluginUtilsTest.java   |     2 +-
 .../org/apache/solr/util/TestFastWriter.java    |   124 -
 .../apache/solr/util/TestSafeXMLParsing.java    |    99 +
 .../test/org/apache/solr/util/TestUtils.java    |     8 +-
 solr/example/README.txt                         |     4 +-
 solr/example/resources/log4j2.xml               |    76 -
 .../licenses/AlchemyAPIAnnotator-2.3.1.jar.sha1 |     1 -
 .../AlchemyAPIAnnotator-LICENSE-ASL.txt         |   202 -
 solr/licenses/AlchemyAPIAnnotator-NOTICE.txt    |     7 -
 .../licenses/OpenCalaisAnnotator-2.3.1.jar.sha1 |     1 -
 .../OpenCalaisAnnotator-LICENSE-ASL.txt         |   202 -
 solr/licenses/OpenCalaisAnnotator-NOTICE.txt    |     7 -
 solr/licenses/Tagger-2.3.1.jar.sha1             |     1 -
 solr/licenses/Tagger-LICENSE-ASL.txt            |   202 -
 solr/licenses/Tagger-NOTICE.txt                 |     7 -
 .../licenses/WhitespaceTokenizer-2.3.1.jar.sha1 |     1 -
 .../WhitespaceTokenizer-LICENSE-ASL.txt         |   202 -
 solr/licenses/WhitespaceTokenizer-NOTICE.txt    |     7 -
 solr/licenses/commons-compress-1.14.jar.sha1    |     1 -
 solr/licenses/commons-compress-1.16.1.jar.sha1  |     1 +
 solr/licenses/commons-digester-2.1.jar.sha1     |     1 -
 solr/licenses/fontbox-2.0.8.jar.sha1            |     1 -
 solr/licenses/fontbox-2.0.9.jar.sha1            |     1 +
 solr/licenses/icu4j-61.1.jar.sha1               |     1 -
 solr/licenses/icu4j-62.1.jar.sha1               |     1 +
 solr/licenses/jackcess-2.1.10.jar.sha1          |     1 +
 solr/licenses/jackcess-2.1.8.jar.sha1           |     1 -
 solr/licenses/jdom-2.0.2.jar.sha1               |     1 -
 solr/licenses/jdom-LICENSE-BSD_LIKE.txt         |    56 -
 solr/licenses/jdom-NOTICE.txt                   |     6 -
 solr/licenses/jdom2-2.0.6.jar.sha1              |     1 +
 solr/licenses/jdom2-LICENSE-BSD_LIKE.txt        |    56 +
 solr/licenses/jdom2-NOTICE.txt                  |     6 +
 ...jetty-continuation-9.4.10.v20180503.jar.sha1 |     1 -
 ...jetty-continuation-9.4.11.v20180605.jar.sha1 |     1 +
 .../jetty-deploy-9.4.10.v20180503.jar.sha1      |     1 -
 .../jetty-deploy-9.4.11.v20180605.jar.sha1      |     1 +
 .../jetty-http-9.4.10.v20180503.jar.sha1        |     1 -
 .../jetty-http-9.4.11.v20180605.jar.sha1        |     1 +
 .../licenses/jetty-io-9.4.10.v20180503.jar.sha1 |     1 -
 .../licenses/jetty-io-9.4.11.v20180605.jar.sha1 |     1 +
 .../jetty-jmx-9.4.10.v20180503.jar.sha1         |     1 -
 .../jetty-jmx-9.4.11.v20180605.jar.sha1         |     1 +
 .../jetty-rewrite-9.4.10.v20180503.jar.sha1     |     1 -
 .../jetty-rewrite-9.4.11.v20180605.jar.sha1     |     1 +
 .../jetty-security-9.4.10.v20180503.jar.sha1    |     1 -
 .../jetty-security-9.4.11.v20180605.jar.sha1    |     1 +
 .../jetty-server-9.4.10.v20180503.jar.sha1      |     1 -
 .../jetty-server-9.4.11.v20180605.jar.sha1      |     1 +
 .../jetty-servlet-9.4.10.v20180503.jar.sha1     |     1 -
 .../jetty-servlet-9.4.11.v20180605.jar.sha1     |     1 +
 .../jetty-servlets-9.4.10.v20180503.jar.sha1    |     1 -
 .../jetty-servlets-9.4.11.v20180605.jar.sha1    |     1 +
 .../jetty-util-9.4.10.v20180503.jar.sha1        |     1 -
 .../jetty-util-9.4.11.v20180605.jar.sha1        |     1 +
 .../jetty-webapp-9.4.10.v20180503.jar.sha1      |     1 -
 .../jetty-webapp-9.4.11.v20180605.jar.sha1      |     1 +
 .../jetty-xml-9.4.10.v20180503.jar.sha1         |     1 -
 .../jetty-xml-9.4.11.v20180605.jar.sha1         |     1 +
 solr/licenses/jsoup-1.11.2.jar.sha1             |     1 +
 solr/licenses/jsoup-1.8.2.jar.sha1              |     1 -
 solr/licenses/opennlp-tools-1.8.3.jar.sha1      |     1 -
 solr/licenses/opennlp-tools-1.8.4.jar.sha1      |     1 +
 solr/licenses/pdfbox-2.0.8.jar.sha1             |     1 -
 solr/licenses/pdfbox-2.0.9.jar.sha1             |     1 +
 solr/licenses/pdfbox-tools-2.0.8.jar.sha1       |     1 -
 solr/licenses/pdfbox-tools-2.0.9.jar.sha1       |     1 +
 solr/licenses/start.jar.sha1                    |     2 +-
 solr/licenses/tika-core-1.17.jar.sha1           |     1 -
 solr/licenses/tika-core-1.18.jar.sha1           |     1 +
 solr/licenses/tika-java7-1.17.jar.sha1          |     1 -
 solr/licenses/tika-java7-1.18.jar.sha1          |     1 +
 solr/licenses/tika-parsers-1.17.jar.sha1        |     1 -
 solr/licenses/tika-parsers-1.18.jar.sha1        |     1 +
 solr/licenses/tika-xmp-1.17.jar.sha1            |     1 -
 solr/licenses/tika-xmp-1.18.jar.sha1            |     1 +
 solr/licenses/uimaj-core-2.3.1.jar.sha1         |     1 -
 solr/licenses/uimaj-core-LICENSE-ASL.txt        |   202 -
 solr/licenses/uimaj-core-NOTICE.txt             |    13 -
 solr/licenses/xz-1.6.jar.sha1                   |     1 -
 solr/licenses/xz-1.8.jar.sha1                   |     1 +
 solr/server/README.txt                          |     2 +-
 solr/server/resources/log4j2-console.xml        |    39 +
 solr/server/scripts/cloud-scripts/log4j2.xml    |    37 -
 .../scripts/cloud-scripts/snapshotscli.sh       |     2 +-
 solr/server/scripts/cloud-scripts/zkcli.bat     |     4 +-
 solr/server/scripts/cloud-scripts/zkcli.sh      |     2 +-
 .../configsets/_default/conf/managed-schema     |     2 +-
 .../configsets/_default/conf/solrconfig.xml     |     2 +
 solr/solr-ref-guide/src/about-filters.adoc      |     3 +-
 solr/solr-ref-guide/src/analyzers.adoc          |     1 -
 .../src/basic-authentication-plugin.adoc        |     2 +
 solr/solr-ref-guide/src/blockjoin-faceting.adoc |     2 +-
 solr/solr-ref-guide/src/cdcr-config.adoc        |    66 +-
 solr/solr-ref-guide/src/collections-api.adoc    |    21 +-
 solr/solr-ref-guide/src/configsets-api.adoc     |     2 +
 .../solr-ref-guide/src/configuring-logging.adoc |     2 +-
 .../src/distributed-requests.adoc               |    40 +-
 solr/solr-ref-guide/src/enabling-ssl.adoc       |     2 +
 .../solr-ref-guide/src/filter-descriptions.adoc |    15 +-
 solr/solr-ref-guide/src/format-of-solr-xml.adoc |     3 +-
 solr/solr-ref-guide/src/how-to-contribute.adoc  |     4 +-
 .../src/images/diagrams/splitshard-seq.png      |   Bin 0 -> 98871 bytes
 .../src/images/diagrams/splitshard-seq.puml     |   115 +
 solr/solr-ref-guide/src/index-replication.adoc  |     4 +-
 .../src/indexconfig-in-solrconfig.adoc          |     5 +-
 .../src/indexing-and-basic-data-operations.adoc |     4 +-
 solr/solr-ref-guide/src/json-facet-api.adoc     |   363 +-
 solr/solr-ref-guide/src/json-query-dsl.adoc     |    17 +
 solr/solr-ref-guide/src/json-request-api.adoc   |     6 +-
 .../src/kerberos-authentication-plugin.adoc     |     4 +-
 solr/solr-ref-guide/src/language-analysis.adoc  |     2 +-
 solr/solr-ref-guide/src/learning-to-rank.adoc   |     4 +-
 solr/solr-ref-guide/src/managed-resources.adoc  |     2 +-
 solr/solr-ref-guide/src/meta-docs/jekyll.adoc   |     4 +-
 solr/solr-ref-guide/src/meta-docs/publish.adoc  |   165 +-
 solr/solr-ref-guide/src/metrics-history.adoc    |   450 +-
 solr/solr-ref-guide/src/metrics-reporting.adoc  |     2 +-
 solr/solr-ref-guide/src/schemaless-mode.adoc    |     4 +-
 ...tting-up-an-external-zookeeper-ensemble.adoc |    24 +-
 .../src/solr-control-script-reference.adoc      |    85 +-
 solr/solr-ref-guide/src/solr-tutorial.adoc      |     4 +-
 solr/solr-ref-guide/src/solr-upgrade-notes.adoc |    26 +
 .../src/solrcloud-autoscaling-api.adoc          |     2 +-
 ...olrcloud-autoscaling-policy-preferences.adoc |    71 +-
 .../src/solrcloud-autoscaling-triggers.adoc     |    21 +-
 solr/solr-ref-guide/src/spatial-search.adoc     |    18 +-
 solr/solr-ref-guide/src/suggester.adoc          |     1 -
 .../src/the-extended-dismax-query-parser.adoc   |     4 +-
 .../src/the-query-elevation-component.adoc      |    11 +
 solr/solr-ref-guide/src/the-tagger-handler.adoc |   177 +-
 .../solr-ref-guide/src/time-routed-aliases.adoc |    33 +-
 solr/solr-ref-guide/src/tokenizers.adoc         |     2 +-
 solr/solr-ref-guide/src/uima-integration.adoc   |   122 -
 .../src/update-request-processors.adoc          |     6 +-
 .../src/updatehandlers-in-solrconfig.adoc       |     6 +-
 .../src/updating-parts-of-documents.adoc        |    21 +-
 .../src/uploading-data-with-index-handlers.adoc |     8 +-
 ...zookeeper-to-manage-configuration-files.adoc |     2 +
 solr/solr-ref-guide/src/v2-api.adoc             |     2 +-
 .../cloud/autoscaling/AddReplicaSuggester.java  |     5 +-
 .../client/solrj/cloud/autoscaling/Clause.java  |   503 +-
 .../cloud/autoscaling/MoveReplicaSuggester.java |     2 +-
 .../client/solrj/cloud/autoscaling/Operand.java |    93 +-
 .../client/solrj/cloud/autoscaling/Policy.java  |   406 +-
 .../solrj/cloud/autoscaling/PolicyHelper.java   |     2 +-
 .../solrj/cloud/autoscaling/Preference.java     |     2 +-
 .../solrj/cloud/autoscaling/ReplicaCount.java   |    22 +-
 .../solrj/cloud/autoscaling/ReplicaInfo.java    |     2 +
 .../client/solrj/cloud/autoscaling/Row.java     |     2 +-
 .../solrj/cloud/autoscaling/SealedClause.java   |    29 +
 .../solrj/cloud/autoscaling/Suggester.java      |    20 +-
 .../solrj/cloud/autoscaling/Suggestion.java     |   492 +-
 .../solrj/cloud/autoscaling/Violation.java      |    69 +-
 .../solr/client/solrj/impl/CloudSolrClient.java |    33 +-
 .../solrj/impl/SolrClientNodeStateProvider.java |    93 +-
 .../solrj/io/eval/ConvolutionEvaluator.java     |     2 +-
 .../solrj/io/eval/NormalizeEvaluator.java       |     2 +-
 .../client/solrj/io/eval/RankEvaluator.java     |     2 +-
 .../client/solrj/io/eval/ScaleEvaluator.java    |     2 +-
 .../solr/client/solrj/io/stream/EvalStream.java |     5 -
 .../client/solrj/io/stream/PriorityStream.java  |     5 -
 .../solrj/io/stream/SignificantTermsStream.java |     2 +-
 .../solr/client/solrj/io/stream/SolrStream.java |     5 -
 .../client/solrj/io/stream/TopicStream.java     |     5 -
 .../client/solrj/io/stream/TupleStream.java     |     5 -
 .../solrj/request/AbstractUpdateRequest.java    |     3 +-
 .../solrj/request/CollectionAdminRequest.java   |   135 +-
 .../request/ContentStreamUpdateRequest.java     |    26 +-
 .../solrj/request/StreamingUpdateRequest.java   |    76 +
 .../solr/client/solrj/request/V2Request.java    |     7 +-
 .../request/schema/AbstractSchemaRequest.java   |     8 -
 .../solrj/request/schema/SchemaRequest.java     |    86 +-
 .../solrj/response/AnalysisResponseBase.java    |    29 +-
 .../response/DocumentAnalysisResponse.java      |    12 +-
 .../solrj/response/FieldAnalysisResponse.java   |    14 +-
 .../java/org/apache/solr/common/MapWriter.java  |     5 +
 .../org/apache/solr/common/SolrDocument.java    |     1 -
 .../apache/solr/common/SolrDocumentBase.java    |    10 +
 .../apache/solr/common/SolrInputDocument.java   |     8 +-
 .../org/apache/solr/common/SolrInputField.java  |     4 +-
 .../org/apache/solr/common/cloud/Aliases.java   |     6 +-
 .../apache/solr/common/cloud/ZkStateReader.java |    15 +
 .../common/params/CollectionAdminParams.java    |    21 +-
 .../apache/solr/common/params/CommonParams.java |     6 +
 .../common/params/QueryElevationParams.java     |     9 +-
 .../apache/solr/common/params/UpdateParams.java |     2 +-
 .../solr/common/util/ContentStreamBase.java     |     6 +-
 .../org/apache/solr/common/util/FastWriter.java |   157 +
 .../solr/common/util/JsonRecordReader.java      |    32 +-
 .../apache/solr/common/util/JsonTextWriter.java |   499 +
 .../apache/solr/common/util/SolrJSONWriter.java |   114 +
 .../org/apache/solr/common/util/TextWriter.java |   231 +
 .../java/org/apache/solr/common/util/Utils.java |    12 +
 .../apache/solr/common/util/WriteableValue.java |    25 +
 solr/solrj/src/test-files/log4j2.xml            |    39 -
 .../solrj/solr/collection1/conf/schema-sql.xml  |     4 -
 .../solrj/solr/collection1/conf/schema.xml      |     4 -
 .../solr/configsets/shared/conf/schema.xml      |     4 -
 .../solr/configsets/streaming/conf/schema.xml   |     4 -
 .../solrj/solr/crazy-path-to-schema.xml         |     1 -
 ...ollectionAdminRequestRequiredParamsTest.java |     6 +-
 .../solr/client/solrj/SolrExampleTests.java     |    23 +-
 .../solr/client/solrj/SolrExampleTestsBase.java |     2 +-
 .../solrj/cloud/autoscaling/TestPolicy.java     |   609 +-
 .../solrj/io/graph/GraphExpressionTest.java     |    44 +-
 .../solrj/io/stream/MathExpressionTest.java     |     6 +-
 .../solrj/io/stream/StreamExpressionTest.java   |     2 +-
 .../io/stream/eval/NormalizeEvaluatorTest.java  |     6 +-
 .../client/solrj/request/TestV2Request.java     |     8 +-
 .../solrj/response/AnlysisResponseBaseTest.java |    13 +
 .../response/DocumentAnalysisResponseTest.java  |     2 +-
 .../response/FieldAnalysisResponseTest.java     |     2 +-
 .../response/TestDelegationTokenResponse.java   |     2 +-
 .../apache/solr/common/SolrDocumentTest.java    |     8 +-
 .../cloud/TestCollectionStateWatchers.java      |     8 +
 .../solr/common/params/SolrParamTest.java       |     6 +-
 .../apache/solr/common/util/TestFastWriter.java |   125 +
 .../solr/common/util/TestJsonRecordReader.java  |    10 +-
 .../solr/common/util/TestNamedListCodec.java    |     4 +-
 .../solr/common/util/TestSolrJsonWriter.java    |    60 +
 .../apache/solr/common/util/TestTimeSource.java |    12 +-
 .../solr/common/util/TestValidatingJsonMap.java |     2 +-
 .../solr/BaseDistributedSearchTestCase.java     |    17 +-
 .../java/org/apache/solr/SolrTestCaseJ4.java    |    27 +-
 .../cloud/AbstractFullDistribZkTestBase.java    |     2 +-
 .../org/apache/solr/cloud/ConfigRequest.java    |    55 +
 .../apache/solr/cloud/MiniSolrCloudCluster.java |     1 +
 .../solr/core/MockConcurrentMergeScheduler.java |    35 +
 .../apache/solr/core/MockDirectoryFactory.java  |     6 +-
 solr/test-framework/src/test-files/log4j2.xml   |    39 -
 solr/webapp/web/css/angular/cloud.css           |    15 +
 solr/webapp/web/css/angular/common.css          |     4 +-
 solr/webapp/web/css/angular/jquery-ui.min.css   |    28 +
 .../web/css/angular/jquery-ui.structure.min.css |    24 +
 solr/webapp/web/index.html                      |     3 +
 solr/webapp/web/js/angular/controllers/cloud.js |    64 +-
 .../web/js/angular/controllers/segments.js      |     2 +-
 solr/webapp/web/libs/jquery-ui.min.js           |    30 +
 solr/webapp/web/partials/cloud.html             |     1 +
 949 files changed, 44281 insertions(+), 43922 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1a83a146/solr/solr-ref-guide/src/suggester.adoc
----------------------------------------------------------------------


[7/7] lucene-solr:master: LUCENE-8343: change suggesters to use Long instead of long weight during indexing, and double instead of long score at suggest time

Posted by mi...@apache.org.
LUCENE-8343: change suggesters to use Long instead of long weight during indexing, and double instead of long score at suggest time


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/398074d0
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/398074d0
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/398074d0

Branch: refs/heads/master
Commit: 398074d0f878d4ba262245e35fa1ea285e52b791
Parents: a619038 1a83a14
Author: Mike McCandless <mi...@apache.org>
Authored: Tue Sep 11 12:03:40 2018 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Tue Sep 11 12:03:40 2018 -0400

----------------------------------------------------------------------
 lucene/MIGRATE.txt                              |  5 ++
 .../analyzing/BlendedInfixSuggester.java        |  7 +-
 .../analyzing/BlendedInfixSuggesterTest.java    | 73 +++++++++++++++-----
 solr/solr-ref-guide/src/suggester.adoc          |  8 ++-
 4 files changed, 73 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/398074d0/lucene/MIGRATE.txt
----------------------------------------------------------------------
diff --cc lucene/MIGRATE.txt
index 90ed4fc,8467d72..e0e70a3
--- a/lucene/MIGRATE.txt
+++ b/lucene/MIGRATE.txt
@@@ -76,45 -76,3 +76,50 @@@ separate query
  Thanks to other optimizations that were added to Lucene 8, this query will be
  able to efficiently select the top-scoring document without having to visit
  all matches.
 +
 +## TopFieldCollector always assumes fillFields=true ##
 +
 +Because filling sort values doesn't have a significant overhead, the fillFields
 +option has been removed from TopFieldCollector factory methods. Everything
 +behaves as if it was set to true.
 +
 +## TopFieldCollector no longer takes a trackDocScores option ##
 +
 +Computing scores at collection time is less efficient than running a second
 +request in order to only compute scores for documents that made it to the top
 +hits. As a consequence, the trackDocScores option has been removed and can be
 +replaced with the new TopFieldCollector#populateScores helper method.
 +
 +## IndexSearcher.search(After) may return lower bounds of the hit count and TopDocs.totalHits is no longer a long ##
 +
 +Lucene 8 received optimizations for collection of top-k matches by not visiting
 +all matches. However these optimizations won't help if all matches still need
 +to be visited in order to compute the total number of hits. As a consequence,
 +IndexSearcher's search and searchAfter methods were changed to only count hits
 +accurately up to 1,000, and Topdocs.totalHits was changed from a long to an
 +object that says whether the hit count is accurate or a lower bound of the
 +actual hit count.
 +
 +## RAMDirectory, RAMFile, RAMInputStream, RAMOutputStream are deprecated ##
 +
 +This RAM-based directory implementation is an old piece of code that uses inefficient
 +thread synchronization primitives and can be confused as "faster" than the NIO-based
 +MMapDirectory. It is deprecated and scheduled for removal in future versions of 
 +Lucene. (LUCENE-8467, LUCENE-8438)
 +
 +## LeafCollector.setScorer() now takes a Scorable rather than a Scorer ##
 +
 +Scorer has a number of methods that should never be called from Collectors, for example
 +those that advance the underlying iterators.  To hide these, LeafCollector.setScorer()
 +now takes a Scorable, an abstract class that Scorers can extend, with methods
 +docId() and score() (LUCENE-6228)
 +
 +## Scorers must have non-null Weights ##
 +
 +If a custom Scorer implementation does not have an associated Weight, it can probably
 +be replaced with a Scorable instead.
++
++## Suggesters now return Long instead of long for weight() during indexing, and double
++instead of long at suggest time ##
++
++Most code should just require recompilation, though possibly requiring some added casts.


[4/7] lucene-solr:master: [LUCENE-8343] minor documentation fixes

Posted by mi...@apache.org.
[LUCENE-8343] minor documentation fixes


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/2b636e8c
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/2b636e8c
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/2b636e8c

Branch: refs/heads/master
Commit: 2b636e8c3adb879f0cd2cff45824e226d747b5f0
Parents: cef9a22
Author: Alessandro Benedetti <a....@sease.io>
Authored: Thu Jun 7 16:51:38 2018 +0100
Committer: Alessandro Benedetti <a....@sease.io>
Committed: Thu Jun 7 16:51:38 2018 +0100

----------------------------------------------------------------------
 solr/solr-ref-guide/src/suggester.adoc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/2b636e8c/solr/solr-ref-guide/src/suggester.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/suggester.adoc b/solr/solr-ref-guide/src/suggester.adoc
index 7156dea..caf36a9 100644
--- a/solr/solr-ref-guide/src/suggester.adoc
+++ b/solr/solr-ref-guide/src/suggester.adoc
@@ -198,11 +198,11 @@ Used to calculate weight coefficient using the position of the first matching wo
 `position_linear`:::
 `weightFieldValue * (1 - 0.10*position)`: Matches to the start will be given a higher score. This is the default.
 `position_reciprocal`:::
-`weightFieldValue / (1 + position)`: Matches to the start will be given a score which decay faster than linear.
+`weightFieldValue / (1 + position)`: Matches to the start will be given a higher score. The score of matches positioned far from the start of the suggestion decays faster than linear.
 `position_exponential_reciprocal`:::
-`weightFieldValue / pow(1 + position,exponent)`: Matches to the start will be given a score which decay faster than reciprocal.
+`weightFieldValue / pow(1 + position,exponent)`: Matches to the start will be given a higher score. The score of matches positioned far from the start of the suggestion decays faster than reciprocal.
 `exponent`::::
-An optional configuration variable for `position_reciprocal` to control how fast the score will decrease. Default `2.0`.
+An optional configuration variable for `position_exponential_reciprocal` to control how fast the score will decrease. Default `2.0`.
 
 `numFactor`::
 The factor to multiply the number of searched elements from which results will be pruned. Default is `10`.


[2/7] lucene-solr:master: [LUCENE-8343] documentation fix

Posted by mi...@apache.org.
[LUCENE-8343] documentation fix


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/17cfa634
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/17cfa634
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/17cfa634

Branch: refs/heads/master
Commit: 17cfa634798f96539c2535dca2e9a8f2cc0bff45
Parents: e83e8ee
Author: Alessandro Benedetti <a....@sease.io>
Authored: Wed Jun 6 19:42:08 2018 +0100
Committer: Alessandro Benedetti <a....@sease.io>
Committed: Wed Jun 6 19:42:08 2018 +0100

----------------------------------------------------------------------
 solr/solr-ref-guide/src/suggester.adoc | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/17cfa634/solr/solr-ref-guide/src/suggester.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/suggester.adoc b/solr/solr-ref-guide/src/suggester.adoc
index 0f9e12e..7156dea 100644
--- a/solr/solr-ref-guide/src/suggester.adoc
+++ b/solr/solr-ref-guide/src/suggester.adoc
@@ -189,7 +189,7 @@ This implementation supports <<Context Filtering>>.
 
 ==== BlendedInfixLookupFactory
 
-An extension of the `AnalyzingInfixSuggester` which provides additional functionality to weight prefix matches across the matched documents. You can tell it to score higher if a hit is closer to the start of the suggestion or vice versa.
+An extension of the `AnalyzingInfixSuggester` which provides additional functionality to weight prefix matches across the matched documents. It scores higher if a hit is closer to the start of the suggestion.
 
 This implementation uses the following additional properties:
 
@@ -198,9 +198,11 @@ Used to calculate weight coefficient using the position of the first matching wo
 `position_linear`:::
 `weightFieldValue * (1 - 0.10*position)`: Matches to the start will be given a higher score. This is the default.
 `position_reciprocal`:::
-`weightFieldValue / (1 + position)`: Matches to the end will be given a higher score.
+`weightFieldValue / (1 + position)`: Matches to the start will be given a score which decay faster than linear.
+`position_exponential_reciprocal`:::
+`weightFieldValue / pow(1 + position,exponent)`: Matches to the start will be given a score which decay faster than reciprocal.
 `exponent`::::
-An optional configuration variable for `position_reciprocal` to control how fast the score will increase or decrease. Default `2.0`.
+An optional configuration variable for `position_reciprocal` to control how fast the score will decrease. Default `2.0`.
 
 `numFactor`::
 The factor to multiply the number of searched elements from which results will be pruned. Default is `10`.


[5/7] lucene-solr:master: [LUCENE-8343] weight long overflow fix + test

Posted by mi...@apache.org.
[LUCENE-8343] weight long overflow fix + test


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e0232f10
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e0232f10
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e0232f10

Branch: refs/heads/master
Commit: e0232f104509f28126d9ce060663f87508366338
Parents: 2b636e8
Author: Alessandro Benedetti <a....@sease.io>
Authored: Thu Jun 7 18:57:30 2018 +0100
Committer: Alessandro Benedetti <a....@sease.io>
Committed: Thu Jun 7 18:57:30 2018 +0100

----------------------------------------------------------------------
 .../analyzing/BlendedInfixSuggester.java        |  6 ++--
 .../analyzing/BlendedInfixSuggesterTest.java    | 32 ++++++++++++++------
 2 files changed, 27 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e0232f10/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
index dc65f7a..63f432f 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
@@ -227,8 +227,10 @@ public class BlendedInfixSuggester extends AnalyzingInfixSuggester {
       if (weight == 0) {
         weight = 1;
       }
-      long scaledCoefficient = (long) (coefficient * 10);
-      long score = weight * scaledCoefficient;
+      if (weight < 1 / LINEAR_COEF && weight > -1 / LINEAR_COEF) {
+        weight *= 1 / LINEAR_COEF;
+      }
+      long score = (long) (weight * coefficient);
 
       LookupResult result;
       if (doHighlight) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e0232f10/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
index 1e5a5da..296e404 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
@@ -81,6 +81,20 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
     assertSuggestionsRanking(payload, suggester);
   }
 
+  /**
+   * Test to validate the suggestions ranking according to the position coefficient,
+   * even if the weight associated to the suggestion is very big, no overflow should happen.
+   */
+  public void testBlendedSort_fieldWeightLongMax_shouldRankSuggestionsByPositionMatchWithNoOverflow() throws IOException {
+    BytesRef payload = new BytesRef("star");
+    Input keys[] = new Input[]{
+        new Input("star wars: episode v - the empire strikes back", Long.MAX_VALUE, payload)
+    };
+    BlendedInfixSuggester suggester = getBlendedInfixSuggester(keys);
+
+    assertSuggestionsRanking(payload, suggester);
+  }
+
   private void assertSuggestionsRanking(BytesRef payload, BlendedInfixSuggester suggester) throws IOException {
     // we query for star wars and check that the weight
     // is smaller when we search for tokens that are far from the beginning
@@ -131,9 +145,9 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
     BlendedInfixSuggester suggester = new BlendedInfixSuggester(newFSDirectory(tempDir), a);
     suggester.build(new InputArrayIterator(keys));
 
-    assertEquals(10 * w, getInResults(suggester, "top", pl, 1));
-    assertEquals(w * (long) (10 * (1 - 0.10 * 2)), getInResults(suggester, "the", pl, 1));
-    assertEquals(w * (long) (10 * (1 - 0.10 * 3)), getInResults(suggester, "lake", pl, 1));
+    assertEquals(w, getInResults(suggester, "top", pl, 1));
+    assertEquals((int) (w * (1 - 0.10 * 2)), getInResults(suggester, "the", pl, 1));
+    assertEquals((int) (w * (1 - 0.10 * 3)), getInResults(suggester, "lake", pl, 1));
 
     suggester.close();
 
@@ -143,9 +157,9 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
                                           BlendedInfixSuggester.BlenderType.POSITION_RECIPROCAL, 1, false);
     suggester.build(new InputArrayIterator(keys));
 
-    assertEquals(10 * w, getInResults(suggester, "top", pl, 1));
-    assertEquals(w * (long) (10 * 1 / (1 + 2)), getInResults(suggester, "the", pl, 1));
-    assertEquals(w * (long) (10 * 1 / (1 + 3)), getInResults(suggester, "lake", pl, 1));
+    assertEquals(w, getInResults(suggester, "top", pl, 1));
+    assertEquals((int) (w * 1 / (1 + 2)), getInResults(suggester, "the", pl, 1));
+    assertEquals((int) (w * 1 / (1 + 3)), getInResults(suggester, "lake", pl, 1));
     suggester.close();
 
     // BlenderType.EXPONENTIAL_RECIPROCAL is using 1/(pow(1+p, exponent)) * w where w is weight and p the position of the word
@@ -155,9 +169,9 @@ public class BlendedInfixSuggesterTest extends LuceneTestCase {
 
     suggester.build(new InputArrayIterator(keys));
 
-    assertEquals(10 * w, getInResults(suggester, "top", pl, 1));
-    assertEquals(w * (long) (10 * 1 / (Math.pow(1 + 2, 4.0))), getInResults(suggester, "the", pl, 1));
-    assertEquals(w * (long) (10 * 1 / (Math.pow(1 + 3, 4.0))), getInResults(suggester, "lake", pl, 1));
+    assertEquals(w, getInResults(suggester, "top", pl, 1));
+    assertEquals((int) (w * 1 / (Math.pow(1 + 2, 4.0))), getInResults(suggester, "the", pl, 1));
+    assertEquals((int) (w * 1 / (Math.pow(1 + 3, 4.0))), getInResults(suggester, "lake", pl, 1));
 
     suggester.close();
   }


[3/7] lucene-solr:master: Merge remote-tracking branch 'upstream/master' into LUCENE-8343

Posted by mi...@apache.org.
Merge remote-tracking branch 'upstream/master' into LUCENE-8343


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/cef9a228
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/cef9a228
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/cef9a228

Branch: refs/heads/master
Commit: cef9a2283e30a297b3add8e73ee6dba9492dcc57
Parents: 17cfa63 6e88035
Author: Alessandro Benedetti <a....@sease.io>
Authored: Thu Jun 7 16:50:58 2018 +0100
Committer: Alessandro Benedetti <a....@sease.io>
Committed: Thu Jun 7 16:50:58 2018 +0100

----------------------------------------------------------------------
 lucene/CHANGES.txt                              |  18 +
 .../lucene/analysis/hunspell/Dictionary.java    |   8 +-
 .../miscellaneous/ConcatenateGraphFilter.java   | 375 ++++++++++++++++++
 .../ConcatenateGraphFilterFactory.java          |  70 ++++
 .../miscellaneous/FingerprintFilter.java        |   4 +-
 .../miscellaneous/WordDelimiterFilter.java      |   7 +-
 .../analysis/ngram/EdgeNGramFilterFactory.java  |  10 +-
 .../analysis/ngram/EdgeNGramTokenFilter.java    |  85 ++--
 .../analysis/ngram/NGramFilterFactory.java      |  10 +-
 .../lucene/analysis/ngram/NGramTokenFilter.java |  93 +++--
 .../lucene/analysis/synonym/SynonymFilter.java  |   4 +-
 .../analysis/synonym/WordnetSynonymParser.java  |   7 +-
 ...ache.lucene.analysis.util.TokenFilterFactory |   1 +
 .../analysis/core/TestBugInSomething.java       |   2 +-
 .../lucene/analysis/core/TestRandomChains.java  |  12 +-
 .../TestConcatenateGraphFilter.java             | 168 ++++++++
 .../TestConcatenateGraphFilterFactory.java      |  83 ++++
 .../miscellaneous/TestFingerprintFilter.java    |   9 +
 .../ngram/EdgeNGramTokenFilterTest.java         | 122 ++++--
 .../analysis/ngram/NGramTokenFilterTest.java    | 118 ++++--
 .../analysis/ngram/NGramTokenizerTest.java      |   3 +-
 .../lucene/analysis/ngram/TestNGramFilters.java |  18 +-
 .../classification/BM25NBClassifierTest.java    |   2 +-
 .../CachingNaiveBayesClassifierTest.java        |   2 +-
 .../SimpleNaiveBayesClassifierTest.java         |   2 +-
 .../codecs/blockterms/BlockTermsWriter.java     |  10 +-
 .../codecs/simpletext/SimpleTextBKDWriter.java  |  10 +-
 .../simpletext/SimpleTextFieldInfosFormat.java  |  11 +-
 .../simpletext/SimpleTextSegmentInfoFormat.java |   3 +-
 .../CompressingStoredFieldsIndexReader.java     |  25 +-
 .../CompressingStoredFieldsWriter.java          |   5 +-
 .../CompressingTermVectorsWriter.java           |   8 +-
 .../lucene50/Lucene50FieldInfosFormat.java      |   2 +-
 .../lucene60/Lucene60FieldInfosFormat.java      |   8 +-
 .../lucene/index/BinaryDocValuesWriter.java     |   5 +
 .../lucene/index/BufferedUpdatesStream.java     |   2 +-
 .../org/apache/lucene/index/CheckIndex.java     |  27 +-
 .../lucene/index/DefaultIndexingChain.java      |  16 +
 .../org/apache/lucene/index/DocConsumer.java    |   9 +
 .../apache/lucene/index/DocValuesWriter.java    |   3 +
 .../lucene/index/DocumentsWriterPerThread.java  |  19 +-
 .../java/org/apache/lucene/index/FieldInfo.java |  18 +-
 .../org/apache/lucene/index/FieldInfos.java     |  51 ++-
 .../org/apache/lucene/index/IndexWriter.java    |  47 ++-
 .../org/apache/lucene/index/MultiFields.java    |   6 +-
 .../lucene/index/NumericDocValuesWriter.java    |   5 +
 .../apache/lucene/index/ParallelLeafReader.java |   7 +-
 .../org/apache/lucene/index/PendingDeletes.java |   8 +-
 .../apache/lucene/index/PendingSoftDeletes.java |  42 +-
 .../org/apache/lucene/index/ReaderPool.java     |   4 +-
 .../apache/lucene/index/ReadersAndUpdates.java  |   6 -
 .../apache/lucene/index/SegmentCommitInfo.java  |  34 +-
 .../org/apache/lucene/index/SegmentInfos.java   |  19 +-
 .../org/apache/lucene/index/SegmentMerger.java  |   1 +
 .../apache/lucene/index/SegmentWriteState.java  |   4 +-
 .../SoftDeletesDirectoryReaderWrapper.java      |  68 +++-
 .../index/SoftDeletesRetentionMergePolicy.java  |   2 +-
 .../lucene/index/SortedDocValuesWriter.java     |   5 +
 .../index/SortedNumericDocValuesWriter.java     |   5 +
 .../lucene/index/SortedSetDocValuesWriter.java  |   6 +-
 .../apache/lucene/index/SortingLeafReader.java  |   6 +-
 .../apache/lucene/search/BlendedTermQuery.java  |   8 +-
 .../apache/lucene/search/CachingCollector.java  |   9 +-
 .../org/apache/lucene/search/MaxScoreCache.java |   2 +-
 .../org/apache/lucene/search/PhraseQuery.java   |   2 +-
 .../apache/lucene/search/PointInSetQuery.java   |   2 +-
 .../apache/lucene/search/PointRangeQuery.java   |   5 +-
 .../apache/lucene/search/spans/SpanWeight.java  |   4 +-
 .../java/org/apache/lucene/util/ArrayUtil.java  | 200 +++++++++-
 .../java/org/apache/lucene/util/BytesRef.java   |   9 +-
 .../org/apache/lucene/util/BytesRefBuilder.java |   4 +-
 .../java/org/apache/lucene/util/CharsRef.java   |   3 +-
 .../org/apache/lucene/util/CharsRefBuilder.java |   4 +-
 .../org/apache/lucene/util/DocIdSetBuilder.java |   5 +-
 .../java/org/apache/lucene/util/IntsRef.java    |   4 +-
 .../java/org/apache/lucene/util/LongsRef.java   |   4 +-
 .../java/org/apache/lucene/util/PagedBytes.java |   7 +-
 .../org/apache/lucene/util/QueryBuilder.java    |   4 +-
 .../org/apache/lucene/util/RoaringDocIdSet.java |   3 +-
 .../apache/lucene/util/SparseFixedBitSet.java   |   3 +-
 .../org/apache/lucene/util/StringHelper.java    |   2 +-
 .../java/org/apache/lucene/util/Version.java    |   7 +
 .../automaton/DaciukMihovAutomatonBuilder.java  |   4 +-
 .../org/apache/lucene/util/bkd/BKDWriter.java   |  10 +-
 .../apache/lucene/util/bkd/HeapPointWriter.java |   7 +-
 .../util/packed/DeltaPackedLongValues.java      |   9 +-
 .../lucene/util/packed/MonotonicLongValues.java |  11 +-
 .../lucene/util/packed/PackedLongValues.java    |   6 +-
 .../lucene/analysis/TestCharacterUtils.java     |   4 +-
 .../AbstractTestCompressionMode.java            |  11 +-
 .../lucene/codecs/lucene50/TestForUtil.java     |  14 +-
 .../org/apache/lucene/index/TestAddIndexes.java |  46 +++
 .../org/apache/lucene/index/TestCodecs.java     |   4 +-
 .../test/org/apache/lucene/index/TestDoc.java   |   4 +-
 .../apache/lucene/index/TestFieldsReader.java   |   2 +-
 .../apache/lucene/index/TestIndexWriter.java    | 126 +++++-
 .../index/TestIndexWriterThreadsToSegments.java |   2 +-
 .../index/TestOneMergeWrappingMergePolicy.java  |   2 +-
 .../apache/lucene/index/TestPendingDeletes.java |   6 +-
 .../lucene/index/TestPendingSoftDeletes.java    |  75 +++-
 .../lucene/index/TestPerSegmentDeletes.java     |   3 +-
 .../apache/lucene/index/TestSegmentInfos.java   |   6 +-
 .../apache/lucene/index/TestSegmentMerger.java  |   4 +-
 .../TestSoftDeletesDirectoryReaderWrapper.java  |   3 +-
 .../org/apache/lucene/search/TestBoolean2.java  |   4 +-
 .../lucene/search/TestDoubleValuesSource.java   |   3 +-
 .../lucene/search/TestLongValuesSource.java     |   3 +-
 .../apache/lucene/search/TestPhraseQuery.java   |   3 +-
 .../TestSimpleExplanationsWithFillerDocs.java   |   5 +-
 .../apache/lucene/util/BaseSortTestCase.java    |   4 +-
 .../lucene/util/StressRamUsageEstimator.java    |   5 +-
 .../org/apache/lucene/util/TestArrayUtil.java   |  87 ++++
 .../org/apache/lucene/util/TestBytesRef.java    |   8 +
 .../org/apache/lucene/util/TestCharsRef.java    |   8 +
 .../org/apache/lucene/util/TestIntsRef.java     |   8 +
 .../apache/lucene/util/TestLSBRadixSorter.java  |   4 +-
 .../org/apache/lucene/util/TestLongsRef.java    |  47 +++
 .../apache/lucene/util/TestMSBRadixSorter.java  |   4 +-
 .../lucene/util/TestStringMSBRadixSorter.java   |   4 +-
 .../lucene/util/packed/TestPackedInts.java      |   5 +-
 .../lucene/expressions/TestExpressionSorts.java |   3 +-
 .../search/highlight/TermVectorLeafReader.java  |   2 +-
 lucene/ivy-versions.properties                  |   2 +-
 .../apache/lucene/index/memory/MemoryIndex.java |   4 +-
 .../org/apache/lucene/index/IndexSplitter.java  |   2 +-
 .../lucene/search/intervals/IntervalQuery.java  |   4 +-
 .../lucene/document/TestHalfFloatPoint.java     |   2 +-
 .../spatial/prefix/tree/QuadPrefixTree.java     |   4 +-
 .../spatial/spatial4j/Geo3dShapeFactory.java    |  10 +-
 .../lucene/spatial/DistanceStrategyTest.java    |   4 +-
 .../lucene/spatial/spatial4j/Geo3dRptTest.java  |  23 +-
 .../analyzing/AnalyzingInfixSuggester.java      |   2 +-
 .../suggest/document/CompletionAnalyzer.java    |  21 +-
 .../suggest/document/CompletionQuery.java       |   2 +-
 .../suggest/document/CompletionTokenStream.java | 297 +-------------
 .../search/suggest/document/ContextQuery.java   |   5 +-
 .../suggest/document/ContextSuggestField.java   |   1 +
 .../suggest/document/FuzzyCompletionQuery.java  |   7 +-
 .../suggest/document/NRTSuggesterBuilder.java   |   3 +-
 .../suggest/document/PrefixCompletionQuery.java |   5 +-
 .../search/suggest/document/SuggestField.java   |   3 +-
 .../document/CompletionTokenStreamTest.java     | 177 ---------
 .../suggest/document/TestContextQuery.java      |   3 +-
 .../document/TestContextSuggestField.java       |  13 +-
 .../suggest/document/TestSuggestField.java      |  29 +-
 .../index/BaseFieldInfoFormatTestCase.java      |  14 +-
 .../index/BaseIndexFileFormatTestCase.java      |   2 +-
 .../index/BaseLiveDocsFormatTestCase.java       |   4 +-
 .../lucene/index/BaseMergePolicyTestCase.java   |   2 +-
 .../index/BaseStoredFieldsFormatTestCase.java   |   2 +-
 .../lucene/index/MismatchedLeafReader.java      |   3 +-
 .../lucene/index/RandomPostingsTester.java      |   4 +-
 .../lucene/search/BlockScoreQueryWrapper.java   |  10 +-
 .../lucene/store/MockDirectoryWrapper.java      |   2 +-
 .../util/automaton/AutomatonTestUtil.java       |   4 +-
 lucene/tools/forbiddenApis/lucene.txt           |  24 ++
 solr/CHANGES.txt                                | 100 ++++-
 solr/NOTICE.txt                                 |  14 +
 .../field/AbstractAnalyticsFieldTest.java       |  41 +-
 .../org/apache/solr/cloud/RecoveryStrategy.java |  29 +-
 .../apache/solr/cloud/ReplicateFromLeader.java  |   2 +-
 .../cloud/autoscaling/ComputePlanAction.java    |   8 +-
 .../org/apache/solr/core/CoreContainer.java     |  39 +-
 .../src/java/org/apache/solr/core/SolrCore.java |   2 +-
 .../apache/solr/core/SolrResourceLoader.java    |  12 +-
 .../solr/handler/admin/CollectionsHandler.java  |   5 +-
 .../solr/handler/component/ExpandComponent.java |  30 +-
 .../solr/handler/tagger/OffsetCorrector.java    | 178 +++++++++
 .../solr/handler/tagger/TagClusterReducer.java  | 103 +++++
 .../org/apache/solr/handler/tagger/TagLL.java   | 176 ++++++++
 .../org/apache/solr/handler/tagger/Tagger.java  | 230 +++++++++++
 .../handler/tagger/TaggerRequestHandler.java    | 397 +++++++++++++++++++
 .../solr/handler/tagger/TaggingAttribute.java   |  65 +++
 .../handler/tagger/TaggingAttributeImpl.java    |  79 ++++
 .../solr/handler/tagger/TermPrefixCursor.java   | 189 +++++++++
 .../solr/handler/tagger/XmlOffsetCorrector.java | 113 ++++++
 .../solr/handler/tagger/package-info.java       |  27 ++
 .../transform/ChildDocTransformerFactory.java   |  11 +-
 .../apache/solr/schema/CurrencyFieldType.java   |  18 +-
 .../solr/search/CollapsingQParserPlugin.java    |   2 +-
 .../java/org/apache/solr/search/Insanity.java   |   2 +-
 .../org/apache/solr/search/QParserPlugin.java   |  80 ++--
 .../apache/solr/search/QueryWrapperFilter.java  | 106 -----
 .../apache/solr/search/TermsQParserPlugin.java  |  22 +-
 .../solr/security/PKIAuthenticationPlugin.java  |  40 +-
 .../apache/solr/security/PublicKeyHandler.java  |  47 +++
 .../org/apache/solr/servlet/HttpSolrCall.java   |   4 +-
 .../apache/solr/servlet/LoadAdminUiServlet.java |   6 +-
 .../apache/solr/servlet/SolrDispatchFilter.java |  43 +-
 .../solr/uninverting/UninvertingReader.java     |   2 +-
 .../apache/solr/update/CdcrTransactionLog.java  |  20 +-
 .../org/apache/solr/update/CdcrUpdateLog.java   |   3 -
 .../apache/solr/update/HdfsTransactionLog.java  |  18 +-
 .../org/apache/solr/update/HdfsUpdateLog.java   |  84 ++--
 .../org/apache/solr/update/TransactionLog.java  |  56 +--
 .../java/org/apache/solr/update/UpdateLog.java  | 255 ++++++------
 .../solr/collection1/conf/schema-tagger.xml     | 187 +++++++++
 .../solr/collection1/conf/solrconfig-tagger.xml |  59 +++
 .../apache/solr/cloud/RollingRestartTest.java   |  10 +-
 .../autoscaling/AutoScalingHandlerTest.java     |  21 +
 .../cloud/autoscaling/sim/SimCloudManager.java  |   2 +-
 .../sim/SimClusterStateProvider.java            |  50 ++-
 .../autoscaling/sim/SimNodeStateProvider.java   | 128 +++---
 .../autoscaling/sim/SimSolrCloudTestCase.java   |  56 ++-
 .../sim/TestClusterStateProvider.java           |   6 +-
 .../cloud/autoscaling/sim/TestLargeCluster.java | 118 ++++--
 .../apache/solr/core/ResourceLoaderTest.java    |   6 +-
 .../tagger/EmbeddedSolrNoSerializeTest.java     | 153 +++++++
 .../handler/tagger/RandomizedTaggerTest.java    | 150 +++++++
 .../apache/solr/handler/tagger/Tagger2Test.java | 176 ++++++++
 .../apache/solr/handler/tagger/TaggerTest.java  | 296 ++++++++++++++
 .../solr/handler/tagger/TaggerTestCase.java     | 251 ++++++++++++
 .../handler/tagger/TaggingAttributeTest.java    |  73 ++++
 .../handler/tagger/WordLengthTaggingFilter.java | 110 +++++
 .../tagger/WordLengthTaggingFilterFactory.java  |  67 ++++
 .../handler/tagger/XmlInterpolationTest.java    | 224 +++++++++++
 .../solr/search/TestQueryWrapperFilter.java     | 241 -----------
 .../org/apache/solr/search/TestRecovery.java    |  58 +--
 .../apache/solr/search/TestRecoveryHdfs.java    |  46 +--
 .../solr/search/TestStandardQParsers.java       |  10 +-
 .../security/TestPKIAuthenticationPlugin.java   |   7 +-
 .../apache/solr/update/TransactionLogTest.java  |  14 +-
 solr/licenses/metrics-core-3.2.2.jar.sha1       |   1 -
 solr/licenses/metrics-core-3.2.6.jar.sha1       |   1 +
 solr/licenses/metrics-ganglia-3.2.2.jar.sha1    |   1 -
 solr/licenses/metrics-ganglia-3.2.6.jar.sha1    |   1 +
 solr/licenses/metrics-graphite-3.2.2.jar.sha1   |   1 -
 solr/licenses/metrics-graphite-3.2.6.jar.sha1   |   1 +
 solr/licenses/metrics-jetty9-3.2.2.jar.sha1     |   1 -
 solr/licenses/metrics-jetty9-3.2.6.jar.sha1     |   1 +
 solr/licenses/metrics-jvm-3.2.2.jar.sha1        |   1 -
 solr/licenses/metrics-jvm-3.2.6.jar.sha1        |   1 +
 solr/solr-ref-guide/src/_includes/head.html     |   1 -
 solr/solr-ref-guide/src/_layouts/page.html      |  12 -
 solr/solr-ref-guide/src/collections-api.adoc    |  42 ++
 solr/solr-ref-guide/src/css/comments.css        | 160 --------
 solr/solr-ref-guide/src/searching.adoc          |  33 +-
 solr/solr-ref-guide/src/the-tagger-handler.adoc | 265 +++++++++++++
 .../client/solrj/cloud/autoscaling/Clause.java  |   2 +-
 .../client/solrj/cloud/autoscaling/Policy.java  |   7 +-
 .../solr/common/cloud/ClusterProperties.java    |  18 +
 .../apache/solr/common/cloud/ZkStateReader.java |   6 +
 242 files changed, 6843 insertions(+), 2181 deletions(-)
----------------------------------------------------------------------