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(-)
----------------------------------------------------------------------