You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2016/06/16 12:08:31 UTC
[01/50] [abbrv] lucene-solr:apiv2: LUCENE-7323: compound file writing
now verifies checksum and segment ID for the incoming sub-files,
to catch hardware issues or filesystem bugs earlier
Repository: lucene-solr
Updated Branches:
refs/heads/apiv2 f72c6914a -> b333e6bd0
LUCENE-7323: compound file writing now verifies checksum and segment ID for the incoming sub-files, to catch hardware issues or filesystem bugs earlier
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/067fb25e
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/067fb25e
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/067fb25e
Branch: refs/heads/apiv2
Commit: 067fb25e4359ed8d5673e385976da7debc0e5b77
Parents: 7e86ba8
Author: Mike McCandless <mi...@apache.org>
Authored: Thu Jun 9 14:48:58 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Thu Jun 9 14:48:58 2016 -0400
----------------------------------------------------------------------
lucene/CHANGES.txt | 6 +
.../simpletext/SimpleTextDocValuesFormat.java | 2 +-
.../simpletext/SimpleTextPostingsFormat.java | 2 +-
.../org.apache.lucene.codecs.DocValuesFormat | 1 -
.../org.apache.lucene.codecs.PostingsFormat | 1 -
.../TestSimpleTextCompoundFormat.java | 10 +
.../org/apache/lucene/codecs/CodecUtil.java | 55 +++-
.../apache/lucene/codecs/CompoundFormat.java | 4 +-
.../codecs/lucene50/Lucene50CompoundFormat.java | 26 +-
.../codecs/lucene50/Lucene50CompoundReader.java | 5 +-
.../org/apache/lucene/codecs/TestCodecUtil.java | 306 +++++++++++++++++++
.../perfield/TestPerFieldDocValuesFormat.java | 2 +-
.../perfield/TestPerFieldPostingsFormat2.java | 12 +-
.../org/apache/lucene/index/TestAddIndexes.java | 4 +-
.../org/apache/lucene/index/TestCodecUtil.java | 305 ------------------
.../mockrandom/MockRandomPostingsFormat.java | 13 +-
.../index/BaseCompoundFormatTestCase.java | 161 ++++++----
.../org/apache/lucene/index/RandomCodec.java | 15 +-
.../solr/collection1/conf/schema_codec.xml | 3 -
.../org/apache/solr/core/TestCodecSupport.java | 5 -
20 files changed, 534 insertions(+), 404 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index af74c26..20df7b2 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -12,6 +12,12 @@ Bug Fixes
* LUCENE-6662: Fixed potential resource leaks. (Rishabh Patel via Adrien Grand)
+Improvements
+
+* LUCENE-7323: Compound file writing now verifies the incoming
+ sub-files' checkums and segment IDs, to catch hardware issues or
+ filesytem bugs earlier (Robert Muir, Mike McCandless)
+
Other
* LUCENE-4787: Fixed some highlighting javadocs. (Michael Dodsworth via Adrien
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java
index 46ac983..a846dc9 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java
@@ -122,7 +122,7 @@ import org.apache.lucene.index.SegmentWriteState;
* and saving the offset/etc for each field.
* @lucene.experimental
*/
-public class SimpleTextDocValuesFormat extends DocValuesFormat {
+class SimpleTextDocValuesFormat extends DocValuesFormat {
public SimpleTextDocValuesFormat() {
super("SimpleText");
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java
index a770505..4437120 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java
@@ -34,7 +34,7 @@ import org.apache.lucene.index.SegmentWriteState;
* any text editor, and even edit it to alter your index.
*
* @lucene.experimental */
-public final class SimpleTextPostingsFormat extends PostingsFormat {
+final class SimpleTextPostingsFormat extends PostingsFormat {
public SimpleTextPostingsFormat() {
super("SimpleText");
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat b/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat
index 3e7164d..daef7c5 100644
--- a/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat
+++ b/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.DocValuesFormat
@@ -15,4 +15,3 @@
org.apache.lucene.codecs.memory.MemoryDocValuesFormat
org.apache.lucene.codecs.memory.DirectDocValuesFormat
-org.apache.lucene.codecs.simpletext.SimpleTextDocValuesFormat
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat b/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat
index b82f156..753b6d7 100644
--- a/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat
+++ b/lucene/codecs/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat
@@ -19,5 +19,4 @@ org.apache.lucene.codecs.memory.DirectPostingsFormat
org.apache.lucene.codecs.memory.FSTOrdPostingsFormat
org.apache.lucene.codecs.memory.FSTPostingsFormat
org.apache.lucene.codecs.memory.MemoryPostingsFormat
-org.apache.lucene.codecs.simpletext.SimpleTextPostingsFormat
org.apache.lucene.codecs.autoprefix.AutoPrefixPostingsFormat
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
index ea38832..2f54e2c 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
@@ -27,4 +27,14 @@ public class TestSimpleTextCompoundFormat extends BaseCompoundFormatTestCase {
protected Codec getCodec() {
return codec;
}
+
+ @Override
+ public void testCorruptFilesAreCaught() {
+ // SimpleText does not catch broken sub-files in CFS!
+ }
+
+ @Override
+ public void testMissingCodecHeadersAreCaught() {
+ // SimpleText does not catch broken sub-files in CFS!
+ }
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java b/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java
index 62bf2d5..da487d0 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java
@@ -258,6 +258,57 @@ public final class CodecUtil {
return version;
}
+ /**
+ * Expert: verifies the incoming {@link IndexInput} has an index header
+ * and that its segment ID matches the expected one, and then copies
+ * that index header into the provided {@link DataOutput}. This is
+ * useful when building compound files.
+ *
+ * @param in Input stream, positioned at the point where the
+ * index header was previously written. Typically this is located
+ * at the beginning of the file.
+ * @param out Output stream, where the header will be copied to.
+ * @param expectedID Expected segment ID
+ * @throws CorruptIndexException If the first four bytes are not
+ * {@link #CODEC_MAGIC}, or if the <code>expectedID</code>
+ * does not match.
+ * @throws IOException If there is an I/O error reading from the underlying medium.
+ *
+ * @lucene.internal
+ */
+ public static void verifyAndCopyIndexHeader(IndexInput in, DataOutput out, byte[] expectedID) throws IOException {
+ // make sure it's large enough to have a header and footer
+ if (in.length() < footerLength() + headerLength("")) {
+ throw new CorruptIndexException("compound sub-files must have a valid codec header and footer: file is too small (" + in.length() + " bytes)", in);
+ }
+
+ int actualHeader = in.readInt();
+ if (actualHeader != CODEC_MAGIC) {
+ throw new CorruptIndexException("compound sub-files must have a valid codec header and footer: codec header mismatch: actual header=" + actualHeader + " vs expected header=" + CodecUtil.CODEC_MAGIC, in);
+ }
+
+ // we can't verify these, so we pass-through:
+ String codec = in.readString();
+ int version = in.readInt();
+
+ // verify id:
+ checkIndexHeaderID(in, expectedID);
+
+ // we can't verify extension either, so we pass-through:
+ int suffixLength = in.readByte() & 0xFF;
+ byte[] suffixBytes = new byte[suffixLength];
+ in.readBytes(suffixBytes, 0, suffixLength);
+
+ // now write the header we just verified
+ out.writeInt(CodecUtil.CODEC_MAGIC);
+ out.writeString(codec);
+ out.writeInt(version);
+ out.writeBytes(expectedID, 0, expectedID.length);
+ out.writeByte((byte) suffixLength);
+ out.writeBytes(suffixBytes, 0, suffixLength);
+ }
+
+
/** Retrieves the full index header from the provided {@link IndexInput}.
* This throws {@link CorruptIndexException} if this file does
* not appear to be an index file. */
@@ -474,7 +525,7 @@ public final class CodecUtil {
* @throws CorruptIndexException if CRC is formatted incorrectly (wrong bits set)
* @throws IOException if an i/o error occurs
*/
- public static long readCRC(IndexInput input) throws IOException {
+ static long readCRC(IndexInput input) throws IOException {
long value = input.readLong();
if ((value & 0xFFFFFFFF00000000L) != 0) {
throw new CorruptIndexException("Illegal CRC-32 checksum: " + value, input);
@@ -487,7 +538,7 @@ public final class CodecUtil {
* @throws IllegalStateException if CRC is formatted incorrectly (wrong bits set)
* @throws IOException if an i/o error occurs
*/
- public static void writeCRC(IndexOutput output) throws IOException {
+ static void writeCRC(IndexOutput output) throws IOException {
long value = output.getChecksum();
if ((value & 0xFFFFFFFF00000000L) != 0) {
throw new IllegalStateException("Illegal CRC-32 checksum: " + value + " (resource=" + output + ")");
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java
index 954a78e..af1cc2a 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java
@@ -43,7 +43,9 @@ public abstract class CompoundFormat {
public abstract Directory getCompoundReader(Directory dir, SegmentInfo si, IOContext context) throws IOException;
/**
- * Packs the provided segment's files into a compound format.
+ * Packs the provided segment's files into a compound format. All files referenced
+ * by the provided {@link SegmentInfo} must have {@link CodecUtil#writeIndexHeader}
+ * and {@link CodecUtil#writeFooter}.
*/
public abstract void write(Directory dir, SegmentInfo si, IOContext context) throws IOException;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java
index 2a40bde..da2b93f 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java
@@ -18,17 +18,17 @@ package org.apache.lucene.codecs.lucene50;
import java.io.IOException;
-import java.util.Collection;
import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.codecs.CompoundFormat;
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.SegmentInfo;
+import org.apache.lucene.store.ChecksumIndexInput;
import org.apache.lucene.store.DataOutput;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
-import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.util.StringHelper;
/**
* Lucene 5.0 compound file format
@@ -76,6 +76,9 @@ public final class Lucene50CompoundFormat extends CompoundFormat {
String dataFile = IndexFileNames.segmentFileName(si.name, "", DATA_EXTENSION);
String entriesFile = IndexFileNames.segmentFileName(si.name, "", ENTRIES_EXTENSION);
+ byte[] expectedID = si.getId();
+ byte[] id = new byte[StringHelper.ID_LENGTH];
+
try (IndexOutput data = dir.createOutput(dataFile, context);
IndexOutput entries = dir.createOutput(entriesFile, context)) {
CodecUtil.writeIndexHeader(data, DATA_CODEC, VERSION_CURRENT, si.getId(), "");
@@ -87,8 +90,23 @@ public final class Lucene50CompoundFormat extends CompoundFormat {
// write bytes for file
long startOffset = data.getFilePointer();
- try (IndexInput in = dir.openInput(file, IOContext.READONCE)) {
- data.copyBytes(in, in.length());
+ try (ChecksumIndexInput in = dir.openChecksumInput(file, IOContext.READONCE)) {
+
+ // just copies the index header, verifying that its id matches what we expect
+ CodecUtil.verifyAndCopyIndexHeader(in, data, si.getId());
+
+ // copy all bytes except the footer
+ long numBytesToCopy = in.length() - CodecUtil.footerLength() - in.getFilePointer();
+ data.copyBytes(in, numBytesToCopy);
+
+ // verify footer (checksum) matches for the incoming file we are copying
+ long checksum = CodecUtil.checkFooter(in);
+
+ // this is poached from CodecUtil.writeFooter, but we need to use our own checksum, not data.getChecksum(), but I think
+ // adding a public method to CodecUtil to do that is somewhat dangerous:
+ data.writeInt(CodecUtil.FOOTER_MAGIC);
+ data.writeInt(0);
+ data.writeLong(checksum);
}
long endOffset = data.getFilePointer();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
index a448782..f7de169 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
@@ -100,7 +100,7 @@ final class Lucene50CompoundReader extends Directory {
}
/** Helper method that reads CFS entries from an input stream */
- private final Map<String, FileEntry> readEntries(byte[] segmentID, Directory dir, String entriesFileName) throws IOException {
+ private Map<String, FileEntry> readEntries(byte[] segmentID, Directory dir, String entriesFileName) throws IOException {
Map<String,FileEntry> mapping = null;
try (ChecksumIndexInput entriesStream = dir.openChecksumInput(entriesFileName, IOContext.READONCE)) {
Throwable priorE = null;
@@ -140,7 +140,8 @@ final class Lucene50CompoundReader extends Directory {
final String id = IndexFileNames.stripSegmentName(name);
final FileEntry entry = entries.get(id);
if (entry == null) {
- throw new FileNotFoundException("No sub-file with id " + id + " found (fileName=" + name + " files: " + entries.keySet() + ")");
+ String datFileName = IndexFileNames.segmentFileName(segmentName, "", Lucene50CompoundFormat.DATA_EXTENSION);
+ throw new FileNotFoundException("No sub-file with id " + id + " found in compound file \"" + datFileName + "\" (fileName=" + name + " files: " + entries.keySet() + ")");
}
return handle.slice(name, entry.offset, entry.length);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/core/src/test/org/apache/lucene/codecs/TestCodecUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/TestCodecUtil.java b/lucene/core/src/test/org/apache/lucene/codecs/TestCodecUtil.java
new file mode 100644
index 0000000..d403f81
--- /dev/null
+++ b/lucene/core/src/test/org/apache/lucene/codecs/TestCodecUtil.java
@@ -0,0 +1,306 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.lucene.codecs;
+
+import java.io.IOException;
+import java.util.concurrent.atomic.AtomicLong;
+
+import org.apache.lucene.codecs.CodecUtil;
+import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.store.BufferedChecksumIndexInput;
+import org.apache.lucene.store.ChecksumIndexInput;
+import org.apache.lucene.store.IndexInput;
+import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.store.RAMFile;
+import org.apache.lucene.store.RAMInputStream;
+import org.apache.lucene.store.RAMOutputStream;
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.StringHelper;
+
+/** tests for codecutil methods */
+public class TestCodecUtil extends LuceneTestCase {
+
+ public void testHeaderLength() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ CodecUtil.writeHeader(output, "FooBar", 5);
+ output.writeString("this is the data");
+ output.close();
+
+ IndexInput input = new RAMInputStream("file", file);
+ input.seek(CodecUtil.headerLength("FooBar"));
+ assertEquals("this is the data", input.readString());
+ input.close();
+ }
+
+ public void testWriteTooLongHeader() throws Exception {
+ StringBuilder tooLong = new StringBuilder();
+ for (int i = 0; i < 128; i++) {
+ tooLong.append('a');
+ }
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ expectThrows(IllegalArgumentException.class, () -> {
+ CodecUtil.writeHeader(output, tooLong.toString(), 5);
+ });
+ }
+
+ public void testWriteNonAsciiHeader() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ expectThrows(IllegalArgumentException.class, () -> {
+ CodecUtil.writeHeader(output, "\u1234", 5);
+ });
+ }
+
+ public void testReadHeaderWrongMagic() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ output.writeInt(1234);
+ output.close();
+
+ IndexInput input = new RAMInputStream("file", file);
+ expectThrows(CorruptIndexException.class, () -> {
+ CodecUtil.checkHeader(input, "bogus", 1, 1);
+ });
+ }
+
+ public void testChecksumEntireFile() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ CodecUtil.writeHeader(output, "FooBar", 5);
+ output.writeString("this is the data");
+ CodecUtil.writeFooter(output);
+ output.close();
+
+ IndexInput input = new RAMInputStream("file", file);
+ CodecUtil.checksumEntireFile(input);
+ input.close();
+ }
+
+ public void testCheckFooterValid() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ CodecUtil.writeHeader(output, "FooBar", 5);
+ output.writeString("this is the data");
+ CodecUtil.writeFooter(output);
+ output.close();
+
+ ChecksumIndexInput input = new BufferedChecksumIndexInput(new RAMInputStream("file", file));
+ Exception mine = new RuntimeException("fake exception");
+ RuntimeException expected = expectThrows(RuntimeException.class, () -> {
+ CodecUtil.checkFooter(input, mine);
+ });
+ assertEquals("fake exception", expected.getMessage());
+ Throwable suppressed[] = expected.getSuppressed();
+ assertEquals(1, suppressed.length);
+ assertTrue(suppressed[0].getMessage().contains("checksum passed"));
+ input.close();
+ }
+
+ public void testCheckFooterValidAtFooter() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ CodecUtil.writeHeader(output, "FooBar", 5);
+ output.writeString("this is the data");
+ CodecUtil.writeFooter(output);
+ output.close();
+
+ ChecksumIndexInput input = new BufferedChecksumIndexInput(new RAMInputStream("file", file));
+ CodecUtil.checkHeader(input, "FooBar", 5, 5);
+ assertEquals("this is the data", input.readString());
+ Exception mine = new RuntimeException("fake exception");
+ RuntimeException expected = expectThrows(RuntimeException.class, () -> {
+ CodecUtil.checkFooter(input, mine);
+ });
+ assertEquals("fake exception", expected.getMessage());
+ Throwable suppressed[] = expected.getSuppressed();
+ assertEquals(1, suppressed.length);
+ assertTrue(suppressed[0].getMessage().contains("checksum passed"));
+ input.close();
+ }
+
+ public void testCheckFooterValidPastFooter() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ CodecUtil.writeHeader(output, "FooBar", 5);
+ output.writeString("this is the data");
+ CodecUtil.writeFooter(output);
+ output.close();
+
+ ChecksumIndexInput input = new BufferedChecksumIndexInput(new RAMInputStream("file", file));
+ CodecUtil.checkHeader(input, "FooBar", 5, 5);
+ assertEquals("this is the data", input.readString());
+ // bogusly read a byte too far (can happen)
+ input.readByte();
+ Exception mine = new RuntimeException("fake exception");
+ RuntimeException expected = expectThrows(RuntimeException.class, () -> {
+ CodecUtil.checkFooter(input, mine);
+ });
+ assertEquals("fake exception", expected.getMessage());
+ Throwable suppressed[] = expected.getSuppressed();
+ assertEquals(1, suppressed.length);
+ assertTrue(suppressed[0].getMessage().contains("checksum status indeterminate"));
+ input.close();
+ }
+
+ public void testCheckFooterInvalid() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ CodecUtil.writeHeader(output, "FooBar", 5);
+ output.writeString("this is the data");
+ output.writeInt(CodecUtil.FOOTER_MAGIC);
+ output.writeInt(0);
+ output.writeLong(1234567); // write a bogus checksum
+ output.close();
+
+ ChecksumIndexInput input = new BufferedChecksumIndexInput(new RAMInputStream("file", file));
+ CodecUtil.checkHeader(input, "FooBar", 5, 5);
+ assertEquals("this is the data", input.readString());
+ Exception mine = new RuntimeException("fake exception");
+ RuntimeException expected = expectThrows(RuntimeException.class, () -> {
+ CodecUtil.checkFooter(input, mine);
+ });
+ assertEquals("fake exception", expected.getMessage());
+ Throwable suppressed[] = expected.getSuppressed();
+ assertEquals(1, suppressed.length);
+ assertTrue(suppressed[0].getMessage().contains("checksum failed"));
+ input.close();
+ }
+
+ public void testSegmentHeaderLength() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ CodecUtil.writeIndexHeader(output, "FooBar", 5, StringHelper.randomId(), "xyz");
+ output.writeString("this is the data");
+ output.close();
+
+ IndexInput input = new RAMInputStream("file", file);
+ input.seek(CodecUtil.indexHeaderLength("FooBar", "xyz"));
+ assertEquals("this is the data", input.readString());
+ input.close();
+ }
+
+ public void testWriteTooLongSuffix() throws Exception {
+ StringBuilder tooLong = new StringBuilder();
+ for (int i = 0; i < 256; i++) {
+ tooLong.append('a');
+ }
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ expectThrows(IllegalArgumentException.class, () -> {
+ CodecUtil.writeIndexHeader(output, "foobar", 5, StringHelper.randomId(), tooLong.toString());
+ });
+ }
+
+ public void testWriteVeryLongSuffix() throws Exception {
+ StringBuilder justLongEnough = new StringBuilder();
+ for (int i = 0; i < 255; i++) {
+ justLongEnough.append('a');
+ }
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ byte[] id = StringHelper.randomId();
+ CodecUtil.writeIndexHeader(output, "foobar", 5, id, justLongEnough.toString());
+ output.close();
+
+ IndexInput input = new RAMInputStream("file", file);
+ CodecUtil.checkIndexHeader(input, "foobar", 5, 5, id, justLongEnough.toString());
+ assertEquals(input.getFilePointer(), input.length());
+ assertEquals(input.getFilePointer(), CodecUtil.indexHeaderLength("foobar", justLongEnough.toString()));
+ input.close();
+ }
+
+ public void testWriteNonAsciiSuffix() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, true);
+ expectThrows(IllegalArgumentException.class, () -> {
+ CodecUtil.writeIndexHeader(output, "foobar", 5, StringHelper.randomId(), "\u1234");
+ });
+ }
+
+ public void testReadBogusCRC() throws Exception {
+ RAMFile file = new RAMFile();
+ IndexOutput output = new RAMOutputStream(file, false);
+ output.writeLong(-1L); // bad
+ output.writeLong(1L << 32); // bad
+ output.writeLong(-(1L << 32)); // bad
+ output.writeLong((1L << 32) - 1); // ok
+ output.close();
+ IndexInput input = new RAMInputStream("file", file);
+ // read 3 bogus values
+ for (int i = 0; i < 3; i++) {
+ expectThrows(CorruptIndexException.class, () -> {
+ CodecUtil.readCRC(input);
+ });
+ }
+ // good value
+ CodecUtil.readCRC(input);
+ }
+
+ public void testWriteBogusCRC() throws Exception {
+ RAMFile file = new RAMFile();
+ final IndexOutput output = new RAMOutputStream(file, false);
+ AtomicLong fakeChecksum = new AtomicLong();
+ // wrap the index input where we control the checksum for mocking
+ IndexOutput fakeOutput = new IndexOutput("fake", "fake") {
+ @Override
+ public void close() throws IOException {
+ output.close();
+ }
+
+ @Override
+ public long getFilePointer() {
+ return output.getFilePointer();
+ }
+
+ @Override
+ public long getChecksum() throws IOException {
+ return fakeChecksum.get();
+ }
+
+ @Override
+ public void writeByte(byte b) throws IOException {
+ output.writeByte(b);
+ }
+
+ @Override
+ public void writeBytes(byte[] b, int offset, int length) throws IOException {
+ output.writeBytes(b, offset, length);
+ }
+ };
+
+ fakeChecksum.set(-1L); // bad
+ expectThrows(IllegalStateException.class, () -> {
+ CodecUtil.writeCRC(fakeOutput);
+ });
+
+ fakeChecksum.set(1L << 32); // bad
+ expectThrows(IllegalStateException.class, () -> {
+ CodecUtil.writeCRC(fakeOutput);
+ });
+
+ fakeChecksum.set(-(1L << 32)); // bad
+ expectThrows(IllegalStateException.class, () -> {
+ CodecUtil.writeCRC(fakeOutput);
+ });
+
+ fakeChecksum.set((1L << 32) - 1); // ok
+ CodecUtil.writeCRC(fakeOutput);
+ }
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
index 2eb0d1a..1ebfb69 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
@@ -79,7 +79,7 @@ public class TestPerFieldDocValuesFormat extends BaseDocValuesFormatTestCase {
// we don't use RandomIndexWriter because it might add more docvalues than we expect !!!!1
IndexWriterConfig iwc = newIndexWriterConfig(analyzer);
final DocValuesFormat fast = TestUtil.getDefaultDocValuesFormat();
- final DocValuesFormat slow = DocValuesFormat.forName("SimpleText");
+ final DocValuesFormat slow = DocValuesFormat.forName("Memory");
iwc.setCodec(new AssertingCodec() {
@Override
public DocValuesFormat getDocValuesFormatForField(String field) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
index 67d61df..58c37fc 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
@@ -24,8 +24,8 @@ import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.PostingsFormat;
import org.apache.lucene.codecs.asserting.AssertingCodec;
import org.apache.lucene.codecs.blockterms.LuceneVarGapFixedInterval;
+import org.apache.lucene.codecs.memory.DirectPostingsFormat;
import org.apache.lucene.codecs.memory.MemoryPostingsFormat;
-import org.apache.lucene.codecs.simpletext.SimpleTextPostingsFormat;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
@@ -33,8 +33,8 @@ import org.apache.lucene.document.TextField;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
+import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.LogDocMergePolicy;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -202,13 +202,13 @@ public class TestPerFieldPostingsFormat2 extends LuceneTestCase {
public static class MockCodec extends AssertingCodec {
final PostingsFormat luceneDefault = TestUtil.getDefaultPostingsFormat();
- final PostingsFormat simpleText = new SimpleTextPostingsFormat();
+ final PostingsFormat direct = new DirectPostingsFormat();
final PostingsFormat memory = new MemoryPostingsFormat();
@Override
public PostingsFormat getPostingsFormatForField(String field) {
if (field.equals("id")) {
- return simpleText;
+ return direct;
} else if (field.equals("content")) {
return memory;
} else {
@@ -219,12 +219,12 @@ public class TestPerFieldPostingsFormat2 extends LuceneTestCase {
public static class MockCodec2 extends AssertingCodec {
final PostingsFormat luceneDefault = TestUtil.getDefaultPostingsFormat();
- final PostingsFormat simpleText = new SimpleTextPostingsFormat();
+ final PostingsFormat direct = new DirectPostingsFormat();
@Override
public PostingsFormat getPostingsFormatForField(String field) {
if (field.equals("id")) {
- return simpleText;
+ return direct;
} else {
return luceneDefault;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java b/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
index 9d00c3f..876328a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
@@ -1086,14 +1086,14 @@ public class TestAddIndexes extends LuceneTestCase {
}
private static final class CustomPerFieldCodec extends AssertingCodec {
- private final PostingsFormat simpleTextFormat = PostingsFormat.forName("SimpleText");
+ private final PostingsFormat directFormat = PostingsFormat.forName("Direct");
private final PostingsFormat defaultFormat = TestUtil.getDefaultPostingsFormat();
private final PostingsFormat memoryFormat = PostingsFormat.forName("Memory");
@Override
public PostingsFormat getPostingsFormatForField(String field) {
if (field.equals("id")) {
- return simpleTextFormat;
+ return directFormat;
} else if (field.equals("content")) {
return memoryFormat;
} else {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/core/src/test/org/apache/lucene/index/TestCodecUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestCodecUtil.java b/lucene/core/src/test/org/apache/lucene/index/TestCodecUtil.java
deleted file mode 100644
index 9752ce3..0000000
--- a/lucene/core/src/test/org/apache/lucene/index/TestCodecUtil.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.index;
-
-
-import java.io.IOException;
-import java.util.concurrent.atomic.AtomicLong;
-
-import org.apache.lucene.codecs.CodecUtil;
-import org.apache.lucene.store.BufferedChecksumIndexInput;
-import org.apache.lucene.store.ChecksumIndexInput;
-import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.store.RAMFile;
-import org.apache.lucene.store.RAMInputStream;
-import org.apache.lucene.store.RAMOutputStream;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.StringHelper;
-
-/** tests for codecutil methods */
-public class TestCodecUtil extends LuceneTestCase {
-
- public void testHeaderLength() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- CodecUtil.writeHeader(output, "FooBar", 5);
- output.writeString("this is the data");
- output.close();
-
- IndexInput input = new RAMInputStream("file", file);
- input.seek(CodecUtil.headerLength("FooBar"));
- assertEquals("this is the data", input.readString());
- input.close();
- }
-
- public void testWriteTooLongHeader() throws Exception {
- StringBuilder tooLong = new StringBuilder();
- for (int i = 0; i < 128; i++) {
- tooLong.append('a');
- }
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- expectThrows(IllegalArgumentException.class, () -> {
- CodecUtil.writeHeader(output, tooLong.toString(), 5);
- });
- }
-
- public void testWriteNonAsciiHeader() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- expectThrows(IllegalArgumentException.class, () -> {
- CodecUtil.writeHeader(output, "\u1234", 5);
- });
- }
-
- public void testReadHeaderWrongMagic() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- output.writeInt(1234);
- output.close();
-
- IndexInput input = new RAMInputStream("file", file);
- expectThrows(CorruptIndexException.class, () -> {
- CodecUtil.checkHeader(input, "bogus", 1, 1);
- });
- }
-
- public void testChecksumEntireFile() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- CodecUtil.writeHeader(output, "FooBar", 5);
- output.writeString("this is the data");
- CodecUtil.writeFooter(output);
- output.close();
-
- IndexInput input = new RAMInputStream("file", file);
- CodecUtil.checksumEntireFile(input);
- input.close();
- }
-
- public void testCheckFooterValid() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- CodecUtil.writeHeader(output, "FooBar", 5);
- output.writeString("this is the data");
- CodecUtil.writeFooter(output);
- output.close();
-
- ChecksumIndexInput input = new BufferedChecksumIndexInput(new RAMInputStream("file", file));
- Exception mine = new RuntimeException("fake exception");
- RuntimeException expected = expectThrows(RuntimeException.class, () -> {
- CodecUtil.checkFooter(input, mine);
- });
- assertEquals("fake exception", expected.getMessage());
- Throwable suppressed[] = expected.getSuppressed();
- assertEquals(1, suppressed.length);
- assertTrue(suppressed[0].getMessage().contains("checksum passed"));
- input.close();
- }
-
- public void testCheckFooterValidAtFooter() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- CodecUtil.writeHeader(output, "FooBar", 5);
- output.writeString("this is the data");
- CodecUtil.writeFooter(output);
- output.close();
-
- ChecksumIndexInput input = new BufferedChecksumIndexInput(new RAMInputStream("file", file));
- CodecUtil.checkHeader(input, "FooBar", 5, 5);
- assertEquals("this is the data", input.readString());
- Exception mine = new RuntimeException("fake exception");
- RuntimeException expected = expectThrows(RuntimeException.class, () -> {
- CodecUtil.checkFooter(input, mine);
- });
- assertEquals("fake exception", expected.getMessage());
- Throwable suppressed[] = expected.getSuppressed();
- assertEquals(1, suppressed.length);
- assertTrue(suppressed[0].getMessage().contains("checksum passed"));
- input.close();
- }
-
- public void testCheckFooterValidPastFooter() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- CodecUtil.writeHeader(output, "FooBar", 5);
- output.writeString("this is the data");
- CodecUtil.writeFooter(output);
- output.close();
-
- ChecksumIndexInput input = new BufferedChecksumIndexInput(new RAMInputStream("file", file));
- CodecUtil.checkHeader(input, "FooBar", 5, 5);
- assertEquals("this is the data", input.readString());
- // bogusly read a byte too far (can happen)
- input.readByte();
- Exception mine = new RuntimeException("fake exception");
- RuntimeException expected = expectThrows(RuntimeException.class, () -> {
- CodecUtil.checkFooter(input, mine);
- });
- assertEquals("fake exception", expected.getMessage());
- Throwable suppressed[] = expected.getSuppressed();
- assertEquals(1, suppressed.length);
- assertTrue(suppressed[0].getMessage().contains("checksum status indeterminate"));
- input.close();
- }
-
- public void testCheckFooterInvalid() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- CodecUtil.writeHeader(output, "FooBar", 5);
- output.writeString("this is the data");
- output.writeInt(CodecUtil.FOOTER_MAGIC);
- output.writeInt(0);
- output.writeLong(1234567); // write a bogus checksum
- output.close();
-
- ChecksumIndexInput input = new BufferedChecksumIndexInput(new RAMInputStream("file", file));
- CodecUtil.checkHeader(input, "FooBar", 5, 5);
- assertEquals("this is the data", input.readString());
- Exception mine = new RuntimeException("fake exception");
- RuntimeException expected = expectThrows(RuntimeException.class, () -> {
- CodecUtil.checkFooter(input, mine);
- });
- assertEquals("fake exception", expected.getMessage());
- Throwable suppressed[] = expected.getSuppressed();
- assertEquals(1, suppressed.length);
- assertTrue(suppressed[0].getMessage().contains("checksum failed"));
- input.close();
- }
-
- public void testSegmentHeaderLength() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- CodecUtil.writeIndexHeader(output, "FooBar", 5, StringHelper.randomId(), "xyz");
- output.writeString("this is the data");
- output.close();
-
- IndexInput input = new RAMInputStream("file", file);
- input.seek(CodecUtil.indexHeaderLength("FooBar", "xyz"));
- assertEquals("this is the data", input.readString());
- input.close();
- }
-
- public void testWriteTooLongSuffix() throws Exception {
- StringBuilder tooLong = new StringBuilder();
- for (int i = 0; i < 256; i++) {
- tooLong.append('a');
- }
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- expectThrows(IllegalArgumentException.class, () -> {
- CodecUtil.writeIndexHeader(output, "foobar", 5, StringHelper.randomId(), tooLong.toString());
- });
- }
-
- public void testWriteVeryLongSuffix() throws Exception {
- StringBuilder justLongEnough = new StringBuilder();
- for (int i = 0; i < 255; i++) {
- justLongEnough.append('a');
- }
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- byte[] id = StringHelper.randomId();
- CodecUtil.writeIndexHeader(output, "foobar", 5, id, justLongEnough.toString());
- output.close();
-
- IndexInput input = new RAMInputStream("file", file);
- CodecUtil.checkIndexHeader(input, "foobar", 5, 5, id, justLongEnough.toString());
- assertEquals(input.getFilePointer(), input.length());
- assertEquals(input.getFilePointer(), CodecUtil.indexHeaderLength("foobar", justLongEnough.toString()));
- input.close();
- }
-
- public void testWriteNonAsciiSuffix() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, true);
- expectThrows(IllegalArgumentException.class, () -> {
- CodecUtil.writeIndexHeader(output, "foobar", 5, StringHelper.randomId(), "\u1234");
- });
- }
-
- public void testReadBogusCRC() throws Exception {
- RAMFile file = new RAMFile();
- IndexOutput output = new RAMOutputStream(file, false);
- output.writeLong(-1L); // bad
- output.writeLong(1L << 32); // bad
- output.writeLong(-(1L << 32)); // bad
- output.writeLong((1L << 32) - 1); // ok
- output.close();
- IndexInput input = new RAMInputStream("file", file);
- // read 3 bogus values
- for (int i = 0; i < 3; i++) {
- expectThrows(CorruptIndexException.class, () -> {
- CodecUtil.readCRC(input);
- });
- }
- // good value
- CodecUtil.readCRC(input);
- }
-
- public void testWriteBogusCRC() throws Exception {
- RAMFile file = new RAMFile();
- final IndexOutput output = new RAMOutputStream(file, false);
- AtomicLong fakeChecksum = new AtomicLong();
- // wrap the index input where we control the checksum for mocking
- IndexOutput fakeOutput = new IndexOutput("fake", "fake") {
- @Override
- public void close() throws IOException {
- output.close();
- }
-
- @Override
- public long getFilePointer() {
- return output.getFilePointer();
- }
-
- @Override
- public long getChecksum() throws IOException {
- return fakeChecksum.get();
- }
-
- @Override
- public void writeByte(byte b) throws IOException {
- output.writeByte(b);
- }
-
- @Override
- public void writeBytes(byte[] b, int offset, int length) throws IOException {
- output.writeBytes(b, offset, length);
- }
- };
-
- fakeChecksum.set(-1L); // bad
- expectThrows(IllegalStateException.class, () -> {
- CodecUtil.writeCRC(fakeOutput);
- });
-
- fakeChecksum.set(1L << 32); // bad
- expectThrows(IllegalStateException.class, () -> {
- CodecUtil.writeCRC(fakeOutput);
- });
-
- fakeChecksum.set(-(1L << 32)); // bad
- expectThrows(IllegalStateException.class, () -> {
- CodecUtil.writeCRC(fakeOutput);
- });
-
- fakeChecksum.set((1L << 32) - 1); // ok
- CodecUtil.writeCRC(fakeOutput);
- }
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
index 4d943e6..6b87939 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
@@ -19,6 +19,7 @@ package org.apache.lucene.codecs.mockrandom;
import java.io.IOException;
import java.util.Random;
+import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.codecs.FieldsConsumer;
import org.apache.lucene.codecs.FieldsProducer;
import org.apache.lucene.codecs.PostingsFormat;
@@ -47,6 +48,7 @@ import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
+import org.apache.lucene.store.ChecksumIndexInput;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.util.BytesRef;
@@ -107,11 +109,10 @@ public final class MockRandomPostingsFormat extends PostingsFormat {
}
final String seedFileName = IndexFileNames.segmentFileName(state.segmentInfo.name, state.segmentSuffix, SEED_EXT);
- final IndexOutput out = state.directory.createOutput(seedFileName, state.context);
- try {
+ try(IndexOutput out = state.directory.createOutput(seedFileName, state.context)) {
+ CodecUtil.writeIndexHeader(out, "MockRandomSeed", 0, state.segmentInfo.getId(), state.segmentSuffix);
out.writeLong(seed);
- } finally {
- out.close();
+ CodecUtil.writeFooter(out);
}
final Random random = new Random(seed);
@@ -267,8 +268,10 @@ public final class MockRandomPostingsFormat extends PostingsFormat {
public FieldsProducer fieldsProducer(SegmentReadState state) throws IOException {
final String seedFileName = IndexFileNames.segmentFileName(state.segmentInfo.name, state.segmentSuffix, SEED_EXT);
- final IndexInput in = state.directory.openInput(seedFileName, state.context);
+ final ChecksumIndexInput in = state.directory.openChecksumInput(seedFileName, state.context);
+ CodecUtil.checkIndexHeader(in, "MockRandomSeed", 0, 0, state.segmentInfo.getId(), state.segmentSuffix);
final long seed = in.readLong();
+ CodecUtil.checkFooter(in);
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: reading from seg=" + state.segmentInfo.name + " formatID=" + state.segmentSuffix + " seed=" + seed);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java
index 7c19596..256b24e 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.Random;
import org.apache.lucene.codecs.Codec;
+import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.StoredField;
@@ -72,9 +73,9 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
for (int i=0; i<data.length; i++) {
String testfile = "_" + i + ".test";
Directory dir = newDirectory();
- createSequenceFile(dir, testfile, (byte) 0, data[i]);
-
SegmentInfo si = newSegmentInfo(dir, "_" + i);
+ createSequenceFile(dir, testfile, (byte) 0, data[i], si.getId(), "suffix");
+
si.setFiles(Collections.singleton(testfile));
si.getCodec().compoundFormat().write(dir, si, IOContext.DEFAULT);
Directory cfs = si.getCodec().compoundFormat().getCompoundReader(dir, si, IOContext.DEFAULT);
@@ -96,10 +97,10 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
public void testTwoFiles() throws IOException {
String files[] = { "_123.d1", "_123.d2" };
Directory dir = newDirectory();
- createSequenceFile(dir, files[0], (byte) 0, 15);
- createSequenceFile(dir, files[1], (byte) 0, 114);
-
SegmentInfo si = newSegmentInfo(dir, "_123");
+ createSequenceFile(dir, files[0], (byte) 0, 15, si.getId(), "suffix");
+ createSequenceFile(dir, files[1], (byte) 0, 114, si.getId(), "suffix");
+
si.setFiles(Arrays.asList(files));
si.getCodec().compoundFormat().write(dir, si, IOContext.DEFAULT);
Directory cfs = si.getCodec().compoundFormat().getCompoundReader(dir, si, IOContext.DEFAULT);
@@ -122,11 +123,13 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
final String testfile = "_123.test";
Directory dir = newDirectory();
- IndexOutput out = dir.createOutput(testfile, IOContext.DEFAULT);
- out.writeInt(3);
- out.close();
-
SegmentInfo si = newSegmentInfo(dir, "_123");
+ try (IndexOutput out = dir.createOutput(testfile, IOContext.DEFAULT)) {
+ CodecUtil.writeIndexHeader(out, "Foo", 0, si.getId(), "suffix");
+ out.writeInt(3);
+ CodecUtil.writeFooter(out);
+ }
+
si.setFiles(Collections.singleton(testfile));
si.getCodec().compoundFormat().write(dir, si, IOContext.DEFAULT);
Directory cfs = si.getCodec().compoundFormat().getCompoundReader(dir, si, IOContext.DEFAULT);
@@ -148,11 +151,13 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
return super.createOutput(name, context);
}
};
- IndexOutput out = dir.createOutput(testfile, myContext);
- out.writeInt(3);
- out.close();
-
SegmentInfo si = newSegmentInfo(dir, "_123");
+ try (IndexOutput out = dir.createOutput(testfile, myContext)) {
+ CodecUtil.writeIndexHeader(out, "Foo", 0, si.getId(), "suffix");
+ out.writeInt(3);
+ CodecUtil.writeFooter(out);
+ }
+
si.setFiles(Collections.singleton(testfile));
si.getCodec().compoundFormat().write(dir, si, myContext);
dir.close();
@@ -165,14 +170,16 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
Directory dir = new NRTCachingDirectory(newFSDirectory(createTempDir()), 2.0, 25.0);
- IndexOutput out = dir.createOutput(testfile, context);
- byte[] bytes = new byte[512];
- for(int i=0;i<1024*1024;i++) {
- out.writeBytes(bytes, 0, bytes.length);
+ SegmentInfo si = newSegmentInfo(dir, "_123");
+ try (IndexOutput out = dir.createOutput(testfile, context)) {
+ CodecUtil.writeIndexHeader(out, "Foo", 0, si.getId(), "suffix");
+ byte[] bytes = new byte[512];
+ for(int i=0;i<1024*1024;i++) {
+ out.writeBytes(bytes, 0, bytes.length);
+ }
+ CodecUtil.writeFooter(out);
}
- out.close();
- SegmentInfo si = newSegmentInfo(dir, "_123");
si.setFiles(Collections.singleton(testfile));
si.getCodec().compoundFormat().write(dir, si, context);
@@ -326,17 +333,19 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
// Setup the test segment
String segment = "_123";
int chunk = 1024; // internal buffer size used by the stream
- createRandomFile(dir, segment + ".zero", 0);
- createRandomFile(dir, segment + ".one", 1);
- createRandomFile(dir, segment + ".ten", 10);
- createRandomFile(dir, segment + ".hundred", 100);
- createRandomFile(dir, segment + ".big1", chunk);
- createRandomFile(dir, segment + ".big2", chunk - 1);
- createRandomFile(dir, segment + ".big3", chunk + 1);
- createRandomFile(dir, segment + ".big4", 3 * chunk);
- createRandomFile(dir, segment + ".big5", 3 * chunk - 1);
- createRandomFile(dir, segment + ".big6", 3 * chunk + 1);
- createRandomFile(dir, segment + ".big7", 1000 * chunk);
+ SegmentInfo si = newSegmentInfo(dir, "_123");
+ byte[] segId = si.getId();
+ createRandomFile(dir, segment + ".zero", 0, segId);
+ createRandomFile(dir, segment + ".one", 1, segId);
+ createRandomFile(dir, segment + ".ten", 10, segId);
+ createRandomFile(dir, segment + ".hundred", 100, segId);
+ createRandomFile(dir, segment + ".big1", chunk, segId);
+ createRandomFile(dir, segment + ".big2", chunk - 1, segId);
+ createRandomFile(dir, segment + ".big3", chunk + 1, segId);
+ createRandomFile(dir, segment + ".big4", 3 * chunk, segId);
+ createRandomFile(dir, segment + ".big5", 3 * chunk - 1, segId);
+ createRandomFile(dir, segment + ".big6", 3 * chunk + 1, segId);
+ createRandomFile(dir, segment + ".big7", 1000 * chunk, segId);
List<String> files = new ArrayList<>();
for (String file : dir.listAll()) {
@@ -345,7 +354,6 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
}
}
- SegmentInfo si = newSegmentInfo(dir, "_123");
si.setFiles(files);
si.getCodec().compoundFormat().write(dir, si, IOContext.DEFAULT);
Directory cfs = si.getCodec().compoundFormat().getCompoundReader(dir, si, IOContext.DEFAULT);
@@ -370,17 +378,19 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
final int FILE_COUNT = atLeast(500);
List<String> files = new ArrayList<>();
+ SegmentInfo si = newSegmentInfo(dir, "_123");
for (int fileIdx = 0; fileIdx < FILE_COUNT; fileIdx++) {
String file = "_123." + fileIdx;
files.add(file);
- IndexOutput out = dir.createOutput(file, newIOContext(random()));
- out.writeByte((byte) fileIdx);
- out.close();
+ try (IndexOutput out = dir.createOutput(file, newIOContext(random()))) {
+ CodecUtil.writeIndexHeader(out, "Foo", 0, si.getId(), "suffix");
+ out.writeByte((byte) fileIdx);
+ CodecUtil.writeFooter(out);
+ }
}
assertEquals(0, dir.getFileHandleCount());
- SegmentInfo si = newSegmentInfo(dir, "_123");
si.setFiles(files);
si.getCodec().compoundFormat().write(dir, si, IOContext.DEFAULT);
Directory cfs = si.getCodec().compoundFormat().getCompoundReader(dir, si, IOContext.DEFAULT);
@@ -388,6 +398,7 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
final IndexInput[] ins = new IndexInput[FILE_COUNT];
for (int fileIdx = 0; fileIdx < FILE_COUNT; fileIdx++) {
ins[fileIdx] = cfs.openInput("_123." + fileIdx, newIOContext(random()));
+ CodecUtil.checkIndexHeader(ins[fileIdx], "Foo", 0, 0, si.getId(), "suffix");
}
assertEquals(1, dir.getFileHandleCount());
@@ -631,27 +642,31 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
}
/** Creates a file of the specified size with random data. */
- protected static void createRandomFile(Directory dir, String name, int size) throws IOException {
- IndexOutput os = dir.createOutput(name, newIOContext(random()));
+ protected static void createRandomFile(Directory dir, String name, int size, byte[] segId) throws IOException {
Random rnd = random();
- for (int i=0; i<size; i++) {
- byte b = (byte) rnd.nextInt(256);
- os.writeByte(b);
+ try (IndexOutput os = dir.createOutput(name, newIOContext(random()))) {
+ CodecUtil.writeIndexHeader(os, "Foo", 0, segId, "suffix");
+ for (int i=0; i<size; i++) {
+ byte b = (byte) rnd.nextInt(256);
+ os.writeByte(b);
+ }
+ CodecUtil.writeFooter(os);
}
- os.close();
}
/** Creates a file of the specified size with sequential data. The first
* byte is written as the start byte provided. All subsequent bytes are
* computed as start + offset where offset is the number of the byte.
*/
- protected static void createSequenceFile(Directory dir, String name, byte start, int size) throws IOException {
- IndexOutput os = dir.createOutput(name, newIOContext(random()));
- for (int i=0; i < size; i++) {
- os.writeByte(start);
- start ++;
+ protected static void createSequenceFile(Directory dir, String name, byte start, int size, byte[] segID, String segSuffix) throws IOException {
+ try (IndexOutput os = dir.createOutput(name, newIOContext(random()))) {
+ CodecUtil.writeIndexHeader(os, "Foo", 0, segID, segSuffix);
+ for (int i=0; i < size; i++) {
+ os.writeByte(start);
+ start ++;
+ }
+ CodecUtil.writeFooter(os);
}
- os.close();
}
protected static void assertSameStreams(String msg, IndexInput expected, IndexInput test) throws IOException {
@@ -724,12 +739,12 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
*/
protected static Directory createLargeCFS(Directory dir) throws IOException {
List<String> files = new ArrayList<>();
+ SegmentInfo si = newSegmentInfo(dir, "_123");
for (int i = 0; i < 20; i++) {
- createSequenceFile(dir, "_123.f" + i, (byte) 0, 2000);
+ createSequenceFile(dir, "_123.f" + i, (byte) 0, 2000, si.getId(), "suffix");
files.add("_123.f" + i);
}
- SegmentInfo si = newSegmentInfo(dir, "_123");
si.setFiles(files);
si.getCodec().compoundFormat().write(dir, si, IOContext.DEFAULT);
Directory cfs = si.getCodec().compoundFormat().getCompoundReader(dir, si, IOContext.DEFAULT);
@@ -750,9 +765,9 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
public void testResourceNameInsideCompoundFile() throws Exception {
Directory dir = newDirectory();
String subFile = "_123.xyz";
- createSequenceFile(dir, subFile, (byte) 0, 10);
-
SegmentInfo si = newSegmentInfo(dir, "_123");
+ createSequenceFile(dir, subFile, (byte) 0, 10, si.getId(), "suffix");
+
si.setFiles(Collections.singletonList(subFile));
si.getCodec().compoundFormat().write(dir, si, IOContext.DEFAULT);
Directory cfs = si.getCodec().compoundFormat().getCompoundReader(dir, si, IOContext.DEFAULT);
@@ -762,4 +777,48 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
cfs.close();
dir.close();
}
+
+ public void testMissingCodecHeadersAreCaught() throws Exception {
+ Directory dir = newDirectory();
+ String subFile = "_123.xyz";
+
+ // missing codec header
+ try (IndexOutput os = dir.createOutput(subFile, newIOContext(random()))) {
+ for (int i=0; i < 1024; i++) {
+ os.writeByte((byte) i);
+ }
+ }
+
+ SegmentInfo si = newSegmentInfo(dir, "_123");
+ si.setFiles(Collections.singletonList(subFile));
+ Exception e = expectThrows(CorruptIndexException.class, () -> si.getCodec().compoundFormat().write(dir, si, IOContext.DEFAULT));
+ assertTrue(e.getMessage().contains("codec header mismatch"));
+ dir.close();
+ }
+
+ public void testCorruptFilesAreCaught() throws Exception {
+ Directory dir = newDirectory();
+ String subFile = "_123.xyz";
+
+ // wrong checksum
+ SegmentInfo si = newSegmentInfo(dir, "_123");
+ try (IndexOutput os = dir.createOutput(subFile, newIOContext(random()))) {
+ CodecUtil.writeIndexHeader(os, "Foo", 0, si.getId(), "suffix");
+ for (int i=0; i < 1024; i++) {
+ os.writeByte((byte) i);
+ }
+
+ // write footer w/ wrong checksum
+ os.writeInt(CodecUtil.FOOTER_MAGIC);
+ os.writeInt(0);
+
+ long checksum = os.getChecksum();
+ os.writeLong(checksum+1);
+ }
+
+ si.setFiles(Collections.singletonList(subFile));
+ Exception e = expectThrows(CorruptIndexException.class, () -> si.getCodec().compoundFormat().write(dir, si, IOContext.DEFAULT));
+ assertTrue(e.getMessage().contains("checksum failed (hardware problem?)"));
+ dir.close();
+ }
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java b/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
index c1c33f8..127549f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
@@ -22,7 +22,6 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import java.util.Random;
import java.util.Set;
@@ -50,8 +49,6 @@ import org.apache.lucene.codecs.memory.FSTPostingsFormat;
import org.apache.lucene.codecs.memory.MemoryDocValuesFormat;
import org.apache.lucene.codecs.memory.MemoryPostingsFormat;
import org.apache.lucene.codecs.mockrandom.MockRandomPostingsFormat;
-import org.apache.lucene.codecs.simpletext.SimpleTextDocValuesFormat;
-import org.apache.lucene.codecs.simpletext.SimpleTextPostingsFormat;
import org.apache.lucene.index.PointValues.IntersectVisitor;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
@@ -159,10 +156,6 @@ public class RandomCodec extends AssertingCodec {
PostingsFormat codec = previousMappings.get(name);
if (codec == null) {
codec = formats.get(Math.abs(perFieldSeed ^ name.hashCode()) % formats.size());
- if (codec instanceof SimpleTextPostingsFormat && perFieldSeed % 5 != 0) {
- // make simpletext rarer, choose again
- codec = formats.get(Math.abs(perFieldSeed ^ name.toUpperCase(Locale.ROOT).hashCode()) % formats.size());
- }
previousMappings.put(name, codec);
// Safety:
assert previousMappings.size() < 10000: "test went insane";
@@ -175,10 +168,6 @@ public class RandomCodec extends AssertingCodec {
DocValuesFormat codec = previousDVMappings.get(name);
if (codec == null) {
codec = dvFormats.get(Math.abs(perFieldSeed ^ name.hashCode()) % dvFormats.size());
- if (codec instanceof SimpleTextDocValuesFormat && perFieldSeed % 5 != 0) {
- // make simpletext rarer, choose again
- codec = dvFormats.get(Math.abs(perFieldSeed ^ name.toUpperCase(Locale.ROOT).hashCode()) % dvFormats.size());
- }
previousDVMappings.put(name, codec);
// Safety:
assert previousDVMappings.size() < 10000: "test went insane";
@@ -214,7 +203,7 @@ public class RandomCodec extends AssertingCodec {
new LuceneFixedGap(TestUtil.nextInt(random, 1, 1000)),
new LuceneVarGapFixedInterval(TestUtil.nextInt(random, 1, 1000)),
new LuceneVarGapDocFreqInterval(TestUtil.nextInt(random, 1, 100), TestUtil.nextInt(random, 1, 1000)),
- random.nextInt(10) == 0 ? new SimpleTextPostingsFormat() : TestUtil.getDefaultPostingsFormat(),
+ TestUtil.getDefaultPostingsFormat(),
new AssertingPostingsFormat(),
new MemoryPostingsFormat(true, random.nextFloat()),
new MemoryPostingsFormat(false, random.nextFloat()));
@@ -223,7 +212,7 @@ public class RandomCodec extends AssertingCodec {
TestUtil.getDefaultDocValuesFormat(),
new DirectDocValuesFormat(), // maybe not a great idea...
new MemoryDocValuesFormat(),
- random.nextInt(10) == 0 ? new SimpleTextDocValuesFormat() : TestUtil.getDefaultDocValuesFormat(),
+ TestUtil.getDefaultDocValuesFormat(),
new AssertingDocValuesFormat());
Collections.shuffle(formats, random);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml b/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml
index 629396a..8cd0729 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml
@@ -17,7 +17,6 @@
-->
<schema name="codec" version="1.2">
<fieldType name="string_direct" class="solr.StrField" postingsFormat="Direct"/>
- <fieldType name="string_simpletext" class="solr.StrField" postingsFormat="SimpleText"/>
<fieldType name="string_standard" class="solr.StrField" postingsFormat="Lucene50"/>
<fieldType name="string_disk" class="solr.StrField" docValuesFormat="Lucene54"/>
@@ -37,7 +36,6 @@
</fieldType>
<field name="string_direct_f" type="string_direct" indexed="true" stored="true"/>
- <field name="string_simpletext_f" type="string_simpletext" indexed="true" stored="true"/>
<field name="string_standard_f" type="string_standard" indexed="true" stored="true"/>
<field name="string_disk_f" type="string_disk" indexed="false" stored="false" docValues="true" default=""/>
@@ -46,7 +44,6 @@
<field name="string_f" type="string" indexed="true" stored="true" docValues="true" required="true"/>
<field name="text" type="text_general" indexed="true" stored="true"/>
- <dynamicField name="*_simple" type="string_simpletext" indexed="true" stored="true"/>
<dynamicField name="*_direct" type="string_direct" indexed="true" stored="true"/>
<dynamicField name="*_standard" type="string_standard" indexed="true" stored="true"/>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/067fb25e/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
index a1718e6..0fe6a02 100644
--- a/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
+++ b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
@@ -51,9 +51,6 @@ public class TestCodecSupport extends SolrTestCaseJ4 {
SchemaField schemaField = fields.get("string_direct_f");
PerFieldPostingsFormat format = (PerFieldPostingsFormat) codec.postingsFormat();
assertEquals("Direct", format.getPostingsFormatForField(schemaField.getName()).getName());
- schemaField = fields.get("string_simpletext_f");
- assertEquals("SimpleText",
- format.getPostingsFormatForField(schemaField.getName()).getName());
schemaField = fields.get("string_standard_f");
assertEquals(TestUtil.getDefaultPostingsFormat().getName(), format.getPostingsFormatForField(schemaField.getName()).getName());
schemaField = fields.get("string_f");
@@ -78,8 +75,6 @@ public class TestCodecSupport extends SolrTestCaseJ4 {
Codec codec = h.getCore().getCodec();
PerFieldPostingsFormat format = (PerFieldPostingsFormat) codec.postingsFormat();
- assertEquals("SimpleText", format.getPostingsFormatForField("foo_simple").getName());
- assertEquals("SimpleText", format.getPostingsFormatForField("bar_simple").getName());
assertEquals("Direct", format.getPostingsFormatForField("foo_direct").getName());
assertEquals("Direct", format.getPostingsFormatForField("bar_direct").getName());
assertEquals(TestUtil.getDefaultPostingsFormat().getName(), format.getPostingsFormatForField("foo_standard").getName());
[20/50] [abbrv] lucene-solr:apiv2: LUCENE-5931: detect when segments
were (illegally) replaced when re-opening an IndexReader
Posted by no...@apache.org.
LUCENE-5931: detect when segments were (illegally) replaced when re-opening an IndexReader
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/664e3929
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/664e3929
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/664e3929
Branch: refs/heads/apiv2
Commit: 664e39292bd0a90ed6f20debc872ab74a1d7294f
Parents: 02c6554
Author: Mike McCandless <mi...@apache.org>
Authored: Sun Jun 12 16:56:54 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Sun Jun 12 16:56:54 2016 -0400
----------------------------------------------------------------------
lucene/CHANGES.txt | 4 +
.../org/apache/lucene/index/SegmentReader.java | 19 +-
.../lucene/index/StandardDirectoryReader.java | 54 ++---
.../lucene/index/TestDirectoryReaderReopen.java | 228 +++++++++++++++++++
4 files changed, 276 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/664e3929/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 64be39a..5a83c31 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -36,6 +36,10 @@ Improvements
IndexWriter.setIndexSort, and now works with dimensional points.
(Adrien Grand, Mike McCandless)
+* LUCENE-5931: Detect when an application tries to reopen an
+ IndexReader after (illegally) removing the old index and
+ reindexing (Vitaly Funstein, Robert Muir, Mike McCandless)
+
Other
* LUCENE-4787: Fixed some highlighting javadocs. (Michael Dodsworth via Adrien
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/664e3929/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java b/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
index e68f818..ed0a06e 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
@@ -52,6 +52,9 @@ public final class SegmentReader extends CodecReader {
final SegmentCoreReaders core;
final SegmentDocValues segDocValues;
+
+ /** True if we are holding RAM only liveDocs or DV updates, i.e. the SegmentCommitInfo delGen doesn't match our liveDocs. */
+ final boolean isNRT;
final DocValuesProducer docValuesProducer;
final FieldInfos fieldInfos;
@@ -64,6 +67,10 @@ public final class SegmentReader extends CodecReader {
// TODO: why is this public?
public SegmentReader(SegmentCommitInfo si, IOContext context) throws IOException {
this.si = si;
+
+ // We pull liveDocs/DV updates from disk:
+ this.isNRT = false;
+
core = new SegmentCoreReaders(si.info.dir, si, context);
segDocValues = new SegmentDocValues();
@@ -100,8 +107,8 @@ public final class SegmentReader extends CodecReader {
* deletes file. Used by openIfChanged. */
SegmentReader(SegmentCommitInfo si, SegmentReader sr) throws IOException {
this(si, sr,
- si.info.getCodec().liveDocsFormat().readLiveDocs(si.info.dir, si, IOContext.READONCE),
- si.info.maxDoc() - si.getDelCount());
+ si.hasDeletions() ? si.info.getCodec().liveDocsFormat().readLiveDocs(si.info.dir, si, IOContext.READONCE) : null,
+ si.info.maxDoc() - si.getDelCount(), false);
}
/** Create new SegmentReader sharing core from a previous
@@ -109,6 +116,13 @@ public final class SegmentReader extends CodecReader {
* liveDocs. Used by IndexWriter to provide a new NRT
* reader */
SegmentReader(SegmentCommitInfo si, SegmentReader sr, Bits liveDocs, int numDocs) throws IOException {
+ this(si, sr, liveDocs, numDocs, true);
+ }
+
+ /** Create new SegmentReader sharing core from a previous
+ * SegmentReader and using the provided liveDocs, and recording
+ * whether those liveDocs were carried in ram (isNRT=true). */
+ SegmentReader(SegmentCommitInfo si, SegmentReader sr, Bits liveDocs, int numDocs, boolean isNRT) throws IOException {
if (numDocs > si.info.maxDoc()) {
throw new IllegalArgumentException("numDocs=" + numDocs + " but maxDoc=" + si.info.maxDoc());
}
@@ -117,6 +131,7 @@ public final class SegmentReader extends CodecReader {
}
this.si = si;
this.liveDocs = liveDocs;
+ this.isNRT = isNRT;
this.numDocs = numDocs;
this.core = sr.core;
core.incRef();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/664e3929/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java b/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java
index e2f81da..7ac059e 100644
--- a/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java
@@ -19,6 +19,7 @@ package org.apache.lucene.index;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -152,7 +153,6 @@ public final class StandardDirectoryReader extends DirectoryReader {
}
SegmentReader[] newReaders = new SegmentReader[infos.size()];
-
for (int i = infos.size() - 1; i>=0; i--) {
SegmentCommitInfo commitInfo = infos.info(i);
@@ -167,6 +167,12 @@ public final class StandardDirectoryReader extends DirectoryReader {
oldReader = (SegmentReader) oldReaders.get(oldReaderIndex.intValue());
}
+ // Make a best effort to detect when the app illegally "rm -rf" their
+ // index while a reader was open, and then called openIfChanged:
+ if (oldReader != null && Arrays.equals(commitInfo.info.getId(), oldReader.getSegmentInfo().info.getId()) == false) {
+ throw new IllegalStateException("same segment " + commitInfo.info.name + " has invalid doc count change; likely you are re-opening a reader after illegally removing index files yourself and building a new index in their place. Use IndexWriter.deleteAll or open a new IndexWriter using OpenMode.CREATE instead");
+ }
+
boolean success = false;
try {
SegmentReader newReader;
@@ -176,35 +182,29 @@ public final class StandardDirectoryReader extends DirectoryReader {
newReader = new SegmentReader(commitInfo, IOContext.READ);
newReaders[i] = newReader;
} else {
- if (oldReader.getSegmentInfo().getDelGen() == commitInfo.getDelGen()
- && oldReader.getSegmentInfo().getFieldInfosGen() == commitInfo.getFieldInfosGen()) {
- // No change; this reader will be shared between
- // the old and the new one, so we must incRef
- // it:
- oldReader.incRef();
- newReaders[i] = oldReader;
+ if (oldReader.isNRT) {
+ // We must load liveDocs/DV updates from disk:
+ newReaders[i] = new SegmentReader(commitInfo, oldReader);
} else {
- // Steal the ref returned by SegmentReader ctor:
- assert commitInfo.info.dir == oldReader.getSegmentInfo().info.dir;
-
- // Make a best effort to detect when the app illegally "rm -rf" their
- // index while a reader was open, and then called openIfChanged:
- boolean illegalDocCountChange = commitInfo.info.maxDoc() != oldReader.getSegmentInfo().info.maxDoc();
- boolean hasNeitherDeletionsNorUpdates = commitInfo.hasDeletions()== false && commitInfo.hasFieldUpdates() == false;
-
- boolean deletesWereLost = commitInfo.getDelGen() == -1 && oldReader.getSegmentInfo().getDelGen() != -1;
-
- if (illegalDocCountChange || hasNeitherDeletionsNorUpdates || deletesWereLost) {
- throw new IllegalStateException("same segment " + commitInfo.info.name + " has invalid changes; likely you are re-opening a reader after illegally removing index files yourself and building a new index in their place. Use IndexWriter.deleteAll or OpenMode.CREATE instead");
- }
-
- if (oldReader.getSegmentInfo().getDelGen() == commitInfo.getDelGen()) {
- // only DV updates
- newReaders[i] = new SegmentReader(commitInfo, oldReader, oldReader.getLiveDocs(), oldReader.numDocs());
+ if (oldReader.getSegmentInfo().getDelGen() == commitInfo.getDelGen()
+ && oldReader.getSegmentInfo().getFieldInfosGen() == commitInfo.getFieldInfosGen()) {
+ // No change; this reader will be shared between
+ // the old and the new one, so we must incRef
+ // it:
+ oldReader.incRef();
+ newReaders[i] = oldReader;
} else {
- // both DV and liveDocs have changed
- newReaders[i] = new SegmentReader(commitInfo, oldReader);
+ // Steal the ref returned by SegmentReader ctor:
+ assert commitInfo.info.dir == oldReader.getSegmentInfo().info.dir;
+
+ if (oldReader.getSegmentInfo().getDelGen() == commitInfo.getDelGen()) {
+ // only DV updates
+ newReaders[i] = new SegmentReader(commitInfo, oldReader, oldReader.getLiveDocs(), oldReader.numDocs());
+ } else {
+ // both DV and liveDocs have changed
+ newReaders[i] = new SegmentReader(commitInfo, oldReader);
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/664e3929/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java b/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
index 6afa091..e2102cb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
@@ -33,6 +33,7 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.NumericDocValuesField;
+import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.search.IndexSearcher;
@@ -772,4 +773,231 @@ public class TestDirectoryReaderReopen extends LuceneTestCase {
r.close();
dir.close();
}
+
+ /** test reopening backwards from a non-NRT reader (with document deletes) */
+ public void testNRTMdeletes() throws Exception {
+ Directory dir = newDirectory();
+ IndexWriterConfig iwc = new IndexWriterConfig(new MockAnalyzer(random()));
+ SnapshotDeletionPolicy snapshotter = new SnapshotDeletionPolicy(new KeepOnlyLastCommitDeletionPolicy());
+ iwc.setIndexDeletionPolicy(snapshotter);
+ IndexWriter writer = new IndexWriter(dir, iwc);
+ writer.commit(); // make sure all index metadata is written out
+
+ Document doc = new Document();
+ doc.add(new StringField("key", "value1", Field.Store.YES));
+ writer.addDocument(doc);
+
+ doc = new Document();
+ doc.add(new StringField("key", "value2", Field.Store.YES));
+ writer.addDocument(doc);
+
+ writer.commit();
+
+ IndexCommit ic1 = snapshotter.snapshot();
+
+ doc = new Document();
+ doc.add(new StringField("key", "value3", Field.Store.YES));
+ writer.updateDocument(new Term("key", "value1"), doc);
+
+ writer.commit();
+
+ IndexCommit ic2 = snapshotter.snapshot();
+ DirectoryReader latest = DirectoryReader.open(ic2);
+ assertEquals(2, latest.leaves().size());
+
+ // This reader will be used for searching against commit point 1
+ DirectoryReader oldest = DirectoryReader.openIfChanged(latest, ic1);
+ assertEquals(1, oldest.leaves().size());
+
+ // sharing same core
+ assertSame(latest.leaves().get(0).reader().getCoreCacheKey(), oldest.leaves().get(0).reader().getCoreCacheKey());
+
+ latest.close();
+ oldest.close();
+
+ snapshotter.release(ic1);
+ snapshotter.release(ic2);
+ writer.close();
+ dir.close();
+ }
+
+ /** test reopening backwards from an NRT reader (with document deletes) */
+ public void testNRTMdeletes2() throws Exception {
+ Directory dir = newDirectory();
+ IndexWriterConfig iwc = new IndexWriterConfig(new MockAnalyzer(random()));
+ SnapshotDeletionPolicy snapshotter = new SnapshotDeletionPolicy(new KeepOnlyLastCommitDeletionPolicy());
+ iwc.setIndexDeletionPolicy(snapshotter);
+ IndexWriter writer = new IndexWriter(dir, iwc);
+ writer.commit(); // make sure all index metadata is written out
+
+ Document doc = new Document();
+ doc.add(new StringField("key", "value1", Field.Store.YES));
+ writer.addDocument(doc);
+
+ doc = new Document();
+ doc.add(new StringField("key", "value2", Field.Store.YES));
+ writer.addDocument(doc);
+
+ writer.commit();
+
+ IndexCommit ic1 = snapshotter.snapshot();
+
+ doc = new Document();
+ doc.add(new StringField("key", "value3", Field.Store.YES));
+ writer.updateDocument(new Term("key", "value1"), doc);
+
+ DirectoryReader latest = DirectoryReader.open(writer);
+ assertEquals(2, latest.leaves().size());
+
+ // This reader will be used for searching against commit point 1
+ DirectoryReader oldest = DirectoryReader.openIfChanged(latest, ic1);
+
+ // This reader should not see the deletion:
+ assertEquals(2, oldest.numDocs());
+ assertFalse(oldest.hasDeletions());
+
+ snapshotter.release(ic1);
+ assertEquals(1, oldest.leaves().size());
+
+ // sharing same core
+ assertSame(latest.leaves().get(0).reader().getCoreCacheKey(), oldest.leaves().get(0).reader().getCoreCacheKey());
+
+ latest.close();
+ oldest.close();
+
+ writer.close();
+ dir.close();
+ }
+
+ /** test reopening backwards from a non-NRT reader with DV updates */
+ public void testNRTMupdates() throws Exception {
+ Directory dir = newDirectory();
+ IndexWriterConfig iwc = new IndexWriterConfig(new MockAnalyzer(random()));
+ SnapshotDeletionPolicy snapshotter = new SnapshotDeletionPolicy(new KeepOnlyLastCommitDeletionPolicy());
+ iwc.setIndexDeletionPolicy(snapshotter);
+ IndexWriter writer = new IndexWriter(dir, iwc);
+ writer.commit(); // make sure all index metadata is written out
+
+ Document doc = new Document();
+ doc.add(new StringField("key", "value1", Field.Store.YES));
+ doc.add(new NumericDocValuesField("dv", 1));
+ writer.addDocument(doc);
+
+ writer.commit();
+
+ IndexCommit ic1 = snapshotter.snapshot();
+
+ writer.updateNumericDocValue(new Term("key", "value1"), "dv", 2);
+
+ writer.commit();
+
+ IndexCommit ic2 = snapshotter.snapshot();
+ DirectoryReader latest = DirectoryReader.open(ic2);
+ assertEquals(1, latest.leaves().size());
+
+ // This reader will be used for searching against commit point 1
+ DirectoryReader oldest = DirectoryReader.openIfChanged(latest, ic1);
+ assertEquals(1, oldest.leaves().size());
+
+ // sharing same core
+ assertSame(latest.leaves().get(0).reader().getCoreCacheKey(), oldest.leaves().get(0).reader().getCoreCacheKey());
+
+ assertEquals(1, getOnlyLeafReader(oldest).getNumericDocValues("dv").get(0));
+ assertEquals(2, getOnlyLeafReader(latest).getNumericDocValues("dv").get(0));
+
+ latest.close();
+ oldest.close();
+
+ snapshotter.release(ic1);
+ snapshotter.release(ic2);
+ writer.close();
+ dir.close();
+ }
+
+ /** test reopening backwards from an NRT reader with DV updates */
+ public void testNRTMupdates2() throws Exception {
+ Directory dir = newDirectory();
+ IndexWriterConfig iwc = new IndexWriterConfig(new MockAnalyzer(random()));
+ SnapshotDeletionPolicy snapshotter = new SnapshotDeletionPolicy(new KeepOnlyLastCommitDeletionPolicy());
+ iwc.setIndexDeletionPolicy(snapshotter);
+ IndexWriter writer = new IndexWriter(dir, iwc);
+ writer.commit(); // make sure all index metadata is written out
+
+ Document doc = new Document();
+ doc.add(new StringField("key", "value1", Field.Store.YES));
+ doc.add(new NumericDocValuesField("dv", 1));
+ writer.addDocument(doc);
+
+ writer.commit();
+
+ IndexCommit ic1 = snapshotter.snapshot();
+
+ writer.updateNumericDocValue(new Term("key", "value1"), "dv", 2);
+
+ DirectoryReader latest = DirectoryReader.open(writer);
+ assertEquals(1, latest.leaves().size());
+
+ // This reader will be used for searching against commit point 1
+ DirectoryReader oldest = DirectoryReader.openIfChanged(latest, ic1);
+ assertEquals(1, oldest.leaves().size());
+
+ // sharing same core
+ assertSame(latest.leaves().get(0).reader().getCoreCacheKey(), oldest.leaves().get(0).reader().getCoreCacheKey());
+
+ assertEquals(1, getOnlyLeafReader(oldest).getNumericDocValues("dv").get(0));
+ assertEquals(2, getOnlyLeafReader(latest).getNumericDocValues("dv").get(0));
+
+ latest.close();
+ oldest.close();
+
+ snapshotter.release(ic1);
+ writer.close();
+ dir.close();
+ }
+
+ // LUCENE-5931: we make a "best effort" to catch this abuse and throw a clear(er)
+ // exception than what would otherwise look like hard to explain index corruption during searching
+ public void testDeleteIndexFilesWhileReaderStillOpen() throws Exception {
+ RAMDirectory dir = new RAMDirectory();
+ IndexWriter w = new IndexWriter(dir,
+ new IndexWriterConfig(new MockAnalyzer(random())));
+ Document doc = new Document();
+ doc.add(newStringField("field", "value", Field.Store.NO));
+ w.addDocument(doc);
+ // Creates single segment index:
+ w.close();
+
+ DirectoryReader r = DirectoryReader.open(dir);
+
+ // Abuse: remove all files while reader is open; one is supposed to use IW.deleteAll, or open a new IW with OpenMode.CREATE instead:
+ for(String file : dir.listAll()) {
+ dir.deleteFile(file);
+ }
+
+ w = new IndexWriter(dir,
+ new IndexWriterConfig(new MockAnalyzer(random())));
+ doc = new Document();
+ doc.add(newStringField("field", "value", Field.Store.NO));
+ w.addDocument(doc);
+
+ doc = new Document();
+ doc.add(newStringField("field", "value2", Field.Store.NO));
+ w.addDocument(doc);
+
+ // Writes same segment, this time with two documents:
+ w.commit();
+
+ w.deleteDocuments(new Term("field", "value2"));
+
+ w.addDocument(doc);
+
+ // Writes another segments file, so openIfChanged sees that the index has in fact changed:
+ w.close();
+
+ expectThrows(IllegalStateException.class, () -> {
+ DirectoryReader.openIfChanged(r);
+ });
+ }
}
+
+
[49/50] [abbrv] lucene-solr:apiv2: Merge branch 'master' into apiv2
Posted by no...@apache.org.
Merge branch 'master' into apiv2
Conflicts:
solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java
solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/b48f4d69
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/b48f4d69
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/b48f4d69
Branch: refs/heads/apiv2
Commit: b48f4d696261fcb0bd06943c1f8ff16cbe6caa22
Parents: f72c691 5eabffc
Author: Noble Paul <no...@apache.org>
Authored: Thu Jun 16 15:47:46 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Thu Jun 16 15:47:46 2016 +0530
----------------------------------------------------------------------
.gitignore | 2 +
dev-tools/idea/.idea/libraries/Ant.xml | 9 -
dev-tools/idea/.idea/libraries/JUnit.xml | 4 +-
dev-tools/idea/.idea/modules.xml | 1 +
dev-tools/idea/.idea/workspace.xml | 13 +-
.../lucene/classification/classification.iml | 2 +
dev-tools/idea/lucene/tools/tools.iml | 1 -
.../idea/solr/contrib/analytics/analytics.iml | 1 -
dev-tools/idea/solr/server/server.iml | 19 +
.../solr/test-framework/solr-test-framework.iml | 1 +
dev-tools/maven/lucene/pom.xml.template | 6 +-
dev-tools/maven/lucene/sandbox/pom.xml.template | 7 -
dev-tools/maven/pom.xml.template | 10 +-
dev-tools/maven/solr/pom.xml.template | 14 +-
dev-tools/scripts/addVersion.py | 80 +-
dev-tools/scripts/buildAndPushRelease.py | 89 +-
dev-tools/scripts/checkJavaDocs.py | 74 +-
dev-tools/scripts/scriptutil.py | 18 +-
dev-tools/scripts/smokeTestRelease.py | 25 +-
lucene/CHANGES.txt | 208 +-
lucene/MIGRATE.txt | 5 +
.../lucene/analysis/ar/ArabicAnalyzer.java | 1 -
.../charfilter/HTMLStripCharFilter.java | 1 -
.../analysis/charfilter/NormalizeCharMap.java | 2 -
.../lucene/analysis/ckb/SoraniAnalyzer.java | 1 -
.../HyphenationCompoundWordTokenFilter.java | 1 -
...phenationCompoundWordTokenFilterFactory.java | 1 -
.../lucene/analysis/core/LowerCaseFilter.java | 3 +-
.../lucene/analysis/core/StopAnalyzer.java | 1 -
.../lucene/analysis/core/UpperCaseFilter.java | 3 +-
.../analysis/el/GreekLowerCaseFilter.java | 4 +-
.../lucene/analysis/en/PorterStemmer.java | 4 -
.../lucene/analysis/fa/PersianAnalyzer.java | 1 -
.../lucene/analysis/hi/HindiAnalyzer.java | 1 -
.../lucene/analysis/minhash/MinHashFilter.java | 504 +++++
.../analysis/minhash/MinHashFilterFactory.java | 57 +
.../lucene/analysis/minhash/package-info.java | 21 +
.../WordDelimiterFilterFactory.java | 2 -
.../analysis/ngram/EdgeNGramTokenFilter.java | 7 +-
.../analysis/ngram/EdgeNGramTokenizer.java | 1 -
.../lucene/analysis/ngram/NGramTokenFilter.java | 13 +-
.../lucene/analysis/ngram/NGramTokenizer.java | 8 +-
.../lucene/analysis/nl/DutchAnalyzer.java | 1 -
.../pattern/PatternCaptureGroupTokenFilter.java | 1 -
.../query/QueryAutoStopWordAnalyzer.java | 1 -
.../analysis/standard/ClassicTokenizerImpl.java | 1 -
.../standard/UAX29URLEmailTokenizerFactory.java | 1 -
.../analysis/synonym/SynonymFilterFactory.java | 2 -
.../lucene/analysis/synonym/SynonymMap.java | 2 -
.../apache/lucene/analysis/th/ThaiAnalyzer.java | 1 -
.../lucene/analysis/tr/TurkishAnalyzer.java | 1 -
.../lucene/analysis/util/CharArrayMap.java | 17 +-
.../lucene/analysis/util/CharTokenizer.java | 5 +-
.../lucene/analysis/util/CharacterUtils.java | 229 +--
.../analysis/wikipedia/WikipediaTokenizer.java | 1 -
.../lucene/collation/CollationKeyAnalyzer.java | 2 -
...ache.lucene.analysis.util.TokenFilterFactory | 1 +
.../lucene/analysis/ar/TestArabicAnalyzer.java | 1 -
.../ar/TestArabicNormalizationFilter.java | 1 -
.../bg/TestBulgarianStemFilterFactory.java | 1 -
.../analysis/br/TestBrazilianAnalyzer.java | 1 -
.../TestHTMLStripCharFilterFactory.java | 1 -
.../analysis/cjk/TestCJKWidthFilterFactory.java | 1 -
.../lucene/analysis/ckb/TestSoraniAnalyzer.java | 1 -
.../TestSoraniNormalizationFilterFactory.java | 1 -
.../commongrams/CommonGramsFilterTest.java | 1 -
.../TestCommonGramsQueryFilterFactory.java | 3 -
.../analysis/core/TestKeywordAnalyzer.java | 1 -
.../lucene/analysis/core/TestRandomChains.java | 1 -
.../de/TestGermanLightStemFilterFactory.java | 1 -
.../analysis/de/TestGermanStemFilter.java | 1 -
.../el/TestGreekLowerCaseFilterFactory.java | 1 -
.../analysis/el/TestGreekStemFilterFactory.java | 1 -
.../en/TestEnglishMinimalStemFilterFactory.java | 1 -
.../analysis/en/TestKStemFilterFactory.java | 1 -
.../en/TestPorterStemFilterFactory.java | 1 -
.../lucene/analysis/fa/TestPersianAnalyzer.java | 1 -
.../TestPersianNormalizationFilterFactory.java | 1 -
.../fr/TestFrenchLightStemFilterFactory.java | 1 -
.../fr/TestFrenchMinimalStemFilterFactory.java | 1 -
.../ga/TestIrishLowerCaseFilterFactory.java | 1 -
.../TestGalicianMinimalStemFilterFactory.java | 1 -
.../gl/TestGalicianStemFilterFactory.java | 1 -
.../lucene/analysis/hi/TestHindiAnalyzer.java | 1 -
.../lucene/analysis/hi/TestHindiFilters.java | 2 -
.../lucene/analysis/hi/TestHindiNormalizer.java | 4 -
.../hu/TestHungarianLightStemFilterFactory.java | 1 -
.../analysis/hunspell/Test64kAffixes.java | 2 -
.../analysis/hunspell/TestAllDictionaries.java | 1 -
.../analysis/hunspell/TestAllDictionaries2.java | 1 -
.../analysis/hunspell/TestDictionary.java | 1 -
.../hunspell/TestHunspellStemFilter.java | 1 -
.../it/TestItalianLightStemFilterFactory.java | 1 -
.../analysis/minhash/MinHashFilterTest.java | 330 ++++
.../miscellaneous/TestKeywordMarkerFilter.java | 2 -
.../TestStemmerOverrideFilter.java | 4 +-
.../miscellaneous/TestTrimFilterFactory.java | 1 -
.../no/TestNorwegianLightStemFilterFactory.java | 1 -
.../TestPatternReplaceCharFilterFactory.java | 1 -
.../TestPatternReplaceFilterFactory.java | 1 -
.../DelimitedPayloadTokenFilterTest.java | 4 -
.../pt/TestPortugueseStemFilterFactory.java | 1 -
.../reverse/TestReverseStringFilterFactory.java | 1 -
.../ru/TestRussianLightStemFilterFactory.java | 1 -
.../analysis/shingle/ShingleFilterTest.java | 1 -
.../shingle/TestShingleFilterFactory.java | 1 -
.../standard/TestStandardFactories.java | 1 -
.../lucene/analysis/th/TestThaiAnalyzer.java | 1 -
.../analysis/util/TestCharacterUtils.java | 155 +-
.../collation/ICUCollationKeyAnalyzer.java | 3 -
.../icu/TestICUFoldingFilterFactory.java | 1 -
.../icu/TestICUNormalizer2FilterFactory.java | 1 -
.../icu/TestICUTransformFilterFactory.java | 1 -
.../segmentation/TestICUTokenizerFactory.java | 1 -
.../lucene/analysis/ja/JapaneseTokenizer.java | 11 +-
.../analysis/ja/dict/ConnectionCosts.java | 1 -
.../lucene/analysis/ja/dict/UserDictionary.java | 1 -
.../analysis/ja/TestJapaneseTokenizer.java | 9 +
.../analysis/morfologik/MorfologikFilter.java | 4 +-
.../TestDoubleMetaphoneFilterFactory.java | 3 -
.../analysis/cn/smart/hhmm/WordDictionary.java | 18 +-
.../src/java/org/egothor/stemmer/Compile.java | 43 +-
.../src/java/org/egothor/stemmer/DiffIt.java | 28 +-
.../TestStempelPolishStemFilterFactory.java | 1 -
.../uima/UIMAAnnotationsTokenizerFactory.java | 1 -
.../lucene/analysis/uima/UIMABaseAnalyzer.java | 1 -
...IMATypeAwareAnnotationsTokenizerFactory.java | 1 -
.../uima/UIMATypeAwareAnalyzerTest.java | 1 -
.../org/apache/lucene/codecs/Placeholder.java | 1 -
.../lucene/codecs/lucene50/Lucene50Codec.java | 2 +-
.../lucene50/Lucene50SegmentInfoFormat.java | 101 +
.../lucene/codecs/lucene54/Lucene54Codec.java | 2 +
.../lucene/codecs/lucene60/Lucene60Codec.java | 177 ++
.../apache/lucene/codecs/lucene60/package.html | 25 +
.../services/org.apache.lucene.codecs.Codec | 1 +
.../lucene/codecs/lucene50/Lucene50RWCodec.java | 7 +
.../lucene50/Lucene50RWSegmentInfoFormat.java | 136 ++
.../index/TestBackwardsCompatibility.java | 9 +-
.../org/apache/lucene/index/index.6.0.0-cfs.zip | Bin 0 -> 13744 bytes
.../apache/lucene/index/index.6.0.0-nocfs.zip | Bin 0 -> 13749 bytes
.../org/apache/lucene/index/index.6.0.1-cfs.zip | Bin 0 -> 13734 bytes
.../apache/lucene/index/index.6.0.1-nocfs.zip | Bin 0 -> 13735 bytes
.../lucene/index/unsupported.5.5.1-cfs.zip | Bin 0 -> 15553 bytes
.../lucene/index/unsupported.5.5.1-nocfs.zip | Bin 0 -> 13729 bytes
.../benchmark/byTask/tasks/AddIndexesTask.java | 3 -
.../byTask/tasks/CloseTaxonomyReaderTask.java | 10 +-
.../benchmark/byTask/tasks/CreateIndexTask.java | 4 +-
.../byTask/tasks/NearRealtimeReaderTask.java | 1 -
.../benchmark/byTask/tasks/OpenReaderTask.java | 1 -
.../lucene/benchmark/byTask/tasks/ReadTask.java | 1 -
.../byTask/tasks/ReopenReaderTask.java | 1 -
.../byTask/tasks/RollbackIndexTask.java | 2 -
.../byTask/tasks/WriteEnwikiLineDocTask.java | 1 -
.../benchmark/quality/utils/SimpleQQParser.java | 1 -
.../tasks/WriteEnwikiLineDocTaskTest.java | 4 -
lucene/build.xml | 2 +-
lucene/classification/build.xml | 6 +-
.../lucene/classification/Classifier.java | 4 -
.../SimpleNaiveBayesClassifier.java | 28 +-
.../SimpleNaiveBayesDocumentClassifier.java | 24 -
.../utils/ConfusionMatrixGenerator.java | 84 +-
.../classification/utils/DatasetSplitter.java | 116 +-
.../BooleanPerceptronClassifierTest.java | 2 +-
.../CachingNaiveBayesClassifierTest.java | 2 +-
.../KNearestNeighborClassifierTest.java | 2 +-
.../SimpleNaiveBayesClassifierTest.java | 3 +-
.../utils/ConfusionMatrixGeneratorTest.java | 30 +-
.../classification/utils/DataSplitterTest.java | 37 +-
.../utils/DocToDoubleVectorUtilsTest.java | 2 -
.../codecs/blockterms/BlockTermsReader.java | 1 -
.../blocktreeords/OrdsIntersectTermsEnum.java | 2 -
.../blocktreeords/OrdsSegmentTermsEnum.java | 2 -
.../lucene/codecs/memory/FSTOrdTermsReader.java | 1 -
.../codecs/simpletext/SimpleTextBKDReader.java | 2 +
.../simpletext/SimpleTextDocValuesFormat.java | 2 +-
.../simpletext/SimpleTextFieldsReader.java | 1 -
.../simpletext/SimpleTextFieldsWriter.java | 2 +
.../simpletext/SimpleTextLiveDocsFormat.java | 2 -
.../simpletext/SimpleTextPostingsFormat.java | 2 +-
.../simpletext/SimpleTextSegmentInfoFormat.java | 174 +-
.../SimpleTextStoredFieldsWriter.java | 1 -
.../simpletext/SimpleTextTermVectorsReader.java | 1 -
.../org.apache.lucene.codecs.DocValuesFormat | 1 -
.../org.apache.lucene.codecs.PostingsFormat | 1 -
.../TestSimpleTextCompoundFormat.java | 10 +
lucene/common-build.xml | 90 +-
.../java/org/apache/lucene/analysis/Token.java | 1 -
.../java/org/apache/lucene/codecs/Codec.java | 2 +-
.../org/apache/lucene/codecs/CodecUtil.java | 55 +-
.../apache/lucene/codecs/CompoundFormat.java | 4 +-
.../apache/lucene/codecs/DocValuesConsumer.java | 514 ++---
.../org/apache/lucene/codecs/NormsConsumer.java | 73 +-
.../org/apache/lucene/codecs/PointsWriter.java | 3 +-
.../lucene/codecs/StoredFieldsWriter.java | 61 +-
.../apache/lucene/codecs/TermVectorsWriter.java | 78 +-
.../CompressingStoredFieldsWriter.java | 6 +
.../CompressingTermVectorsWriter.java | 5 +
.../codecs/lucene50/Lucene50CompoundFormat.java | 26 +-
.../codecs/lucene50/Lucene50CompoundReader.java | 5 +-
.../codecs/lucene50/Lucene50PostingsFormat.java | 1 -
.../lucene50/Lucene50SegmentInfoFormat.java | 166 --
.../lucene/codecs/lucene54/package-info.java | 4 +-
.../lucene/codecs/lucene60/Lucene60Codec.java | 176 --
.../codecs/lucene60/Lucene60PointsReader.java | 5 +-
.../codecs/lucene60/Lucene60PointsWriter.java | 11 +-
.../lucene/codecs/lucene60/package-info.java | 397 +---
.../lucene/codecs/lucene62/Lucene62Codec.java | 176 ++
.../lucene62/Lucene62SegmentInfoFormat.java | 318 +++
.../lucene/codecs/lucene62/package-info.java | 24 +
.../org/apache/lucene/document/BinaryPoint.java | 3 +-
.../org/apache/lucene/document/DoublePoint.java | 3 +-
.../org/apache/lucene/document/FloatPoint.java | 3 +-
.../org/apache/lucene/document/IntPoint.java | 3 +-
.../org/apache/lucene/document/LongPoint.java | 3 +-
.../org/apache/lucene/document/StringField.java | 4 +-
.../org/apache/lucene/geo/GeoEncodingUtils.java | 147 ++
.../src/java/org/apache/lucene/geo/Polygon.java | 196 --
.../java/org/apache/lucene/geo/Polygon2D.java | 477 +++++
.../java/org/apache/lucene/geo/Rectangle.java | 2 +-
.../apache/lucene/index/BufferedUpdates.java | 7 +-
.../lucene/index/BufferedUpdatesStream.java | 30 +-
.../org/apache/lucene/index/CheckIndex.java | 99 +
.../apache/lucene/index/CoalescedUpdates.java | 14 +-
.../org/apache/lucene/index/DocIDMerger.java | 179 ++
.../java/org/apache/lucene/index/DocValues.java | 2 +-
.../apache/lucene/index/DocValuesUpdate.java | 2 +-
.../apache/lucene/index/DocumentsWriter.java | 97 +-
.../index/DocumentsWriterDeleteQueue.java | 126 +-
.../index/DocumentsWriterFlushControl.java | 24 +-
.../lucene/index/DocumentsWriterPerThread.java | 46 +-
.../index/DocumentsWriterPerThreadPool.java | 21 +-
.../apache/lucene/index/FilterCodecReader.java | 6 +
.../apache/lucene/index/FilterLeafReader.java | 7 +
.../org/apache/lucene/index/IndexWriter.java | 376 +++-
.../apache/lucene/index/IndexWriterConfig.java | 26 +-
.../org/apache/lucene/index/LeafReader.java | 4 +
.../lucene/index/LiveIndexWriterConfig.java | 13 +
.../lucene/index/MappingMultiPostingsEnum.java | 124 +-
.../org/apache/lucene/index/MergePolicy.java | 63 +-
.../apache/lucene/index/MergeReaderWrapper.java | 266 +++
.../org/apache/lucene/index/MergeState.java | 234 ++-
.../org/apache/lucene/index/MultiDocValues.java | 2 +-
.../apache/lucene/index/MultiPostingsEnum.java | 8 +-
.../org/apache/lucene/index/MultiSorter.java | 353 ++++
.../apache/lucene/index/ParallelLeafReader.java | 19 +
.../org/apache/lucene/index/PointValues.java | 38 +-
.../org/apache/lucene/index/SegmentInfo.java | 21 +-
.../org/apache/lucene/index/SegmentMerger.java | 5 +
.../org/apache/lucene/index/SegmentReader.java | 25 +-
.../lucene/index/SlowCodecReaderWrapper.java | 11 +
.../java/org/apache/lucene/index/Sorter.java | 288 +++
.../apache/lucene/index/SortingLeafReader.java | 914 +++++++++
.../lucene/index/StandardDirectoryReader.java | 56 +-
.../index/TermVectorsConsumerPerField.java | 1 -
.../apache/lucene/index/TermsHashPerField.java | 1 -
.../lucene/index/TrackingIndexWriter.java | 168 --
.../org/apache/lucene/index/TwoPhaseCommit.java | 5 +-
.../apache/lucene/search/BlendedTermQuery.java | 22 +-
.../org/apache/lucene/search/BooleanQuery.java | 19 +-
.../org/apache/lucene/search/BooleanScorer.java | 6 +-
.../org/apache/lucene/search/BoostQuery.java | 17 +-
.../apache/lucene/search/ConjunctionDISI.java | 188 +-
.../apache/lucene/search/ConjunctionScorer.java | 4 +-
.../lucene/search/ConstantScoreQuery.java | 15 +-
.../search/ControlledRealTimeReopenThread.java | 17 +-
.../lucene/search/DisjunctionMaxQuery.java | 18 +-
.../apache/lucene/search/DocValuesDocIdSet.java | 157 --
.../lucene/search/DocValuesRewriteMethod.java | 24 +-
.../EarlyTerminatingSortingCollector.java | 129 ++
.../apache/lucene/search/ExactPhraseScorer.java | 3 +-
.../apache/lucene/search/FieldValueQuery.java | 11 +-
.../lucene/search/FilterLeafCollector.java | 7 +-
.../apache/lucene/search/FuzzyTermsEnum.java | 1 -
.../org/apache/lucene/search/IndexSearcher.java | 1 +
.../org/apache/lucene/search/LRUQueryCache.java | 303 ++-
.../apache/lucene/search/MatchAllDocsQuery.java | 10 +
.../apache/lucene/search/MatchNoDocsQuery.java | 29 +-
.../apache/lucene/search/MultiPhraseQuery.java | 20 +-
.../apache/lucene/search/MultiTermQuery.java | 27 +-
.../MultiTermQueryConstantScoreWrapper.java | 13 +-
.../java/org/apache/lucene/search/Multiset.java | 2 -
.../apache/lucene/search/NGramPhraseQuery.java | 16 +-
.../org/apache/lucene/search/PhraseQuery.java | 19 +-
.../apache/lucene/search/PointInSetQuery.java | 91 +-
.../apache/lucene/search/PointRangeQuery.java | 68 +-
.../java/org/apache/lucene/search/Query.java | 49 +-
.../lucene/search/QueryCachingPolicy.java | 69 +-
.../org/apache/lucene/search/RegexpQuery.java | 1 -
.../lucene/search/SloppyPhraseScorer.java | 3 +-
.../src/java/org/apache/lucene/search/Sort.java | 3 +
.../org/apache/lucene/search/SortField.java | 3 -
.../org/apache/lucene/search/SynonymQuery.java | 15 +-
.../org/apache/lucene/search/TermQuery.java | 9 +-
.../apache/lucene/search/TwoPhaseIterator.java | 79 +-
.../search/UsageTrackingQueryCachingPolicy.java | 29 +-
.../search/spans/FieldMaskingSpanQuery.java | 24 +-
.../lucene/search/spans/SpanBoostQuery.java | 18 +-
.../lucene/search/spans/SpanContainQuery.java | 16 +-
.../search/spans/SpanMultiTermQueryWrapper.java | 14 +-
.../lucene/search/spans/SpanNearQuery.java | 42 +-
.../lucene/search/spans/SpanNotQuery.java | 21 +-
.../apache/lucene/search/spans/SpanOrQuery.java | 13 +-
.../search/spans/SpanPositionCheckQuery.java | 13 +-
.../lucene/search/spans/SpanTermQuery.java | 14 +-
.../lucene/store/ByteArrayIndexInput.java | 2 -
.../org/apache/lucene/store/IndexInput.java | 5 +
.../org/apache/lucene/store/NIOFSDirectory.java | 2 +-
.../lucene/store/NRTCachingDirectory.java | 5 +-
.../lucene/store/NativeFSLockFactory.java | 4 +-
.../apache/lucene/store/SimpleFSDirectory.java | 2 +-
.../lucene/store/SimpleFSLockFactory.java | 4 +-
.../java/org/apache/lucene/util/ArrayUtil.java | 339 +---
.../org/apache/lucene/util/BitDocIdSet.java | 3 +
.../org/apache/lucene/util/BitSetIterator.java | 3 +
.../java/org/apache/lucene/util/BitUtil.java | 4 +-
.../apache/lucene/util/BytesRefComparator.java | 55 +
.../org/apache/lucene/util/BytesRefHash.java | 37 +-
.../org/apache/lucene/util/CharsRefBuilder.java | 1 -
.../org/apache/lucene/util/DocIdSetBuilder.java | 327 +++-
.../lucene/util/FixedLengthBytesRefArray.java | 29 +
.../apache/lucene/util/InPlaceMergeSorter.java | 2 +-
.../org/apache/lucene/util/IntroSorter.java | 2 +-
.../org/apache/lucene/util/LSBRadixSorter.java | 36 +-
.../org/apache/lucene/util/MSBRadixSorter.java | 219 +++
.../java/org/apache/lucene/util/SloppyMath.java | 8 +-
.../src/java/org/apache/lucene/util/Sorter.java | 2 +-
.../lucene/util/StringMSBRadixSorter.java | 76 +
.../java/org/apache/lucene/util/Version.java | 20 +-
.../automaton/DaciukMihovAutomatonBuilder.java | 1 -
.../org/apache/lucene/util/bkd/BKDReader.java | 47 +-
.../org/apache/lucene/util/bkd/BKDWriter.java | 129 +-
.../apache/lucene/util/bkd/HeapPointWriter.java | 21 +-
.../org/apache/lucene/util/fst/Builder.java | 9 +-
.../lucene/util/mutable/MutableValueStr.java | 1 -
.../util/packed/MonotonicBlockPackedWriter.java | 1 -
.../lucene/util/packed/MonotonicLongValues.java | 1 -
.../services/org.apache.lucene.codecs.Codec | 2 +-
.../org/apache/lucene/codecs/TestCodecUtil.java | 306 +++
.../lucene50/TestLucene50SegmentInfoFormat.java | 39 -
...cene50StoredFieldsFormatHighCompression.java | 8 +-
.../lucene53/TestLucene53NormsFormat.java | 4 +-
.../lucene54/TestLucene54DocValuesFormat.java | 2 -
.../lucene62/TestLucene62SegmentInfoFormat.java | 39 +
.../perfield/TestPerFieldDocValuesFormat.java | 2 +-
.../perfield/TestPerFieldPostingsFormat2.java | 12 +-
.../apache/lucene/document/TestFieldType.java | 2 -
.../apache/lucene/geo/TestGeoEncodingUtils.java | 151 ++
.../org/apache/lucene/geo/TestGeoUtils.java | 83 +-
.../test/org/apache/lucene/geo/TestPolygon.java | 186 --
.../org/apache/lucene/geo/TestPolygon2D.java | 289 +++
.../org/apache/lucene/index/Test2BPoints.java | 10 +-
.../org/apache/lucene/index/Test2BTerms.java | 2 +-
.../lucene/index/Test4GBStoredFields.java | 24 +-
.../org/apache/lucene/index/TestAddIndexes.java | 55 +-
.../index/TestBinaryDocValuesUpdates.java | 2 -
.../org/apache/lucene/index/TestCodecUtil.java | 305 ---
.../org/apache/lucene/index/TestCodecs.java | 9 +-
.../index/TestDemoParallelLeafReader.java | 38 +-
.../lucene/index/TestDirectoryReader.java | 1 -
.../lucene/index/TestDirectoryReaderReopen.java | 228 +++
.../test/org/apache/lucene/index/TestDoc.java | 2 +-
.../apache/lucene/index/TestDocIDMerger.java | 203 ++
.../lucene/index/TestDocsAndPositions.java | 1 -
.../index/TestDocumentsWriterDeleteQueue.java | 6 +-
.../apache/lucene/index/TestFieldsReader.java | 1 -
.../lucene/index/TestIndexFileDeleter.java | 4 -
.../org/apache/lucene/index/TestIndexInput.java | 4 -
.../apache/lucene/index/TestIndexSorting.java | 1370 +++++++++++++
.../apache/lucene/index/TestIndexWriter.java | 2 +-
.../lucene/index/TestIndexWriterCommit.java | 1 -
.../lucene/index/TestIndexWriterConfig.java | 2 -
.../lucene/index/TestIndexWriterDelete.java | 4 +-
.../lucene/index/TestIndexWriterForceMerge.java | 4 -
.../lucene/index/TestIndexWriterFromReader.java | 1 -
.../index/TestIndexWriterLockRelease.java | 2 -
.../lucene/index/TestIndexWriterOnDiskFull.java | 2 -
.../index/TestIndexingSequenceNumbers.java | 638 ++++++
.../lucene/index/TestMergeRateLimiter.java | 2 -
.../lucene/index/TestMixedDocValuesUpdates.java | 1 -
.../apache/lucene/index/TestMultiTermsEnum.java | 1 -
.../apache/lucene/index/TestNeverDelete.java | 2 -
.../apache/lucene/index/TestNoMergePolicy.java | 1 -
.../index/TestNumericDocValuesUpdates.java | 114 +-
.../apache/lucene/index/TestOmitPositions.java | 1 -
.../org/apache/lucene/index/TestOmitTf.java | 2 -
.../index/TestParallelCompositeReader.java | 2 -
.../lucene/index/TestParallelLeafReader.java | 59 +-
.../lucene/index/TestParallelTermEnum.java | 1 -
.../org/apache/lucene/index/TestPayloads.java | 1 -
.../lucene/index/TestPerSegmentDeletes.java | 11 +-
.../TestPersistentSnapshotDeletionPolicy.java | 1 -
.../apache/lucene/index/TestPointValues.java | 58 +-
.../apache/lucene/index/TestReaderClosed.java | 1 -
.../apache/lucene/index/TestRollingUpdates.java | 2 +-
.../apache/lucene/index/TestSegmentInfos.java | 7 +-
.../apache/lucene/index/TestSegmentMerger.java | 24 +-
.../index/TestSnapshotDeletionPolicy.java | 2 -
.../org/apache/lucene/index/TestTryDelete.java | 17 +-
.../lucene/index/TestTwoPhaseCommitTool.java | 14 +-
.../apache/lucene/search/JustCompileSearch.java | 33 +-
.../org/apache/lucene/search/TestBoolean2.java | 130 +-
.../apache/lucene/search/TestBooleanScorer.java | 12 +-
.../lucene/search/TestConjunctionDISI.java | 12 +-
.../lucene/search/TestConstantScoreQuery.java | 11 +-
.../TestControlledRealTimeReopenThread.java | 45 +-
.../TestEarlyTerminatingSortingCollector.java | 254 +++
.../apache/lucene/search/TestIndexSearcher.java | 3 +-
.../apache/lucene/search/TestLRUQueryCache.java | 94 +-
.../lucene/search/TestMatchNoDocsQuery.java | 1 -
.../apache/lucene/search/TestNeedsScores.java | 25 +-
.../apache/lucene/search/TestPhraseQuery.java | 1 -
.../apache/lucene/search/TestPointQueries.java | 27 +-
.../lucene/search/TestQueryCachingPolicy.java | 56 -
.../apache/lucene/search/TestQueryRescorer.java | 31 +-
.../apache/lucene/search/TestRegexpRandom2.java | 1 -
.../lucene/search/TestReqExclBulkScorer.java | 6 +-
.../apache/lucene/search/TestScorerPerf.java | 12 +-
.../lucene/search/TestSimilarityProvider.java | 1 -
.../lucene/search/TestSimpleExplanations.java | 27 +-
.../TestSimpleExplanationsWithFillerDocs.java | 126 ++
.../apache/lucene/search/TestSortRandom.java | 16 +-
.../TestUsageTrackingFilterCachingPolicy.java | 17 +-
.../search/spans/JustCompileSearchSpans.java | 14 +-
.../search/spans/TestNearSpansOrdered.java | 24 +-
.../lucene/search/spans/TestSpanCollection.java | 11 +-
.../lucene/store/TestBufferedIndexInput.java | 1 -
.../org/apache/lucene/store/TestDirectory.java | 1 -
.../lucene/store/TestFileSwitchDirectory.java | 1 -
.../apache/lucene/store/TestRateLimiter.java | 3 +-
.../lucene/store/TestSimpleFSLockFactory.java | 1 -
.../apache/lucene/util/Test2BPagedBytes.java | 1 -
.../org/apache/lucene/util/TestArrayUtil.java | 64 +-
.../apache/lucene/util/TestDocIdSetBuilder.java | 198 +-
.../org/apache/lucene/util/TestIOUtils.java | 1 -
.../apache/lucene/util/TestLSBRadixSorter.java | 29 +-
.../apache/lucene/util/TestMSBRadixSorter.java | 117 ++
.../util/TestRecyclingByteBlockAllocator.java | 1 -
.../util/TestRecyclingIntBlockAllocator.java | 1 -
.../org/apache/lucene/util/TestSloppyMath.java | 66 +-
.../lucene/util/TestStringMSBRadixSorter.java | 97 +
.../automaton/FiniteStringsIteratorTest.java | 1 -
.../LimitedFiniteStringsIteratorTest.java | 1 -
.../org/apache/lucene/util/bkd/TestBKD.java | 23 +-
lucene/default-nested-ivy-settings.xml | 60 +
lucene/demo/src/java/overview.html | 2 +-
.../test/org/apache/lucene/demo/TestDemo.java | 2 -
.../TestExpressionAggregationFacetsExample.java | 3 -
.../demo/facet/TestRangeFacetsExample.java | 2 -
.../facet/TestSimpleSortedSetFacetsExample.java | 1 -
.../lucene/expressions/js/JavascriptLexer.java | 3 -
.../lucene/expressions/js/JavascriptParser.java | 3 -
.../org/apache/lucene/facet/DrillDownQuery.java | 21 +-
.../apache/lucene/facet/DrillSidewaysQuery.java | 31 +-
.../apache/lucene/facet/range/DoubleRange.java | 19 +-
.../apache/lucene/facet/range/LongRange.java | 19 +-
.../DefaultSortedSetDocValuesReaderState.java | 1 -
.../directory/DirectoryTaxonomyWriter.java | 30 +-
.../apache/lucene/facet/TestDrillSideways.java | 25 +-
.../facet/range/TestRangeFacetCounts.java | 24 +-
.../lucene/facet/taxonomy/TestFacetLabel.java | 2 -
.../taxonomy/directory/TestAddTaxonomy.java | 14 -
.../grouping/AbstractGroupFacetCollector.java | 1 -
.../search/highlight/GradientFormatter.java | 2 +-
.../search/highlight/TermVectorLeafReader.java | 7 +-
.../highlight/WeightedSpanTermExtractor.java | 50 +-
.../lucene/search/highlight/package-info.java | 4 +-
.../search/highlight/HighlighterTest.java | 64 +-
.../highlight/OffsetLimitTokenFilterTest.java | 1 -
.../custom/HighlightCustomQueryTest.java | 25 +-
.../search/vectorhighlight/FieldQueryTest.java | 102 +-
.../vectorhighlight/IndexTimeSynonymTest.java | 4 -
lucene/ivy-settings.xml | 63 -
lucene/ivy-versions.properties | 6 +-
.../lucene/search/join/GlobalOrdinalsQuery.java | 23 +-
.../join/GlobalOrdinalsWithScoreQuery.java | 29 +-
.../join/PointInSetIncludingScoreQuery.java | 23 +-
.../search/join/TermsIncludingScoreQuery.java | 27 +-
.../search/join/ToChildBlockJoinQuery.java | 23 +-
.../search/join/ToParentBlockJoinCollector.java | 4 +-
.../search/join/ToParentBlockJoinQuery.java | 51 +-
.../lucene/search/join/TestBlockJoin.java | 163 +-
.../apache/lucene/search/join/TestJoinUtil.java | 31 +-
lucene/licenses/asm-5.0.4.jar.sha1 | 1 -
lucene/licenses/asm-5.1.jar.sha1 | 1 +
lucene/licenses/asm-commons-5.0.4.jar.sha1 | 1 -
lucene/licenses/asm-commons-5.1.jar.sha1 | 1 +
.../apache/lucene/index/memory/MemoryIndex.java | 8 +-
.../lucene/index/memory/TestMemoryIndex.java | 6 -
.../memory/TestMemoryIndexAgainstRAMDir.java | 1 -
.../org/apache/lucene/index/IndexSplitter.java | 2 +-
.../apache/lucene/index/MergeReaderWrapper.java | 259 ---
.../lucene/index/MultiPassIndexSplitter.java | 1 -
.../index/SlowCompositeReaderWrapper.java | 275 ---
.../java/org/apache/lucene/index/Sorter.java | 287 ---
.../apache/lucene/index/SortingLeafReader.java | 940 ---------
.../apache/lucene/index/SortingMergePolicy.java | 264 ---
.../java/org/apache/lucene/index/package.html | 18 -
.../org/apache/lucene/misc/IndexMergeTool.java | 4 +-
.../search/BlockJoinComparatorSource.java | 224 ---
.../EarlyTerminatingSortingCollector.java | 146 --
.../store/HardlinkCopyDirectoryWrapper.java | 95 +
.../apache/lucene/uninverting/DocTermOrds.java | 886 ---------
.../apache/lucene/uninverting/FieldCache.java | 466 -----
.../lucene/uninverting/FieldCacheImpl.java | 1085 -----------
.../uninverting/FieldCacheSanityChecker.java | 425 ----
.../lucene/uninverting/UninvertingReader.java | 391 ----
.../apache/lucene/uninverting/package-info.java | 21 -
.../apache/lucene/index/IndexSortingTest.java | 89 -
.../org/apache/lucene/index/SorterTestBase.java | 405 ----
.../lucene/index/SortingLeafReaderTest.java | 73 -
.../lucene/index/TestBlockJoinSorter.java | 128 --
.../index/TestMultiPassIndexSplitter.java | 1 -
.../index/TestSlowCompositeReaderWrapper.java | 91 -
.../lucene/index/TestSortingMergePolicy.java | 201 --
.../search/TestDiversifiedTopDocsCollector.java | 6 +-
.../TestEarlyTerminatingSortingCollector.java | 305 ---
.../store/TestHardLinkCopyDirectoryWrapper.java | 89 +
.../lucene/uninverting/TestDocTermOrds.java | 681 -------
.../lucene/uninverting/TestFieldCache.java | 731 -------
.../uninverting/TestFieldCacheReopen.java | 70 -
.../TestFieldCacheSanityChecker.java | 164 --
.../lucene/uninverting/TestFieldCacheSort.java | 1814 ------------------
.../uninverting/TestFieldCacheSortRandom.java | 315 ---
.../uninverting/TestFieldCacheVsDocValues.java | 592 ------
.../uninverting/TestFieldCacheWithThreads.java | 227 ---
.../uninverting/TestLegacyFieldCache.java | 498 -----
.../lucene/uninverting/TestNumericTerms32.java | 156 --
.../lucene/uninverting/TestNumericTerms64.java | 166 --
.../uninverting/TestUninvertingReader.java | 395 ----
.../apache/lucene/util/fst/TestFSTsMisc.java | 1 -
.../apache/lucene/queries/BoostingQuery.java | 27 +-
.../apache/lucene/queries/CommonTermsQuery.java | 48 +-
.../apache/lucene/queries/CustomScoreQuery.java | 28 +-
.../org/apache/lucene/queries/TermsQuery.java | 36 +-
.../lucene/queries/function/BoostedQuery.java | 16 +-
.../lucene/queries/function/FunctionQuery.java | 29 +-
.../queries/function/FunctionRangeQuery.java | 23 +-
.../function/valuesource/DoubleFieldSource.java | 1 -
.../SumTotalTermFreqValueSource.java | 1 -
.../lucene/queries/mlt/MoreLikeThisQuery.java | 55 +-
.../queries/payloads/PayloadScoreQuery.java | 29 +-
.../queries/payloads/SpanPayloadCheckQuery.java | 13 +-
.../apache/lucene/queries/TermsQueryTest.java | 18 +-
.../queries/TestCustomScoreExplanations.java | 45 +
.../lucene/queries/mlt/TestMoreLikeThis.java | 5 +-
lucene/queryparser/build.xml | 2 +-
.../lucene/queryparser/classic/QueryParser.java | 3 +-
.../lucene/queryparser/classic/QueryParser.jj | 2 +-
.../classic/QueryParserTokenManager.java | 10 -
.../complexPhrase/ComplexPhraseQueryParser.java | 50 +-
.../queryparser/ext/ExtendableQueryParser.java | 1 -
.../flexible/core/nodes/QueryNodeImpl.java | 2 +-
.../flexible/standard/StandardQueryParser.java | 2 +-
.../builders/DummyQueryNodeBuilder.java | 1 -
.../StandardSyntaxParserTokenManager.java | 22 -
.../MultiFieldQueryNodeProcessor.java | 1 -
.../StandardQueryNodeProcessorPipeline.java | 3 -
.../surround/parser/QueryParser.java | 2 -
.../parser/QueryParserTokenManager.java | 13 -
.../surround/query/RewriteQuery.java | 33 +-
.../lucene/queryparser/xml/CoreParser.java | 33 +-
.../xml/builders/BooleanQueryBuilder.java | 3 +-
.../builders/DisjunctionMaxQueryBuilder.java | 3 +-
.../xml/builders/FuzzyLikeThisQueryBuilder.java | 3 +-
.../LegacyNumericRangeQueryBuilder.java | 36 +-
.../xml/builders/PointRangeQueryBuilder.java | 28 +-
.../queryparser/classic/TestMultiAnalyzer.java | 51 +-
.../classic/TestMultiPhraseQueryParsing.java | 1 -
.../precedence/TestPrecedenceQueryParser.java | 1 -
.../standard/TestMultiAnalyzerQPHelper.java | 3 -
.../flexible/standard/TestStandardQP.java | 2 -
.../simple/TestSimpleQueryParser.java | 1 -
.../xml/CoreParserTestIndexData.java | 74 +
.../LegacyNumericRangeQueryWithoutLowerTerm.xml | 31 +
.../xml/LegacyNumericRangeQueryWithoutRange.xml | 31 +
.../LegacyNumericRangeQueryWithoutUpperTerm.xml | 31 +
.../xml/PointRangeQueryWithoutLowerTerm.xml | 31 +
.../xml/PointRangeQueryWithoutRange.xml | 31 +
.../xml/PointRangeQueryWithoutUpperTerm.xml | 31 +
.../lucene/queryparser/xml/TermQueryEmpty.xml | 18 +
.../lucene/queryparser/xml/TestCoreParser.java | 159 +-
.../xml/TestCorePlusExtensionsParser.java | 18 +-
.../xml/TestCorePlusQueriesParser.java | 18 +-
.../xml/TestQueryTemplateManager.java | 1 -
.../replicator/http/ReplicationService.java | 3 +-
.../lucene/replicator/nrt/CopyOneFile.java | 2 -
.../apache/lucene/replicator/nrt/CopyState.java | 1 -
.../org/apache/lucene/replicator/nrt/Node.java | 10 -
.../replicator/nrt/ReplicaFileDeleter.java | 2 -
.../nrt/SegmentInfosSearcherManager.java | 1 -
.../IndexAndTaxonomyRevisionTest.java | 1 -
.../lucene/replicator/IndexRevisionTest.java | 1 -
.../lucene/replicator/LocalReplicatorTest.java | 1 -
.../lucene/replicator/ReplicatorTestCase.java | 2 -
.../lucene/replicator/nrt/Connection.java | 2 -
.../org/apache/lucene/replicator/nrt/Jobs.java | 2 -
.../lucene/replicator/nrt/SimpleCopyJob.java | 35 -
.../lucene/replicator/nrt/SimpleTransLog.java | 3 -
.../replicator/nrt/TestNRTReplication.java | 1 -
.../nrt/TestStressNRTReplication.java | 1 -
lucene/sandbox/build.xml | 35 -
.../idversion/IDVersionPostingsReader.java | 1 -
.../idversion/IDVersionSegmentTermsEnum.java | 1 -
.../apache/lucene/document/HalfFloatPoint.java | 425 ++++
.../lucene/document/InetAddressPoint.java | 59 +-
.../lucene/document/LatLonDocValuesField.java | 135 ++
.../org/apache/lucene/document/LatLonGrid.java | 155 --
.../org/apache/lucene/document/LatLonPoint.java | 267 ++-
.../document/LatLonPointDistanceComparator.java | 27 +-
.../document/LatLonPointDistanceQuery.java | 196 +-
.../document/LatLonPointInPolygonQuery.java | 135 +-
.../apache/lucene/document/NearestNeighbor.java | 308 +++
.../sandbox/queries/FuzzyLikeThisQuery.java | 45 +-
.../sandbox/queries/SlowFuzzyTermsEnum.java | 1 -
.../lucene/search/DocValuesNumbersQuery.java | 20 +-
.../lucene/search/DocValuesRangeQuery.java | 24 +-
.../lucene/search/DocValuesTermsQuery.java | 19 +-
.../lucene/search/TermAutomatonQuery.java | 40 +-
.../search/TokenStreamToTermAutomatonQuery.java | 2 -
.../lucene/document/TestHalfFloatPoint.java | 243 +++
.../lucene/document/TestInetAddressPoint.java | 54 +
.../document/TestLatLonDocValuesField.java | 30 +
.../apache/lucene/document/TestLatLonGrid.java | 50 -
.../apache/lucene/document/TestLatLonPoint.java | 184 +-
.../document/TestLatLonPointDistanceSort.java | 33 +-
.../org/apache/lucene/document/TestNearest.java | 253 +++
.../lucene/search/TestLatLonPointQueries.java | 7 +-
.../lucene/search/TestTermAutomatonQuery.java | 18 +-
lucene/site/changes/changes2html.pl | 4 +-
lucene/site/xsl/index.xsl | 14 +-
.../spatial/composite/CompositeVerifyQuery.java | 21 +-
.../composite/IntersectsRPTVerifyQuery.java | 28 +-
.../spatial/prefix/AbstractPrefixTreeQuery.java | 30 +-
.../spatial/prefix/HeatmapFacetCounter.java | 34 +-
.../prefix/IntersectsPrefixTreeQuery.java | 15 +-
.../prefix/tree/DateRangePrefixTree.java | 229 ++-
.../serialized/SerializedDVStrategy.java | 14 +-
.../spatial/prefix/DateNRStrategyTest.java | 4 +-
.../spatial/prefix/HeatmapFacetCounterTest.java | 27 +-
.../prefix/tree/DateRangePrefixTreeTest.java | 48 +-
.../lucene/spatial/spatial4j/Geo3dRptTest.java | 10 +-
.../Geo3dShapeRectRelationTestCase.java | 6 +-
.../Geo3dShapeSphereModelRectRelationTest.java | 6 +-
.../geopoint/document/GeoPointField.java | 224 ++-
.../geopoint/document/GeoPointTokenStream.java | 21 +-
.../geopoint/search/GeoPointDistanceQuery.java | 27 +-
.../search/GeoPointDistanceQueryImpl.java | 5 +-
.../geopoint/search/GeoPointInBBoxQuery.java | 54 +-
.../search/GeoPointInBBoxQueryImpl.java | 5 +-
.../geopoint/search/GeoPointInPolygonQuery.java | 42 +-
.../search/GeoPointInPolygonQueryImpl.java | 21 +-
.../geopoint/search/GeoPointMultiTermQuery.java | 7 +-
.../search/GeoPointNumericTermsEnum.java | 161 --
.../search/GeoPointPrefixTermsEnum.java | 239 ---
.../GeoPointTermQueryConstantScoreWrapper.java | 28 +-
.../geopoint/search/GeoPointTermsEnum.java | 227 ++-
.../lucene/spatial/util/GeoEncodingUtils.java | 152 --
.../lucene/spatial/util/MortonEncoder.java | 103 +
.../geopoint/search/TestGeoPointQuery.java | 39 +-
.../search/TestLegacyGeoPointQuery.java | 81 -
.../spatial/util/BaseGeoPointTestCase.java | 1512 ---------------
.../spatial/util/TestGeoEncodingUtils.java | 101 -
.../lucene/spatial/util/TestGeoPointField.java | 51 +
.../lucene/spatial/util/TestMortonEncoder.java | 108 ++
.../lucene/spatial3d/Geo3DDocValuesField.java | 426 ++++
.../org/apache/lucene/spatial3d/Geo3DPoint.java | 121 +-
.../spatial3d/Geo3DPointDistanceComparator.java | 166 ++
.../Geo3DPointOutsideDistanceComparator.java | 137 ++
.../spatial3d/Geo3DPointOutsideSortField.java | 96 +
.../lucene/spatial3d/Geo3DPointSortField.java | 96 +
.../org/apache/lucene/spatial3d/Geo3DUtil.java | 278 ++-
.../spatial3d/PointInGeo3DShapeQuery.java | 101 +-
.../spatial3d/PointInShapeIntersectVisitor.java | 118 ++
.../lucene/spatial3d/geom/ArcDistance.java | 15 +
.../apache/lucene/spatial3d/geom/Bounds.java | 11 +
.../lucene/spatial3d/geom/DistanceStyle.java | 28 +
.../lucene/spatial3d/geom/GeoBBoxFactory.java | 3 +-
.../spatial3d/geom/GeoBaseDistanceShape.java | 14 +-
.../spatial3d/geom/GeoComplexPolygon.java | 1234 ++++++++++++
.../geom/GeoCompositeMembershipShape.java | 2 +-
.../spatial3d/geom/GeoConcavePolygon.java | 218 ++-
.../lucene/spatial3d/geom/GeoConvexPolygon.java | 194 +-
.../spatial3d/geom/GeoDegeneratePoint.java | 8 +-
.../lucene/spatial3d/geom/GeoDistance.java | 7 +-
.../lucene/spatial3d/geom/GeoDistanceShape.java | 12 +
.../spatial3d/geom/GeoLongitudeSlice.java | 1 +
.../spatial3d/geom/GeoNorthRectangle.java | 1 +
.../apache/lucene/spatial3d/geom/GeoPoint.java | 4 +-
.../spatial3d/geom/GeoPolygonFactory.java | 977 ++++++++--
.../lucene/spatial3d/geom/GeoRectangle.java | 1 +
.../spatial3d/geom/GeoSouthRectangle.java | 1 +
.../spatial3d/geom/GeoStandardCircle.java | 6 +
.../lucene/spatial3d/geom/GeoStandardPath.java | 22 +-
.../spatial3d/geom/GeoWideLongitudeSlice.java | 1 +
.../spatial3d/geom/GeoWideNorthRectangle.java | 1 +
.../lucene/spatial3d/geom/GeoWideRectangle.java | 1 +
.../spatial3d/geom/GeoWideSouthRectangle.java | 1 +
.../lucene/spatial3d/geom/LatLonBounds.java | 24 +-
.../lucene/spatial3d/geom/LinearDistance.java | 15 +
.../spatial3d/geom/LinearSquaredDistance.java | 15 +
.../lucene/spatial3d/geom/NormalDistance.java | 15 +
.../spatial3d/geom/NormalSquaredDistance.java | 15 +
.../org/apache/lucene/spatial3d/geom/Plane.java | 889 ++++++++-
.../lucene/spatial3d/geom/PlanetModel.java | 27 +-
.../lucene/spatial3d/geom/SidedPlane.java | 34 +
.../lucene/spatial3d/geom/StandardXYZSolid.java | 55 +-
.../apache/lucene/spatial3d/geom/Vector.java | 64 +-
.../apache/lucene/spatial3d/geom/XYZBounds.java | 59 +-
.../lucene/spatial3d/TestGeo3DDocValues.java | 53 +
.../apache/lucene/spatial3d/TestGeo3DPoint.java | 1114 ++++++++---
.../lucene/spatial3d/geom/GeoBBoxTest.java | 19 +-
.../lucene/spatial3d/geom/GeoCircleTest.java | 27 +-
.../lucene/spatial3d/geom/GeoPathTest.java | 8 +-
.../lucene/spatial3d/geom/GeoPolygonTest.java | 611 +++++-
.../apache/lucene/spatial3d/geom/PlaneTest.java | 20 +
.../lucene/search/spell/DirectSpellChecker.java | 2 -
.../lucene/search/spell/LuceneDictionary.java | 1 -
.../search/spell/WordBreakSpellChecker.java | 1 -
.../analyzing/AnalyzingInfixSuggester.java | 9 +-
.../search/suggest/analyzing/FSTUtil.java | 1 -
.../suggest/analyzing/SuggestStopFilter.java | 1 -
.../search/suggest/document/ContextQuery.java | 13 +-
.../suggest/document/PrefixCompletionQuery.java | 10 +
.../suggest/document/RegexCompletionQuery.java | 9 +
.../suggest/fst/FSTCompletionBuilder.java | 1 -
.../search/suggest/jaspell/JaspellLookup.java | 1 -
.../jaspell/JaspellTernarySearchTrie.java | 83 +-
.../search/suggest/FileDictionaryTest.java | 1 -
.../lucene/search/suggest/PersistenceTest.java | 1 -
.../analyzing/AnalyzingInfixSuggesterTest.java | 4 +-
.../analyzing/AnalyzingSuggesterTest.java | 1 -
.../suggest/analyzing/FuzzySuggesterTest.java | 1 -
.../suggest/document/TestSuggestField.java | 4 +-
.../search/suggest/fst/FSTCompletionTest.java | 1 -
.../search/suggest/fst/WFSTCompletionTest.java | 1 -
.../lucene/analysis/CollationTestBase.java | 1 -
.../apache/lucene/analysis/MockAnalyzer.java | 1 -
.../apache/lucene/analysis/MockCharFilter.java | 1 -
.../lucene/analysis/MockPayloadAnalyzer.java | 1 -
.../codecs/asserting/AssertingPointsFormat.java | 6 +-
.../codecs/compressing/CompressingCodec.java | 13 +
.../codecs/cranky/CrankyPointsFormat.java | 3 -
.../mockrandom/MockRandomPostingsFormat.java | 14 +-
.../apache/lucene/geo/BaseGeoPointTestCase.java | 1489 ++++++++++++++
.../org/apache/lucene/geo/EarthDebugger.java | 293 +++
.../java/org/apache/lucene/geo/GeoTestUtil.java | 801 +++++---
.../index/BaseCompoundFormatTestCase.java | 163 +-
.../index/BaseFieldInfoFormatTestCase.java | 2 +-
.../index/BaseIndexFileFormatTestCase.java | 2 +-
.../index/BasePostingsFormatTestCase.java | 283 ++-
.../index/BaseSegmentInfoFormatTestCase.java | 77 +-
.../index/BaseTermVectorsFormatTestCase.java | 2 -
.../java/org/apache/lucene/index/DocHelper.java | 1 -
.../apache/lucene/index/ForceMergePolicy.java | 3 -
.../lucene/index/MockRandomMergePolicy.java | 50 +-
.../apache/lucene/index/PointsStackTracker.java | 79 +
.../org/apache/lucene/index/RandomCodec.java | 17 +-
.../apache/lucene/index/RandomIndexWriter.java | 64 +-
.../lucene/index/RandomPostingsTester.java | 2 +-
.../ThreadedIndexingAndSearchingTestCase.java | 1 -
.../lucene/mockfile/MockFileSystemTestCase.java | 1 -
.../org/apache/lucene/mockfile/WindowsFS.java | 4 -
.../apache/lucene/search/AssertingQuery.java | 9 +-
.../lucene/search/BaseExplanationTestCase.java | 43 +-
.../org/apache/lucene/search/CheckHits.java | 5 +-
.../org/apache/lucene/search/QueryUtils.java | 58 +-
.../lucene/search/RandomApproximationQuery.java | 14 +-
.../lucene/search/spans/AssertingSpanQuery.java | 24 +-
.../lucene/store/BaseDirectoryTestCase.java | 7 +-
.../lucene/store/BaseLockFactoryTestCase.java | 1 -
.../apache/lucene/util/CloseableDirectory.java | 1 -
.../org/apache/lucene/util/LineFileDocs.java | 1 -
.../org/apache/lucene/util/LuceneTestCase.java | 10 +-
.../util/TestRuleSetupAndRestoreClassEnv.java | 6 +-
.../java/org/apache/lucene/util/TestUtil.java | 4 +-
.../util/automaton/AutomatonTestUtil.java | 10 +-
.../analysis/TestLookaheadTokenFilter.java | 1 -
.../TestCompressingStoredFieldsFormat.java | 4 -
.../TestCompressingTermVectorsFormat.java | 1 -
.../lucene/index/TestAssertingLeafReader.java | 8 -
.../lucene/mockfile/TestHandleTrackingFS.java | 4 -
.../apache/lucene/mockfile/TestWindowsFS.java | 2 -
.../search/TestBaseExplanationTestCase.java | 120 ++
.../lucene/store/TestMockDirectoryWrapper.java | 4 -
lucene/tools/custom-tasks.xml | 4 +-
lucene/tools/forbiddenApis/base.txt | 4 -
lucene/tools/javadoc/ecj.javadocs.prefs | 2 +-
lucene/tools/junit4/solr-tests.policy | 1 +
lucene/tools/junit4/tests.policy | 4 +-
.../lucene/validation/LibVersionsCheckTask.java | 15 +-
lucene/top-level-ivy-settings.xml | 24 +
solr/CHANGES.txt | 339 +++-
solr/bin/post | 9 +-
solr/bin/solr | 2 +-
solr/bin/solr.cmd | 121 +-
solr/bin/solr.in.cmd | 15 +-
solr/bin/solr.in.sh | 7 +
solr/common-build.xml | 20 +-
.../apache/solr/schema/ICUCollationField.java | 4 +-
.../collection1/conf/schema-folding-extra.xml | 64 +-
.../collection1/conf/schema-icucollate-dv.xml | 53 +-
.../solr/collection1/conf/schema-icucollate.xml | 53 +-
.../conf/schema-icucollateoptions.xml | 70 +-
.../solr/schema/TestICUCollationField.java | 2 -
.../solr/collection1/conf/schema-analytics.xml | 119 +-
.../analytics/facet/FieldFacetExtrasTest.java | 1 -
.../solr/analytics/facet/FieldFacetTest.java | 1 -
.../clustering/solr/collection1/conf/schema.xml | 553 +++---
.../clustering/src/test-files/log4j.properties | 2 +-
.../conf/dataimport-schema-no-unique-key.xml | 336 ++--
.../handler/dataimport/DIHCacheSupport.java | 3 -
.../handler/dataimport/DataImportHandler.java | 6 -
.../dataimport/DataImportHandlerException.java | 4 +-
.../handler/dataimport/DateFormatEvaluator.java | 45 +-
.../solr/handler/dataimport/DebugInfo.java | 1 -
.../solr/handler/dataimport/Evaluator.java | 5 -
.../dataimport/FileListEntityProcessor.java | 18 +-
.../solr/handler/dataimport/JdbcDataSource.java | 150 +-
.../handler/dataimport/SolrEntityProcessor.java | 10 +-
.../solr/handler/dataimport/UrlEvaluator.java | 1 -
.../dataimport/XPathEntityProcessor.java | 1 -
.../apache/solr/handler/dataimport/Zipper.java | 1 -
.../dataimport/config/ConfigParseUtil.java | 6 -
.../solr/collection1/conf/dataimport-schema.xml | 112 +-
.../conf/dataimport-solr_id-schema.xml | 512 +++--
.../src/test-files/log4j.properties | 2 +-
.../dataimport/TestContentStreamDataSource.java | 4 +-
.../solr/handler/dataimport/TestDataConfig.java | 1 -
.../solr/handler/dataimport/TestDocBuilder.java | 1 -
.../handler/dataimport/TestDocBuilder2.java | 2 +-
.../handler/dataimport/TestEphemeralCache.java | 1 -
.../dataimport/TestFileListEntityProcessor.java | 22 +-
.../TestFileListWithLineEntityProcessor.java | 1 -
.../dataimport/TestHierarchicalDocBuilder.java | 1 -
.../handler/dataimport/TestJdbcDataSource.java | 306 ++-
.../dataimport/TestNonWritablePersistFile.java | 1 -
.../TestPlainTextEntityProcessor.java | 1 -
.../dataimport/TestScriptTransformer.java | 2 -
.../dataimport/TestSimplePropertiesWriter.java | 2 -
.../TestSolrEntityProcessorEndToEnd.java | 2 +-
.../dataimport/TestSqlEntityProcessorDelta.java | 1 -
.../dataimport/TestVariableResolver.java | 21 +-
.../extraction/solr/collection1/conf/schema.xml | 825 ++++----
...anguageIdentifierUpdateProcessorFactory.java | 1 -
.../LanguageIdentifierUpdateProcessor.java | 1 -
.../langid/solr/collection1/conf/schema.xml | 91 +-
.../src/java/org/apache/solr/hadoop/GoLive.java | 6 +-
.../solr/hadoop/MapReduceIndexerTool.java | 3 -
.../apache/solr/hadoop/SolrOutputFormat.java | 1 -
.../solr/hadoop/MorphlineGoLiveMiniMRTest.java | 4 +-
.../apache/solr/hadoop/MorphlineMapperTest.java | 1 -
.../solr/SafeConcurrentUpdateSolrClient.java | 2 +-
.../solr/morphlines/solr/SolrLocator.java | 5 +-
.../test-files/solr/collection1/conf/schema.xml | 1649 ++++++++--------
.../src/test-files/solr/minimr/conf/schema.xml | 1675 ++++++++--------
.../src/test-files/solr/mrunit/conf/schema.xml | 1674 ++++++++--------
.../solrcelltest/collection1/conf/schema.xml | 1576 +++++++--------
.../solr/AbstractSolrMorphlineTestBase.java | 2 +-
.../solr/AbstractSolrMorphlineZkTestBase.java | 114 +-
.../solr/SolrMorphlineZkAliasTest.java | 51 +-
.../solr/SolrMorphlineZkAvroTest.java | 48 +-
.../morphlines/solr/SolrMorphlineZkTest.java | 17 +-
.../uima/solr/collection1/conf/schema.xml | 6 +-
.../test-files/uima/uima-tokenizers-schema.xml | 1098 ++++++-----
.../velocity/solr/collection1/conf/schema.xml | 17 +-
solr/core/build.xml | 2 +-
solr/core/ivy.xml | 1 +
.../solrj/embedded/EmbeddedSolrServer.java | 6 +-
.../solr/client/solrj/embedded/SSLConfig.java | 81 +-
.../src/java/org/apache/solr/cloud/Assign.java | 18 +-
.../org/apache/solr/cloud/DistributedMap.java | 1 -
.../org/apache/solr/cloud/DistributedQueue.java | 95 +-
.../cloud/LeaderInitiatedRecoveryThread.java | 2 +-
.../java/org/apache/solr/cloud/LockTree.java | 182 ++
.../java/org/apache/solr/cloud/Overseer.java | 8 +-
.../OverseerAutoReplicaFailoverThread.java | 86 +-
.../OverseerCollectionConfigSetProcessor.java | 17 +-
.../cloud/OverseerCollectionMessageHandler.java | 399 +++-
.../cloud/OverseerConfigSetMessageHandler.java | 42 +-
.../solr/cloud/OverseerMessageHandler.java | 33 +-
.../solr/cloud/OverseerTaskProcessor.java | 156 +-
.../apache/solr/cloud/OverseerTaskQueue.java | 73 +-
.../org/apache/solr/cloud/RecoveryStrategy.java | 11 +-
.../solr/cloud/SizeLimitedDistributedMap.java | 2 -
.../org/apache/solr/cloud/SyncStrategy.java | 2 +-
.../src/java/org/apache/solr/cloud/ZkCLI.java | 63 +-
.../org/apache/solr/cloud/ZkController.java | 136 +-
.../apache/solr/cloud/ZkSolrResourceLoader.java | 41 +-
.../cloud/overseer/ClusterStateMutator.java | 62 +-
.../solr/cloud/overseer/CollectionMutator.java | 6 +-
.../apache/solr/cloud/overseer/NodeMutator.java | 17 +-
.../solr/cloud/overseer/OverseerAction.java | 2 -
.../solr/cloud/overseer/ReplicaMutator.java | 38 +-
.../solr/cloud/overseer/SliceMutator.java | 41 +-
.../solr/cloud/overseer/ZkStateWriter.java | 14 +-
.../apache/solr/cloud/rule/RemoteCallback.java | 2 +-
.../apache/solr/cloud/rule/ReplicaAssigner.java | 6 +-
.../apache/solr/cloud/rule/SnitchContext.java | 3 +-
.../org/apache/solr/core/BlobRepository.java | 220 ++-
.../solr/core/CachingDirectoryFactory.java | 6 +-
.../src/java/org/apache/solr/core/Config.java | 2 +-
.../org/apache/solr/core/ConfigOverlay.java | 4 -
.../org/apache/solr/core/ConfigSetService.java | 1 -
.../org/apache/solr/core/CoreContainer.java | 6 +-
.../org/apache/solr/core/DirectoryFactory.java | 25 +
.../apache/solr/core/HdfsDirectoryFactory.java | 33 +-
.../java/org/apache/solr/core/InitParams.java | 4 +-
.../org/apache/solr/core/JmxMonitoredMap.java | 23 +-
.../java/org/apache/solr/core/PluginBag.java | 35 +-
.../java/org/apache/solr/core/PluginInfo.java | 16 +-
.../apache/solr/core/SchemaCodecFactory.java | 6 +-
.../solr/core/SimpleFSDirectoryFactory.java | 1 -
.../java/org/apache/solr/core/SolrConfig.java | 6 +-
.../src/java/org/apache/solr/core/SolrCore.java | 90 +-
.../java/org/apache/solr/core/SolrCores.java | 13 -
.../apache/solr/core/SolrDeletionPolicy.java | 3 +-
.../apache/solr/core/SolrInfoMBeanWrapper.java | 62 +
.../java/org/apache/solr/core/package-info.java | 2 +-
.../handler/AnalysisRequestHandlerBase.java | 4 +-
.../solr/handler/CdcrReplicatorManager.java | 18 +-
.../apache/solr/handler/CdcrRequestHandler.java | 2 +-
.../solr/handler/CdcrUpdateLogSynchronizer.java | 6 +-
.../solr/handler/ContentStreamHandlerBase.java | 1 -
.../org/apache/solr/handler/GraphHandler.java | 281 +++
.../org/apache/solr/handler/IndexFetcher.java | 52 +-
.../solr/handler/MoreLikeThisHandler.java | 2 -
.../solr/handler/NestedRequestHandler.java | 4 +-
.../apache/solr/handler/ReplicationHandler.java | 14 +-
.../apache/solr/handler/RequestHandlerBase.java | 35 +-
.../org/apache/solr/handler/RestoreCore.java | 6 +-
.../org/apache/solr/handler/SQLHandler.java | 133 +-
.../org/apache/solr/handler/SchemaHandler.java | 40 +-
.../org/apache/solr/handler/SnapShooter.java | 92 +-
.../apache/solr/handler/SolrConfigHandler.java | 2 +-
.../solr/handler/StandardRequestHandler.java | 2 +-
.../org/apache/solr/handler/StreamHandler.java | 80 +-
.../solr/handler/admin/ClusterStatus.java | 14 +-
.../solr/handler/admin/CollectionsHandler.java | 104 +-
.../solr/handler/admin/CoreAdminHandler.java | 21 +-
.../solr/handler/admin/CoreAdminOperation.java | 111 +-
.../handler/admin/ShowFileRequestHandler.java | 2 -
.../handler/admin/SolrInfoMBeanHandler.java | 1 -
.../solr/handler/component/DebugComponent.java | 5 +
.../solr/handler/component/ExpandComponent.java | 24 +-
.../solr/handler/component/FacetComponent.java | 57 +-
.../handler/component/HighlightComponent.java | 1 -
.../handler/component/HttpShardHandler.java | 5 +-
.../component/HttpShardHandlerFactory.java | 5 +-
.../component/IterativeMergeStrategy.java | 7 +-
.../component/MoreLikeThisComponent.java | 19 +-
.../solr/handler/component/QueryComponent.java | 13 +-
.../handler/component/RealTimeGetComponent.java | 3 +-
.../handler/component/ShardHandlerFactory.java | 2 +-
.../handler/component/SpellCheckComponent.java | 2 -
.../handler/component/SpellCheckMergeData.java | 1 -
.../solr/handler/component/StatsField.java | 2 +-
.../handler/component/StatsValuesFactory.java | 7 +-
.../solr/handler/component/TermsComponent.java | 1 -
.../apache/solr/handler/loader/JsonLoader.java | 40 +-
.../solr/highlight/DefaultSolrHighlighter.java | 103 +-
.../solr/highlight/PostingsSolrHighlighter.java | 1 -
.../apache/solr/highlight/SolrHighlighter.java | 2 +-
.../org/apache/solr/highlight/package-info.java | 2 +-
.../solr/index/SlowCompositeReaderWrapper.java | 300 +++
.../apache/solr/index/SortingMergePolicy.java | 44 +
.../solr/index/SortingMergePolicyFactory.java | 1 -
.../org/apache/solr/internal/csv/CSVParser.java | 4 +-
.../apache/solr/internal/csv/CSVPrinter.java | 2 -
.../internal/csv/ExtendedBufferedReader.java | 2 +-
.../org/apache/solr/logging/LoggerInfo.java | 2 +-
.../org/apache/solr/parser/QueryParser.java | 6 -
.../solr/parser/QueryParserTokenManager.java | 13 -
.../apache/solr/parser/SolrQueryParserBase.java | 1 -
.../org/apache/solr/query/SolrRangeQuery.java | 2 +-
.../apache/solr/request/DocValuesFacets.java | 12 +-
.../org/apache/solr/request/SimpleFacets.java | 175 +-
.../apache/solr/request/SolrRequestInfo.java | 1 -
.../org/apache/solr/request/json/JSONUtil.java | 6 -
.../apache/solr/request/json/ObjectUtil.java | 3 -
.../response/BinaryQueryResponseWriter.java | 2 +-
.../solr/response/BinaryResponseWriter.java | 6 +-
.../solr/response/GeoJSONResponseWriter.java | 1 -
.../solr/response/GraphMLResponseWriter.java | 167 ++
.../solr/response/JSONResponseWriter.java | 5 -
.../response/PHPSerializedResponseWriter.java | 1 -
.../solr/response/QueryResponseWriter.java | 2 +-
.../solr/response/QueryResponseWriterUtil.java | 2 +-
.../org/apache/solr/response/ResultContext.java | 3 +-
.../apache/solr/response/SchemaXmlWriter.java | 27 +-
.../solr/response/SortingResponseWriter.java | 126 +-
.../solr/response/TextResponseWriter.java | 7 +
.../org/apache/solr/response/package-info.java | 2 +-
.../transform/ExcludedMarkerFactory.java | 2 -
.../transform/SubQueryAugmenterFactory.java | 360 ++++
.../response/transform/TransformerFactory.java | 1 +
.../java/org/apache/solr/rest/RestManager.java | 8 +-
.../org/apache/solr/rest/SolrSchemaRestApi.java | 2 -
.../schema/analysis/ManagedWordSetResource.java | 1 -
.../solr/schema/AbstractSpatialFieldType.java | 79 +-
.../org/apache/solr/schema/BinaryField.java | 2 +-
.../java/org/apache/solr/schema/BoolField.java | 49 +-
.../org/apache/solr/schema/CollationField.java | 4 +-
.../org/apache/solr/schema/CurrencyField.java | 4 +-
.../org/apache/solr/schema/DateRangeField.java | 40 +-
.../java/org/apache/solr/schema/EnumField.java | 14 +-
.../solr/schema/ExchangeRateProvider.java | 2 +-
.../apache/solr/schema/ExternalFileField.java | 8 +-
.../java/org/apache/solr/schema/FieldType.java | 2 +-
.../org/apache/solr/schema/GeoHashField.java | 10 +-
.../org/apache/solr/schema/IndexSchema.java | 211 +-
.../solr/schema/JsonPreAnalyzedParser.java | 1 -
.../java/org/apache/solr/schema/LatLonType.java | 14 +-
.../apache/solr/schema/ManagedIndexSchema.java | 2 +-
.../solr/schema/ManagedIndexSchemaFactory.java | 2 +-
.../java/org/apache/solr/schema/PointType.java | 4 +-
.../apache/solr/schema/PreAnalyzedField.java | 4 +-
.../org/apache/solr/schema/RandomSortField.java | 4 +-
.../schema/RptWithGeometrySpatialField.java | 11 +-
.../org/apache/solr/schema/SchemaManager.java | 99 +-
.../java/org/apache/solr/schema/StrField.java | 2 +-
.../java/org/apache/solr/schema/TextField.java | 14 +-
.../org/apache/solr/schema/TrieDoubleField.java | 2 +-
.../java/org/apache/solr/schema/TrieField.java | 6 +-
.../org/apache/solr/schema/TrieFloatField.java | 2 +-
.../org/apache/solr/schema/TrieIntField.java | 2 +-
.../org/apache/solr/schema/TrieLongField.java | 2 +-
.../java/org/apache/solr/schema/UUIDField.java | 2 +-
.../apache/solr/schema/ZkIndexSchemaReader.java | 56 +-
.../java/org/apache/solr/search/BitDocSet.java | 16 +-
.../solr/search/CollapsingQParserPlugin.java | 48 +-
.../java/org/apache/solr/search/CursorMark.java | 2 +-
.../apache/solr/search/DisMaxQParserPlugin.java | 1 -
.../src/java/org/apache/solr/search/DocSet.java | 2 +-
.../java/org/apache/solr/search/DocSetBase.java | 19 +-
.../org/apache/solr/search/DocSetBuilder.java | 5 +-
.../org/apache/solr/search/DocSetCollector.java | 84 +-
.../java/org/apache/solr/search/DocSlice.java | 1 -
.../apache/solr/search/ExportQParserPlugin.java | 25 +-
.../solr/search/ExtendedDismaxQParser.java | 37 +-
.../search/ExtendedDismaxQParserPlugin.java | 1 -
.../apache/solr/search/ExtendedQueryBase.java | 2 +-
.../apache/solr/search/FieldQParserPlugin.java | 1 -
.../solr/search/FunctionQParserPlugin.java | 1 -
.../solr/search/FunctionRangeQParserPlugin.java | 1 -
.../solr/search/GraphTermsQParserPlugin.java | 311 +++
.../apache/solr/search/HashQParserPlugin.java | 38 +-
.../java/org/apache/solr/search/Insanity.java | 6 +-
.../apache/solr/search/JoinQParserPlugin.java | 27 +-
.../java/org/apache/solr/search/LFUCache.java | 10 +-
.../java/org/apache/solr/search/LRUCache.java | 1 -
.../apache/solr/search/LuceneQParserPlugin.java | 2 -
.../solr/search/OldLuceneQParserPlugin.java | 1 -
.../apache/solr/search/PrefixQParserPlugin.java | 3 -
.../java/org/apache/solr/search/QParser.java | 1 -
.../org/apache/solr/search/QParserPlugin.java | 1 +
.../org/apache/solr/search/QueryContext.java | 1 -
.../org/apache/solr/search/QueryParsing.java | 3 -
.../org/apache/solr/search/QueryResultKey.java | 8 +-
.../apache/solr/search/QueryWrapperFilter.java | 12 +-
.../apache/solr/search/RawQParserPlugin.java | 1 -
.../apache/solr/search/ReRankQParserPlugin.java | 14 +-
.../apache/solr/search/SimpleQParserPlugin.java | 1 -
.../solr/search/SolrConstantScoreQuery.java | 11 +-
.../apache/solr/search/SolrFieldCacheMBean.java | 19 +-
.../apache/solr/search/SolrIndexSearcher.java | 63 +-
.../org/apache/solr/search/SolrQueryParser.java | 18 -
.../apache/solr/search/SolrReturnFields.java | 3 +-
.../org/apache/solr/search/SortedIntDocSet.java | 16 +-
.../solr/search/SpatialBoxQParserPlugin.java | 1 -
.../solr/search/SpatialFilterQParserPlugin.java | 1 -
.../solr/search/SurroundQParserPlugin.java | 1 -
.../apache/solr/search/TermQParserPlugin.java | 1 -
.../apache/solr/search/TermsQParserPlugin.java | 1 -
.../apache/solr/search/ValueSourceParser.java | 24 +-
.../apache/solr/search/XmlQParserPlugin.java | 1 -
.../solr/search/facet/AggValueSource.java | 1 -
.../org/apache/solr/search/facet/BlockJoin.java | 1 -
.../solr/search/facet/FacetDebugInfo.java | 6 +-
.../apache/solr/search/facet/FacetField.java | 1 -
.../facet/FacetFieldProcessorNumeric.java | 1 -
.../apache/solr/search/facet/FacetRequest.java | 2 -
.../org/apache/solr/search/facet/FieldUtil.java | 2 -
.../org/apache/solr/search/facet/HLLAgg.java | 5 -
.../apache/solr/search/facet/LegacyFacet.java | 1 -
.../solr/search/facet/SimpleAggValueSource.java | 3 -
.../org/apache/solr/search/facet/SlotAcc.java | 8 -
.../solr/search/facet/StrAggValueSource.java | 7 -
.../solr/search/facet/UnInvertedField.java | 5 +-
.../solr/search/facet/UniqueMultiDvSlotAcc.java | 86 +
.../search/facet/UniqueMultivaluedSlotAcc.java | 69 +
.../search/facet/UniqueSinglevaluedSlotAcc.java | 81 +
.../apache/solr/search/facet/UniqueSlotAcc.java | 165 --
.../solr/search/function/FileFloatSource.java | 3 +-
.../solr/search/function/OrdFieldSource.java | 6 +-
.../search/function/ReverseOrdFieldSource.java | 6 +-
.../apache/solr/search/grouping/Command.java | 2 -
.../TopGroupsShardRequestFactory.java | 2 +-
.../TopGroupsShardResponseProcessor.java | 2 +-
.../SearchGroupsResultTransformer.java | 2 -
.../TopGroupsResultTransformer.java | 2 +-
.../EndResultTransformer.java | 2 +-
.../solr/search/join/BlockJoinFacetFilter.java | 17 +
.../search/join/BlockJoinParentQParser.java | 11 +-
.../join/BlockJoinParentQParserPlugin.java | 1 -
.../solr/search/join/GraphQParserPlugin.java | 1 -
.../org/apache/solr/search/join/GraphQuery.java | 67 +-
.../solr/search/join/GraphQueryParser.java | 1 -
.../search/join/ScoreJoinQParserPlugin.java | 43 +-
.../apache/solr/search/mlt/CloudMLTQParser.java | 19 +-
.../solr/search/mlt/MLTQParserPlugin.java | 1 -
.../SweetSpotSimilarityFactory.java | 1 -
.../apache/solr/search/stats/LRUStatsCache.java | 5 -
.../solr/security/AuthenticationPlugin.java | 3 +-
.../solr/security/AuthorizationContext.java | 1 -
.../security/AutorizationEditOperation.java | 2 -
.../apache/solr/security/KerberosPlugin.java | 1 -
.../solr/security/PKIAuthenticationPlugin.java | 2 +-
.../org/apache/solr/security/Permission.java | 49 +-
.../solr/security/PermissionNameProvider.java | 2 +
.../security/RuleBasedAuthorizationPlugin.java | 11 +-
.../solr/servlet/DirectSolrConnection.java | 6 -
.../org/apache/solr/servlet/HttpSolrCall.java | 34 +-
.../apache/solr/servlet/LoadAdminUiServlet.java | 9 +-
.../solr/servlet/ServletInputStreamWrapper.java | 105 +
.../servlet/ServletOutputStreamWrapper.java | 140 ++
.../apache/solr/servlet/SolrDispatchFilter.java | 92 +
.../apache/solr/servlet/SolrRequestParsers.java | 41 +-
.../solr/servlet/cache/HttpCacheHeaderUtil.java | 2 -
.../spelling/AbstractLuceneSpellChecker.java | 6 -
.../solr/spelling/DirectSolrSpellChecker.java | 6 -
.../solr/spelling/IndexBasedSpellChecker.java | 2 +-
.../solr/spelling/SpellCheckCollator.java | 3 +
.../solr/store/blockcache/BlockCache.java | 1 -
.../apache/solr/store/blockcache/Metrics.java | 1 -
.../apache/solr/uninverting/DocTermOrds.java | 887 +++++++++
.../org/apache/solr/uninverting/FieldCache.java | 466 +++++
.../apache/solr/uninverting/FieldCacheImpl.java | 1085 +++++++++++
.../uninverting/FieldCacheSanityChecker.java | 425 ++++
.../solr/uninverting/UninvertingReader.java | 391 ++++
.../apache/solr/uninverting/package-info.java | 21 +
.../org/apache/solr/update/CdcrUpdateLog.java | 2 +-
.../solr/update/DefaultSolrCoreState.java | 4 +-
.../solr/update/DeleteByQueryWrapper.java | 30 +-
.../apache/solr/update/DeleteUpdateCommand.java | 2 -
.../apache/solr/update/SolrCmdDistributor.java | 3 +-
.../org/apache/solr/update/SolrCoreState.java | 2 +-
.../org/apache/solr/update/SolrIndexConfig.java | 17 +-
.../solr/update/StreamingSolrClients.java | 66 +-
.../apache/solr/update/UpdateShardHandler.java | 4 +-
.../org/apache/solr/update/VersionInfo.java | 2 +-
...tractDefaultValueUpdateProcessorFactory.java | 2 -
...aluesOrNoneFieldMutatingUpdateProcessor.java | 2 +-
.../ClassificationUpdateProcessor.java | 2 +-
.../ClassificationUpdateProcessorFactory.java | 2 +-
.../ConcatFieldUpdateProcessorFactory.java | 2 +-
.../CountFieldValuesUpdateProcessorFactory.java | 10 -
.../DefaultValueUpdateProcessorFactory.java | 4 -
.../processor/DistributedUpdateProcessor.java | 9 +-
.../DistributingUpdateProcessorFactory.java | 2 -
...BasedVersionConstraintsProcessorFactory.java | 4 +-
.../DocExpirationUpdateProcessorFactory.java | 16 +-
.../FieldMutatingUpdateProcessorFactory.java | 3 +-
.../FieldValueSubsetUpdateProcessorFactory.java | 2 -
.../FirstFieldValueUpdateProcessorFactory.java | 1 -
.../LastFieldValueUpdateProcessorFactory.java | 1 -
.../solr/update/processor/MD5Signature.java | 1 -
.../MaxFieldValueUpdateProcessorFactory.java | 1 -
.../MinFieldValueUpdateProcessorFactory.java | 1 -
.../NoOpDistributingUpdateProcessorFactory.java | 2 -
.../ParseDateFieldUpdateProcessorFactory.java | 2 -
.../update/processor/RegexpBoostProcessor.java | 1 -
.../processor/RunUpdateProcessorFactory.java | 3 +-
.../TimestampUpdateProcessorFactory.java | 7 -
.../processor/TolerantUpdateProcessor.java | 22 +-
.../TolerantUpdateProcessorFactory.java | 1 -
.../UniqFieldsUpdateProcessorFactory.java | 9 -
.../processor/UpdateRequestProcessorChain.java | 3 +-
.../org/apache/solr/util/CommandOperation.java | 3 -
.../org/apache/solr/util/DateMathParser.java | 168 +-
.../org/apache/solr/util/PivotListEntry.java | 4 +-
.../org/apache/solr/util/SimplePostTool.java | 12 +-
.../src/java/org/apache/solr/util/SolrCLI.java | 64 +-
.../org/apache/solr/util/SolrLogLayout.java | 10 +-
.../org/apache/solr/util/SolrPluginUtils.java | 26 +-
.../org/apache/solr/util/TestInjection.java | 28 +-
.../org/apache/solr/util/VersionedFile.java | 4 +-
.../solr/util/xslt/TransformerProvider.java | 1 -
solr/core/src/resources/ImplicitPlugins.json | 7 +
.../solr/analysisconfs/analysis-err-schema.xml | 31 +-
.../bad-schema-analyzer-class-and-nested.xml | 34 +-
.../bad-schema-bogus-analysis-parameters.xml | 16 +-
.../conf/bad-schema-bogus-field-parameters.xml | 8 +-
.../bad-schema-codec-global-vs-ft-mismatch.xml | 22 +-
.../bad-schema-currency-dynamic-multivalued.xml | 21 +-
...bad-schema-currency-ft-bogus-code-in-xml.xml | 26 +-
...ad-schema-currency-ft-bogus-default-code.xml | 26 +-
.../conf/bad-schema-currency-ft-multivalued.xml | 18 +-
.../conf/bad-schema-currency-ft-oer-norates.xml | 24 +-
.../conf/bad-schema-currency-multivalued.xml | 20 +-
.../conf/bad-schema-dup-dynamicField.xml | 27 +-
.../collection1/conf/bad-schema-dup-field.xml | 28 +-
.../conf/bad-schema-dup-fieldType.xml | 40 +-
.../bad-schema-dynamicfield-default-val.xml | 18 +-
.../conf/bad-schema-dynamicfield-required.xml | 18 +-
.../conf/bad-schema-external-filefield.xml | 10 +-
.../collection1/conf/bad-schema-init-error.xml | 8 +-
...asterisk-copyfield-dest-should-fail-test.xml | 8 +-
...terisk-copyfield-source-should-fail-test.xml | 8 +-
...asterisk-copyfield-dest-should-fail-test.xml | 8 +-
...terisk-copyfield-source-should-fail-test.xml | 8 +-
...source-matching-nothing-should-fail-test.xml | 13 +-
.../conf/bad-schema-nontext-analyzer.xml | 25 +-
.../conf/bad-schema-not-indexed-but-norms.xml | 24 +-
.../conf/bad-schema-not-indexed-but-pos.xml | 24 +-
.../conf/bad-schema-not-indexed-but-tf.xml | 23 +-
.../conf/bad-schema-omit-tf-but-not-pos.xml | 25 +-
.../bad-schema-sim-global-vs-ft-mismatch.xml | 32 +-
.../conf/bad-schema-sweetspot-both-tf.xml | 50 +-
.../bad-schema-sweetspot-partial-baseline.xml | 32 +-
.../bad-schema-sweetspot-partial-hyperbolic.xml | 46 +-
.../conf/bad-schema-sweetspot-partial-norms.xml | 44 +-
.../bad-schema-uniquekey-is-copyfield-dest.xml | 20 +-
.../conf/bad-schema-uniquekey-multivalued.xml | 16 +-
.../conf/bad-schema-uniquekey-uses-default.xml | 16 +-
.../conf/bad-schema-unsupported-docValues.xml | 10 +-
.../conf/schema-HighlighterMaxOffsetTest.xml | 122 +-
...chema-add-schema-fields-update-processor.xml | 22 +-
.../solr/collection1/conf/schema-behavior.xml | 218 ++-
.../collection1/conf/schema-binaryfield.xml | 78 +-
.../conf/schema-blockjoinfacetcomponent.xml | 41 +-
.../solr/collection1/conf/schema-bm25.xml | 48 +-
.../collection1/conf/schema-charfilters.xml | 52 +-
...a-class-name-shortening-on-serialization.xml | 42 +-
.../solr/collection1/conf/schema-collate-dv.xml | 56 +-
.../solr/collection1/conf/schema-collate.xml | 55 +-
.../collection1/conf/schema-complex-phrase.xml | 20 +-
.../collection1/conf/schema-copyfield-test.xml | 841 ++++----
.../collection1/conf/schema-custom-field.xml | 40 +-
.../collection1/conf/schema-customfield.xml | 78 +-
.../solr/collection1/conf/schema-dfi.xml | 51 +-
.../solr/collection1/conf/schema-dfr.xml | 82 +-
.../conf/schema-distrib-interval-faceting.xml | 113 +-
.../conf/schema-distributed-missing-sort.xml | 87 +-
.../solr/collection1/conf/schema-docValues.xml | 80 +-
.../conf/schema-docValuesFaceting.xml | 93 +-
.../collection1/conf/schema-docValuesJoin.xml | 135 +-
.../conf/schema-docValuesMissing.xml | 154 +-
.../collection1/conf/schema-docValuesMulti.xml | 43 +-
.../solr/collection1/conf/schema-eff.xml | 25 +-
.../solr/collection1/conf/schema-enums.xml | 38 +-
.../conf/schema-field-sort-values.xml | 32 +-
.../solr/collection1/conf/schema-folding.xml | 482 +++--
.../solr/collection1/conf/schema-hash.xml | 1070 ++++++-----
.../solr/collection1/conf/schema-ib.xml | 57 +-
.../conf/schema-id-and-version-fields-only.xml | 12 +-
.../collection1/conf/schema-lmdirichlet.xml | 43 +-
.../collection1/conf/schema-lmjelinekmercer.xml | 43 +-
.../conf/schema-luceneMatchVersion.xml | 22 +-
.../conf/schema-minimal-atomic-stress.xml | 38 +
.../solr/collection1/conf/schema-minimal.xml | 6 +-
.../conf/schema-not-required-unique-key.xml | 33 +-
.../solr/collection1/conf/schema-numeric.xml | 84 +-
...ma-one-field-no-dynamic-field-unique-key.xml | 14 +-
.../conf/schema-one-field-no-dynamic-field.xml | 14 +-
.../collection1/conf/schema-phrasesuggest.xml | 34 +-
.../conf/schema-postingshighlight.xml | 48 +-
.../collection1/conf/schema-preanalyzed.xml | 43 +-
.../collection1/conf/schema-replication1.xml | 15 +-
.../collection1/conf/schema-replication2.xml | 20 +-
.../collection1/conf/schema-required-fields.xml | 737 +++----
.../conf/schema-rest-lucene-match-version.xml | 38 +-
.../solr/collection1/conf/schema-rest.xml | 1205 ++++++------
.../solr/collection1/conf/schema-reversed.xml | 118 +-
.../solr/collection1/conf/schema-sim.xml | 46 +-
.../collection1/conf/schema-simpleqpplugin.xml | 74 +-
.../conf/schema-single-dynamic-copy-field.xml | 1152 +++++------
.../collection1/conf/schema-sortingresponse.xml | 67 +-
.../solr/collection1/conf/schema-sorts.xml | 535 +++---
.../solr/collection1/conf/schema-spatial.xml | 81 +-
.../collection1/conf/schema-spellchecker.xml | 50 +-
.../solr/collection1/conf/schema-sql.xml | 1087 +++++------
.../solr/collection1/conf/schema-stop-keep.xml | 51 +-
.../solr/collection1/conf/schema-sweetspot.xml | 93 +-
.../conf/schema-synonym-tokenizer.xml | 35 +-
.../solr/collection1/conf/schema-tiny.xml | 14 +-
.../solr/collection1/conf/schema-trie.xml | 526 ++---
.../solr/collection1/conf/schema-version-dv.xml | 30 +-
.../collection1/conf/schema-version-indexed.xml | 30 +-
.../solr/collection1/conf/schema-xinclude.xml | 12 +-
.../test-files/solr/collection1/conf/schema.xml | 1264 ++++++------
.../solr/collection1/conf/schema11.xml | 2 +-
.../solr/collection1/conf/schema12.xml | 1087 ++++++-----
.../solr/collection1/conf/schema15.xml | 1076 ++++++-----
.../solr/collection1/conf/schema_codec.xml | 54 +-
.../solr/collection1/conf/schema_latest.xml | 1324 ++++++-------
.../solr/collection1/conf/schemasurround.xml | 1075 ++++++-----
.../configsets/bad-mergepolicy/conf/schema.xml | 6 +-
.../configsets/cloud-dynamic/conf/schema.xml | 275 +++
.../cloud-dynamic/conf/solrconfig.xml | 48 +
.../cloud-managed/conf/managed-schema | 27 +
.../cloud-managed/conf/solrconfig.xml | 51 +
.../configsets/cloud-minimal/conf/schema.xml | 8 +-
.../configset-1/conf/schema-minimal.xml | 25 -
.../configset-1/conf/solrconfig-minimal.xml | 56 -
.../solr/configsets/configset-2/conf/schema.xml | 12 +-
.../solr/configsets/doc-expiry/conf/schema.xml | 271 +++
.../solrconfig.snippet.randomindexconfig.xml | 47 +
.../configsets/doc-expiry/conf/solrconfig.xml | 96 +
.../exitable-directory/conf/schema.xml | 28 +
.../exitable-directory/conf/solrconfig.xml | 117 ++
.../solr/configsets/minimal/conf/schema.xml | 6 +-
.../solr/configsets/resource-sharing/schema.xml | 21 +
.../configsets/resource-sharing/solrconfig.xml | 51 +
.../org/apache/solr/BasicFunctionalityTest.java | 2 +-
.../solr/DistributedIntervalFacetingTest.java | 3 +-
.../test/org/apache/solr/MinimalSchemaTest.java | 1 +
.../test/org/apache/solr/SolrInfoMBeanTest.java | 1 -
.../apache/solr/TestDistributedGrouping.java | 34 +-
.../org/apache/solr/TestDistributedSearch.java | 2 +
.../solr/TestSimpleTrackingShardHandler.java | 1 -
.../org/apache/solr/TestTolerantSearch.java | 6 +-
.../core/src/test/org/apache/solr/TestTrie.java | 4 +-
.../PathHierarchyTokenizerFactoryTest.java | 3 -
.../solr/client/solrj/ConnectionReuseTest.java | 84 +-
.../solrj/embedded/TestJettySolrRunner.java | 3 +-
.../apache/solr/cloud/AliasIntegrationTest.java | 16 +-
.../test/org/apache/solr/cloud/AssignTest.java | 2 +-
.../solr/cloud/AsyncMigrateRouteKeyTest.java | 2 +-
.../solr/cloud/BaseCdcrDistributedZkTest.java | 6 +-
.../solr/cloud/BasicDistributedZk2Test.java | 9 +-
.../solr/cloud/BasicDistributedZkTest.java | 14 +-
.../cloud/ChaosMonkeyNothingIsSafeTest.java | 46 +-
.../apache/solr/cloud/CleanupOldIndexTest.java | 105 +-
.../cloud/CloudExitableDirectoryReaderTest.java | 47 +-
.../org/apache/solr/cloud/ClusterStateTest.java | 11 +-
.../apache/solr/cloud/CollectionReloadTest.java | 85 +-
.../cloud/CollectionsAPIDistributedZkTest.java | 49 +-
.../solr/cloud/CollectionsAPISolrJTest.java | 9 +-
...ConcurrentDeleteAndCreateCollectionTest.java | 7 +-
.../apache/solr/cloud/ConfigSetsAPITest.java | 39 +-
.../solr/cloud/ConnectionManagerTest.java | 5 -
.../solr/cloud/CreateCollectionCleanupTest.java | 84 +
.../apache/solr/cloud/CustomCollectionTest.java | 12 +-
.../solr/cloud/DeleteInactiveReplicaTest.java | 3 +-
.../DeleteLastCustomShardedReplicaTest.java | 1 -
.../apache/solr/cloud/DeleteReplicaTest.java | 4 +-
.../org/apache/solr/cloud/DeleteShardTest.java | 6 +-
.../solr/cloud/DistribCursorPagingTest.java | 15 +-
...DistribDocExpirationUpdateProcessorTest.java | 142 +-
.../cloud/DistribJoinFromCollectionTest.java | 144 +-
.../apache/solr/cloud/DistributedQueueTest.java | 47 +-
.../solr/cloud/DistributedVersionInfoTest.java | 126 +-
.../org/apache/solr/cloud/ForceLeaderTest.java | 2 +-
.../cloud/FullSolrCloudDistribCmdsTest.java | 2 +-
.../apache/solr/cloud/HttpPartitionTest.java | 19 +-
.../LeaderInitiatedRecoveryOnCommitTest.java | 2 +-
...aderInitiatedRecoveryOnShardRestartTest.java | 2 +-
.../apache/solr/cloud/MigrateRouteKeyTest.java | 4 +-
.../apache/solr/cloud/MultiThreadedOCPTest.java | 88 +-
...verseerCollectionConfigSetProcessorTest.java | 220 +--
.../solr/cloud/OverseerTaskQueueTest.java | 66 +
.../org/apache/solr/cloud/OverseerTest.java | 9 +-
.../solr/cloud/RecoveryAfterSoftCommitTest.java | 1 -
.../apache/solr/cloud/RemoteQueryErrorTest.java | 2 +-
.../solr/cloud/ReplicationFactorTest.java | 3 +-
.../org/apache/solr/cloud/SSLMigrationTest.java | 5 +-
.../org/apache/solr/cloud/ShardSplitTest.java | 33 +-
.../SharedFSAutoReplicaFailoverUtilsTest.java | 99 +-
.../cloud/SimpleCollectionCreateDeleteTest.java | 2 -
.../apache/solr/cloud/SolrCloudExampleTest.java | 6 +-
.../org/apache/solr/cloud/SyncSliceTest.java | 4 +-
.../solr/cloud/TestCloudBackupRestore.java | 219 +++
.../solr/cloud/TestCloudDeleteByQuery.java | 17 +-
.../apache/solr/cloud/TestCloudInspectUtil.java | 2 -
.../apache/solr/cloud/TestCloudPivotFacet.java | 11 +-
.../apache/solr/cloud/TestCollectionAPI.java | 1 -
.../apache/solr/cloud/TestConfigSetsAPI.java | 21 +-
.../cloud/TestConfigSetsAPIExclusivity.java | 5 +-
.../solr/cloud/TestConfigSetsAPIZkFailure.java | 5 +-
.../org/apache/solr/cloud/TestCryptoKeys.java | 10 +-
.../org/apache/solr/cloud/TestLockTree.java | 123 ++
.../solr/cloud/TestMiniSolrCloudClusterSSL.java | 335 +++-
.../cloud/TestOnReconnectListenerSupport.java | 155 ++
.../cloud/TestRandomRequestDistribution.java | 6 +-
.../apache/solr/cloud/TestRebalanceLeaders.java | 18 +-
.../cloud/TestRequestStatusCollectionAPI.java | 2 +-
.../apache/solr/cloud/TestSSLRandomization.java | 254 +++
.../TestStressCloudBlindAtomicUpdates.java | 477 +++++
.../apache/solr/cloud/TestStressLiveNodes.java | 255 +++
.../cloud/TestTolerantUpdateProcessorCloud.java | 38 +-
.../TestTolerantUpdateProcessorRandomCloud.java | 10 +-
.../solr/cloud/UnloadDistributedZkTest.java | 30 +-
.../test/org/apache/solr/cloud/ZkCLITest.java | 94 +-
.../org/apache/solr/cloud/ZkControllerTest.java | 136 +-
.../solr/cloud/hdfs/HdfsThreadLeakTest.java | 2 -
.../HdfsWriteToMultipleCollectionsTest.java | 21 +-
.../apache/solr/cloud/hdfs/StressHdfsTest.java | 19 +-
.../solr/cloud/overseer/ZkStateReaderTest.java | 81 +-
.../solr/cloud/overseer/ZkStateWriterTest.java | 8 +-
.../solr/core/BlobRepositoryCloudTest.java | 112 ++
.../solr/core/BlobRepositoryMockingTest.java | 163 ++
.../solr/core/CountUsageValueSourceParser.java | 2 +-
.../solr/core/ExitableDirectoryReaderTest.java | 2 +-
.../solr/core/HdfsDirectoryFactoryTest.java | 5 -
.../org/apache/solr/core/MockInfoMBean.java | 1 -
.../solr/core/OpenCloseCoreStressTest.java | 4 +-
.../apache/solr/core/QueryResultKeyTest.java | 4 +-
.../test/org/apache/solr/core/SolrCoreTest.java | 103 +-
.../org/apache/solr/core/TestCodecSupport.java | 5 -
.../apache/solr/core/TestDynamicLoading.java | 14 +-
.../apache/solr/core/TestInfoStreamLogging.java | 1 -
.../apache/solr/core/TestJmxMonitoredMap.java | 40 +-
.../org/apache/solr/core/TestLazyCores.java | 2 +-
.../apache/solr/core/TestMergePolicyConfig.java | 2 +-
.../apache/solr/core/TestSolrConfigHandler.java | 26 +-
.../apache/solr/handler/CheckBackupStatus.java | 2 +-
.../FieldAnalysisRequestHandlerTest.java | 4 -
.../org/apache/solr/handler/JsonLoaderTest.java | 68 +-
.../handler/StandardRequestHandlerTest.java | 8 -
.../apache/solr/handler/TestBlobHandler.java | 1 -
.../org/apache/solr/handler/TestCSVLoader.java | 1 -
.../apache/solr/handler/TestConfigReload.java | 8 +-
.../solr/handler/TestReplicationHandler.java | 110 +-
.../handler/TestReplicationHandlerBackup.java | 7 +-
.../apache/solr/handler/TestReqParamsAPI.java | 8 +-
.../apache/solr/handler/TestRestoreCore.java | 45 +-
.../org/apache/solr/handler/TestSQLHandler.java | 577 +++---
.../handler/TestSolrConfigHandlerCloud.java | 8 +-
.../TestSolrConfigHandlerConcurrent.java | 9 +-
.../handler/ThrowErrorOnInitRequestHandler.java | 1 -
.../handler/admin/CoreAdminHandlerTest.java | 4 +-
.../admin/CoreMergeIndexesAdminHandlerTest.java | 3 -
.../DistributedDebugComponentTest.java | 6 +-
.../DistributedFacetPivotLargeTest.java | 2 +-
.../component/DistributedMLTComponentTest.java | 1 -
...stributedQueryComponentOptimizationTest.java | 236 ++-
.../DistributedQueryElevationComponentTest.java | 3 +-
.../component/ResourceSharingTestComponent.java | 149 ++
.../handler/component/SearchHandlerTest.java | 5 -
...estDistributedStatsComponentCardinality.java | 2 +
.../handler/component/TestExpandComponent.java | 1 -
.../handler/component/TestPivotHelperCode.java | 3 -
.../highlight/HighlighterMaxOffsetTest.java | 1 -
.../apache/solr/highlight/HighlighterTest.java | 82 +-
.../index/TestSlowCompositeReaderWrapper.java | 95 +
.../solr/internal/csv/CSVPrinterTest.java | 3 -
.../solr/internal/csv/CSVStrategyTest.java | 2 -
.../csv/ExtendedBufferedReaderTest.java | 2 -
.../org/apache/solr/request/JSONWriterTest.java | 4 -
.../apache/solr/request/SimpleFacetsTest.java | 33 +-
.../solr/request/TestBinaryResponseWriter.java | 1 -
.../apache/solr/request/TestFacetMethods.java | 207 ++
.../org/apache/solr/request/TestFaceting.java | 51 +-
.../solr/request/TestIntervalFaceting.java | 1 -
.../solr/response/TestChildDocTransformer.java | 244 ---
.../solr/response/TestCustomDocTransformer.java | 4 +-
.../response/TestGraphMLResponseWriter.java | 155 ++
.../TestPHPSerializedResponseWriter.java | 1 -
.../solr/response/TestRawResponseWriter.java | 10 +-
.../transform/TestChildDocTransformer.java | 403 ++++
.../transform/TestSubQueryTransformer.java | 571 ++++++
.../TestSubQueryTransformerCrossCore.java | 131 ++
.../TestSubQueryTransformerDistrib.java | 213 ++
.../schema/TestCopyFieldCollectionResource.java | 34 +
.../TestDynamicFieldCollectionResource.java | 24 +
.../schema/TestFieldCollectionResource.java | 51 +-
.../solr/rest/schema/TestFieldResource.java | 6 +
.../solr/schema/AbstractCurrencyFieldTest.java | 2 +-
.../apache/solr/schema/BooleanFieldTest.java | 78 +
.../solr/schema/ChangedSchemaMergeTest.java | 8 -
.../schema/CurrencyFieldOpenExchangeTest.java | 10 -
.../solr/schema/CurrencyFieldXmlFileTest.java | 9 -
.../apache/solr/schema/DateRangeFieldTest.java | 29 +
.../solr/schema/DocValuesMissingTest.java | 129 ++
.../apache/solr/schema/DocValuesMultiTest.java | 103 +-
.../org/apache/solr/schema/DocValuesTest.java | 89 +-
.../org/apache/solr/schema/EnumFieldTest.java | 1 -
.../apache/solr/schema/MyCrazyCustomField.java | 2 +-
.../org/apache/solr/schema/PolyFieldTest.java | 1 -
.../solr/schema/SpatialRPTFieldTypeTest.java | 32 +-
.../solr/schema/TestBulkSchemaConcurrent.java | 8 +-
.../TestCloudManagedSchemaConcurrent.java | 20 +-
.../apache/solr/schema/TestCloudSchemaless.java | 9 +-
.../apache/solr/schema/TestCollationField.java | 1 -
.../solr/schema/TestManagedSchemaAPI.java | 101 +
.../TrieIntPrefixActsAsRangeQueryFieldType.java | 2 +-
.../solr/search/AnalyticsMergeStrategyTest.java | 5 +-
.../apache/solr/search/AnalyticsQueryTest.java | 1 -
.../solr/search/DelayingSearchComponent.java | 1 -
.../apache/solr/search/FooQParserPlugin.java | 1 -
.../apache/solr/search/QueryEqualityTest.java | 9 +
.../apache/solr/search/QueryParsingTest.java | 8 -
.../org/apache/solr/search/RankQueryTest.java | 1 -
.../apache/solr/search/SortSpecParsingTest.java | 1 -
.../solr/search/TestCollapseQParserPlugin.java | 1 -
.../test/org/apache/solr/search/TestDocSet.java | 35 +-
.../solr/search/TestExtendedDismaxParser.java | 155 ++
.../solr/search/TestFilteredDocIdSet.java | 21 +
.../search/TestGraphTermsQParserPlugin.java | 123 ++
.../solr/search/TestHashQParserPlugin.java | 9 +-
.../org/apache/solr/search/TestLRUCache.java | 5 -
.../apache/solr/search/TestMissingGroups.java | 4 +-
.../org/apache/solr/search/TestQueryUtils.java | 2 -
.../solr/search/TestQueryWrapperFilter.java | 14 +-
.../search/TestRandomCollapseQParserPlugin.java | 7 +-
.../solr/search/TestReRankQParserPlugin.java | 1 -
.../org/apache/solr/search/TestRealTimeGet.java | 1 -
.../org/apache/solr/search/TestRecovery.java | 2 +-
.../apache/solr/search/TestRecoveryHdfs.java | 1 -
.../test/org/apache/solr/search/TestReload.java | 2 -
.../apache/solr/search/TestReloadDeadlock.java | 4 +-
.../org/apache/solr/search/TestSearchPerf.java | 1 -
.../apache/solr/search/TestSearcherReuse.java | 2 +-
.../solr/search/TestSimpleQParserPlugin.java | 3 -
.../apache/solr/search/TestSolr4Spatial2.java | 2 +-
.../solr/search/TestSolrFieldCacheMBean.java | 36 +-
.../test/org/apache/solr/search/TestSolrJ.java | 4 +-
.../apache/solr/search/TestSolrQueryParser.java | 1 -
.../test/org/apache/solr/search/TestSort.java | 15 +-
.../solr/search/facet/TestJsonFacets.java | 3 -
.../search/function/NvlValueSourceParser.java | 2 +-
.../solr/search/function/TestFunctionQuery.java | 3 +-
.../function/TestMinMaxOnMultiValuedField.java | 4 -
.../solr/search/function/TestOrdValues.java | 4 +-
.../function/TestSortByMinMaxFunction.java | 2 -
.../apache/solr/search/join/BJQParserTest.java | 1 -
.../search/join/BlockJoinFacetDistribTest.java | 97 +-
.../solr/search/mlt/CloudMLTQParserTest.java | 277 +--
.../solr/search/mlt/SimpleMLTQParserTest.java | 4 -
.../TestClassicSimilarityFactory.java | 1 -
.../similarities/TestDFRSimilarityFactory.java | 2 +-
.../similarities/TestIBSimilarityFactory.java | 2 +-
.../TestNonDefinedSimilarityFactory.java | 3 +-
...stPerFieldSimilarityWithDefaultOverride.java | 2 -
.../TestSweetSpotSimilarityFactory.java | 1 -
.../solr/search/stats/TestDistribIDF.java | 9 +-
.../solr/security/BasicAuthIntegrationTest.java | 89 +-
.../security/TestPKIAuthenticationPlugin.java | 41 +-
.../TestRuleBasedAuthorizationPlugin.java | 98 +-
.../apache/solr/servlet/ResponseHeaderTest.java | 4 -
.../spelling/FileBasedSpellCheckerTest.java | 1 -
.../solr/spelling/SimpleQueryConverter.java | 2 -
.../solr/spelling/SpellCheckCollatorTest.java | 30 +
.../spelling/TestSuggestSpellingConverter.java | 1 -
.../suggest/TestFreeTextSuggestions.java | 1 -
.../solr/uninverting/TestDocTermOrds.java | 681 +++++++
.../apache/solr/uninverting/TestFieldCache.java | 721 +++++++
.../solr/uninverting/TestFieldCacheReopen.java | 70 +
.../TestFieldCacheSanityChecker.java | 164 ++
.../solr/uninverting/TestFieldCacheSort.java | 1814 ++++++++++++++++++
.../uninverting/TestFieldCacheSortRandom.java | 318 +++
.../uninverting/TestFieldCacheVsDocValues.java | 592 ++++++
.../uninverting/TestFieldCacheWithThreads.java | 228 +++
.../solr/uninverting/TestLegacyFieldCache.java | 497 +++++
.../solr/uninverting/TestNumericTerms32.java | 156 ++
.../solr/uninverting/TestNumericTerms64.java | 166 ++
.../solr/uninverting/TestUninvertingReader.java | 395 ++++
.../apache/solr/update/AddBlockUpdateTest.java | 2 -
.../update/DirectUpdateHandlerOptimizeTest.java | 1 -
.../apache/solr/update/DocumentBuilderTest.java | 13 +-
.../apache/solr/update/SoftAutoCommitTest.java | 16 +-
.../apache/solr/update/SolrIndexConfigTest.java | 2 +-
.../update/TestDocBasedVersionConstraints.java | 22 +-
.../solr/update/TestExceedMaxTermLength.java | 1 -
.../org/apache/solr/update/VersionInfoTest.java | 2 -
.../update/processor/AtomicUpdatesTest.java | 44 +
.../CloneFieldUpdateProcessorFactoryTest.java | 6 +-
.../processor/CustomUpdateRequestProcessor.java | 4 -
.../DefaultValueUpdateProcessorTest.java | 5 -
...DocExpirationUpdateProcessorFactoryTest.java | 1 -
...ommitOptimizeUpdateProcessorFactoryTest.java | 5 -
.../RecordingUpdateProcessorFactory.java | 7 +-
.../solr/update/processor/ScriptEngineTest.java | 2 +-
...atelessScriptUpdateProcessorFactoryTest.java | 5 -
.../processor/TestNamedUpdateProcessors.java | 11 +-
.../TestPartialUpdateDeduplication.java | 3 -
.../processor/TolerantUpdateProcessorTest.java | 2 -
.../UniqFieldsUpdateProcessorFactoryTest.java | 1 -
.../processor/UpdateProcessorTestBase.java | 1 -
.../UpdateRequestProcessorFactoryTest.java | 2 +-
.../apache/solr/util/DateMathParserTest.java | 226 ++-
.../apache/solr/util/SolrPluginUtilsTest.java | 28 +
.../org/apache/solr/util/TestFastWriter.java | 3 -
.../apache/solr/util/TestSolrCLIRunExample.java | 4 +-
.../example-DIH/solr/db/conf/managed-schema | 2 +-
.../example-DIH/solr/mail/conf/managed-schema | 2 +-
.../example-DIH/solr/rss/conf/managed-schema | 2 +-
.../example-DIH/solr/solr/conf/managed-schema | 2 +-
.../example-DIH/solr/tika/conf/managed-schema | 2 +-
solr/example/films/README.txt | 2 +
solr/example/resources/log4j.properties | 2 +-
solr/licenses/asm-5.0.4.jar.sha1 | 1 -
solr/licenses/asm-5.1.jar.sha1 | 1 +
solr/licenses/asm-commons-5.0.4.jar.sha1 | 1 -
solr/licenses/asm-commons-5.1.jar.sha1 | 1 +
solr/licenses/commons-fileupload-1.2.1.jar.sha1 | 1 -
solr/licenses/commons-fileupload-1.3.1.jar.sha1 | 1 +
solr/licenses/commons-io-2.4.jar.sha1 | 1 -
solr/licenses/commons-io-2.5.jar.sha1 | 1 +
solr/server/resources/log4j.properties | 2 +-
.../scripts/cloud-scripts/log4j.properties | 2 +-
solr/server/scripts/cloud-scripts/zkcli.bat | 15 +-
solr/server/scripts/cloud-scripts/zkcli.sh | 15 +-
.../basic_configs/conf/managed-schema | 2 +-
.../conf/managed-schema | 2 +-
.../conf/managed-schema | 2 +-
.../conf/velocity/cluster.vm | 2 +-
solr/server/solr/solr.xml | 2 +
.../org/apache/solr/client/solrj/SolrQuery.java | 11 +-
.../solr/client/solrj/impl/CloudSolrClient.java | 271 ++-
.../solrj/impl/ConcurrentUpdateSolrClient.java | 213 +-
.../solr/client/solrj/impl/HttpClientUtil.java | 32 +-
.../solr/client/solrj/impl/HttpSolrClient.java | 77 +-
.../solrj/impl/InputStreamResponseParser.java | 4 -
.../solrj/impl/Krb5HttpClientBuilder.java | 7 -
.../client/solrj/impl/LBHttpSolrClient.java | 126 +-
.../solr/client/solrj/io/SolrClientCache.java | 12 +-
.../org/apache/solr/client/solrj/io/Tuple.java | 53 +-
.../client/solrj/io/comp/FieldComparator.java | 13 +
.../solr/client/solrj/io/comp/HashKey.java | 2 -
.../solrj/io/comp/MultipleFieldComparator.java | 13 +-
.../solr/client/solrj/io/eq/FieldEqualitor.java | 17 +-
.../solrj/io/eq/MultipleFieldEqualitor.java | 12 +
.../solrj/io/graph/GatherNodesStream.java | 675 +++++++
.../apache/solr/client/solrj/io/graph/Node.java | 90 +
.../solrj/io/graph/ShortestPathStream.java | 78 +-
.../solr/client/solrj/io/graph/Traversal.java | 96 +
.../solrj/io/graph/TraversalIterator.java | 120 ++
.../client/solrj/io/ops/ConcatOperation.java | 15 +-
.../client/solrj/io/ops/DistinctOperation.java | 33 +-
.../client/solrj/io/ops/GroupOperation.java | 42 +-
.../client/solrj/io/ops/ReplaceOperation.java | 6 +
.../solrj/io/ops/ReplaceWithFieldOperation.java | 12 +
.../solrj/io/ops/ReplaceWithValueOperation.java | 12 +
.../client/solrj/io/ops/StreamOperation.java | 3 -
.../client/solrj/io/sql/ConnectionImpl.java | 6 +-
.../solrj/io/sql/DatabaseMetaDataImpl.java | 4 +-
.../solrj/io/sql/PreparedStatementImpl.java | 394 ++++
.../solr/client/solrj/io/sql/ResultSetImpl.java | 78 +-
.../solr/client/solrj/io/sql/StatementImpl.java | 67 +-
.../client/solrj/io/stream/BiJoinStream.java | 8 -
.../client/solrj/io/stream/CloudSolrStream.java | 157 +-
.../solrj/io/stream/ComplementStream.java | 57 +-
.../client/solrj/io/stream/DaemonStream.java | 57 +-
.../client/solrj/io/stream/ExceptionStream.java | 14 +
.../client/solrj/io/stream/FacetStream.java | 107 +-
.../client/solrj/io/stream/HashJoinStream.java | 89 +-
.../client/solrj/io/stream/IntersectStream.java | 56 +-
.../solr/client/solrj/io/stream/JDBCStream.java | 37 +
.../solr/client/solrj/io/stream/JoinStream.java | 33 +-
.../solrj/io/stream/LeftOuterJoinStream.java | 4 -
.../client/solrj/io/stream/MergeStream.java | 35 +-
.../solrj/io/stream/OuterHashJoinStream.java | 18 +-
.../client/solrj/io/stream/ParallelStream.java | 62 +-
.../client/solrj/io/stream/PushBackStream.java | 7 +-
.../client/solrj/io/stream/RandomStream.java | 237 +++
.../solr/client/solrj/io/stream/RankStream.java | 43 +-
.../client/solrj/io/stream/ReducerStream.java | 37 +-
.../client/solrj/io/stream/RollupStream.java | 43 +-
.../client/solrj/io/stream/SelectStream.java | 41 +-
.../solr/client/solrj/io/stream/SolrStream.java | 57 +-
.../solr/client/solrj/io/stream/SortStream.java | 199 ++
.../client/solrj/io/stream/StatsStream.java | 88 +-
.../client/solrj/io/stream/StreamContext.java | 6 +-
.../client/solrj/io/stream/TopicStream.java | 148 +-
.../client/solrj/io/stream/TupleStream.java | 10 +
.../client/solrj/io/stream/UniqueStream.java | 37 +-
.../client/solrj/io/stream/UpdateStream.java | 54 +-
.../solrj/io/stream/expr/Explanation.java | 158 ++
.../solrj/io/stream/expr/Expressible.java | 9 +
.../solrj/io/stream/expr/StreamExplanation.java | 70 +
.../client/solrj/io/stream/metrics/Bucket.java | 8 +-
.../solrj/io/stream/metrics/CountMetric.java | 13 +-
.../solrj/io/stream/metrics/MaxMetric.java | 16 +-
.../solrj/io/stream/metrics/MeanMetric.java | 22 +-
.../client/solrj/io/stream/metrics/Metric.java | 35 +-
.../solrj/io/stream/metrics/MinMetric.java | 10 +-
.../solrj/io/stream/metrics/SumMetric.java | 19 +-
.../solrj/request/CollectionAdminRequest.java | 199 ++
.../client/solrj/request/UpdateRequest.java | 18 +-
.../solr/client/solrj/response/FacetField.java | 1 -
.../solr/client/solrj/response/PivotField.java | 2 -
.../solrj/response/schema/SchemaResponse.java | 64 +-
.../solrj/util/SolrIdentifierValidator.java | 12 +-
.../apache/solr/common/SolrInputDocument.java | 6 +-
.../solr/common/cloud/ClusterProperties.java | 126 ++
.../apache/solr/common/cloud/ClusterState.java | 92 +-
.../solr/common/cloud/ClusterStateUtil.java | 24 +-
.../common/cloud/CollectionStatePredicate.java | 42 +
.../common/cloud/CollectionStateWatcher.java | 42 +
.../apache/solr/common/cloud/DocCollection.java | 60 +-
.../apache/solr/common/cloud/OnReconnect.java | 9 +-
.../org/apache/solr/common/cloud/Replica.java | 15 +-
.../org/apache/solr/common/cloud/Slice.java | 40 +-
.../apache/solr/common/cloud/SolrZkClient.java | 1 -
.../solr/common/cloud/ZkConfigManager.java | 26 +-
.../apache/solr/common/cloud/ZkStateReader.java | 549 ++++--
.../solr/common/params/CollectionParams.java | 125 +-
.../solr/common/params/CoreAdminParams.java | 21 +-
.../apache/solr/common/params/FacetParams.java | 17 +
.../solr/common/params/HighlightParams.java | 1 +
.../apache/solr/common/util/ExecutorUtil.java | 14 +-
.../apache/solr/common/util/JavaBinCodec.java | 8 +-
.../solr/common/util/JsonRecordReader.java | 132 +-
.../org/apache/solr/common/util/NamedList.java | 69 +
.../java/org/apache/solr/common/util/Pair.java | 41 +-
.../org/apache/solr/common/util/StrUtils.java | 10 +-
.../java/org/apache/solr/common/util/Utils.java | 1 +
.../collection1/conf/schema-replication1.xml | 15 +-
.../solrj/solr/collection1/conf/schema-sql.xml | 1087 +++++------
.../solr/collection1/conf/schema-streaming.xml | 600 ------
.../solrj/solr/collection1/conf/schema.xml | 975 +++++-----
.../collection1/conf/solrconfig-streaming.xml | 51 -
.../configset-1/conf/schema-minimal.xml | 6 +-
.../solr/configsets/configset-2/conf/schema.xml | 6 +-
.../solr/configsets/shared/conf/schema.xml | 76 +-
.../solr/configsets/streaming/conf/schema.xml | 612 ++++++
.../configsets/streaming/conf/solrconfig.xml | 51 +
.../solrj/solr/crazy-path-to-schema.xml | 9 +-
.../apache/solr/client/solrj/GetByIdTest.java | 2 -
.../solrj/MergeIndexesExampleTestBase.java | 1 -
.../client/solrj/SolrExampleBinaryTest.java | 2 +-
.../solr/client/solrj/SolrExampleTests.java | 2 +-
.../solr/client/solrj/SolrExampleXMLTest.java | 2 +-
.../solr/client/solrj/SolrExceptionTest.java | 4 +-
.../client/solrj/SolrSchemalessExampleTest.java | 3 +-
.../solr/client/solrj/TestLBHttpSolrClient.java | 8 +-
.../solrj/beans/TestDocumentObjectBinder.java | 2 -
.../client/solrj/embedded/JettyWebappTest.java | 4 +-
.../embedded/LargeVolumeBinaryJettyTest.java | 1 -
.../solrj/embedded/LargeVolumeEmbeddedTest.java | 1 -
.../solrj/embedded/LargeVolumeJettyTest.java | 1 -
.../solrj/embedded/SolrExampleEmbeddedTest.java | 1 -
.../solrj/embedded/SolrExampleJettyTest.java | 2 +-
.../embedded/SolrExampleStreamingTest.java | 23 +-
.../solrj/impl/BasicHttpSolrClientTest.java | 47 +-
.../solrj/impl/CloudSolrClientBuilderTest.java | 90 +
.../client/solrj/impl/CloudSolrClientTest.java | 428 ++---
.../ConcurrentUpdateSolrClientBuilderTest.java | 33 +
.../impl/ConcurrentUpdateSolrClientTest.java | 115 +-
.../solrj/impl/HttpSolrClientBuilderTest.java | 76 +
.../solrj/impl/LBHttpSolrClientBuilderTest.java | 65 +
.../solrj/io/graph/GraphExpressionTest.java | 727 +++++--
.../solr/client/solrj/io/graph/GraphTest.java | 243 +--
.../client/solrj/io/sql/JdbcDriverTest.java | 7 +-
.../solr/client/solrj/io/sql/JdbcTest.java | 252 ++-
.../client/solrj/io/stream/JDBCStreamTest.java | 435 ++---
.../solrj/io/stream/RecordCountStream.java | 37 +-
.../solrj/io/stream/StreamExpressionTest.java | 1593 ++++++++-------
.../StreamExpressionToExplanationTest.java | 289 +++
.../client/solrj/io/stream/StreamingTest.java | 1372 +++++++------
.../io/stream/ops/ConcatOperationTest.java | 1 -
.../solrj/request/TestUpdateRequestCodec.java | 2 -
.../cloud/TestCollectionStateWatchers.java | 278 +++
.../solr/common/cloud/TestZkConfigManager.java | 6 +
.../solr/common/util/TestJsonRecordReader.java | 63 +-
solr/test-framework/build.xml | 6 +
.../solr/BaseDistributedSearchTestCase.java | 2 +-
.../java/org/apache/solr/SolrJettyTestBase.java | 2 +-
.../java/org/apache/solr/SolrTestCaseHS.java | 40 +-
.../java/org/apache/solr/SolrTestCaseJ4.java | 182 +-
.../solr/analysis/MockTokenizerFactory.java | 1 -
.../solr/cloud/AbstractDistribZkTestBase.java | 28 +-
.../cloud/AbstractFullDistribZkTestBase.java | 119 +-
.../java/org/apache/solr/cloud/ChaosMonkey.java | 1 -
.../apache/solr/cloud/MiniSolrCloudCluster.java | 50 +-
.../org/apache/solr/cloud/MockSolrZkClient.java | 1 -
.../apache/solr/cloud/SolrCloudTestCase.java | 6 +
.../org/apache/solr/util/BaseTestHarness.java | 1 -
.../org/apache/solr/util/ExternalPaths.java | 4 -
.../apache/solr/util/RESTfulServerProvider.java | 2 +-
.../org/apache/solr/util/RandomMergePolicy.java | 8 -
.../java/org/apache/solr/util/RandomizeSSL.java | 174 ++
.../java/org/apache/solr/util/RestTestBase.java | 7 +-
.../org/apache/solr/util/SSLTestConfig.java | 335 +++-
.../resources/SSLTestConfig.testing.keystore | Bin 0 -> 2208 bytes
solr/webapp/web/css/angular/menu.css | 1 +
solr/webapp/web/css/angular/stream.css | 233 +++
solr/webapp/web/index.html | 7 +-
solr/webapp/web/js/angular/app.js | 8 +
.../webapp/web/js/angular/controllers/stream.js | 240 +++
solr/webapp/web/partials/schema.html | 2 +-
solr/webapp/web/partials/stream.html | 64 +
1783 files changed, 78601 insertions(+), 49057 deletions(-)
----------------------------------------------------------------------
[19/50] [abbrv] lucene-solr:apiv2: LUCENE-7334: Update ASM dependency
to 5.1
Posted by no...@apache.org.
LUCENE-7334: Update ASM dependency to 5.1
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/02c65547
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/02c65547
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/02c65547
Branch: refs/heads/apiv2
Commit: 02c65547e2973dbfdea4b2a2411987d23d66a6b6
Parents: 232b44e
Author: Uwe Schindler <uw...@thetaphi.de>
Authored: Sun Jun 12 14:20:56 2016 +0200
Committer: Uwe Schindler <uw...@thetaphi.de>
Committed: Sun Jun 12 14:20:56 2016 +0200
----------------------------------------------------------------------
lucene/CHANGES.txt | 2 ++
lucene/ivy-versions.properties | 2 +-
lucene/licenses/asm-5.0.4.jar.sha1 | 1 -
lucene/licenses/asm-5.1.jar.sha1 | 1 +
lucene/licenses/asm-commons-5.0.4.jar.sha1 | 1 -
lucene/licenses/asm-commons-5.1.jar.sha1 | 1 +
solr/licenses/asm-5.0.4.jar.sha1 | 1 -
solr/licenses/asm-5.1.jar.sha1 | 1 +
solr/licenses/asm-commons-5.0.4.jar.sha1 | 1 -
solr/licenses/asm-commons-5.1.jar.sha1 | 1 +
10 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index fb46c5f..64be39a 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -41,6 +41,8 @@ Other
* LUCENE-4787: Fixed some highlighting javadocs. (Michael Dodsworth via Adrien
Grand)
+* LUCENE-7334: Update ASM dependency to 5.1. (Uwe Schindler)
+
======================= Lucene 6.1.0 =======================
New Features
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/lucene/ivy-versions.properties
----------------------------------------------------------------------
diff --git a/lucene/ivy-versions.properties b/lucene/ivy-versions.properties
index ac9e416..a4e1bb1 100644
--- a/lucene/ivy-versions.properties
+++ b/lucene/ivy-versions.properties
@@ -278,7 +278,7 @@ org.mortbay.jetty.version = 6.1.26
/org.noggit/noggit = 0.6
/org.objenesis/objenesis = 1.2
-org.ow2.asm.version = 5.0.4
+org.ow2.asm.version = 5.1
/org.ow2.asm/asm = ${org.ow2.asm.version}
/org.ow2.asm/asm-commons = ${org.ow2.asm.version}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/lucene/licenses/asm-5.0.4.jar.sha1
----------------------------------------------------------------------
diff --git a/lucene/licenses/asm-5.0.4.jar.sha1 b/lucene/licenses/asm-5.0.4.jar.sha1
deleted file mode 100644
index 9223dba..0000000
--- a/lucene/licenses/asm-5.0.4.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-0da08b8cce7bbf903602a25a3a163ae252435795
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/lucene/licenses/asm-5.1.jar.sha1
----------------------------------------------------------------------
diff --git a/lucene/licenses/asm-5.1.jar.sha1 b/lucene/licenses/asm-5.1.jar.sha1
new file mode 100644
index 0000000..fc907c7
--- /dev/null
+++ b/lucene/licenses/asm-5.1.jar.sha1
@@ -0,0 +1 @@
+5ef31c4fe953b1fd00b8a88fa1d6820e8785bb45
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/lucene/licenses/asm-commons-5.0.4.jar.sha1
----------------------------------------------------------------------
diff --git a/lucene/licenses/asm-commons-5.0.4.jar.sha1 b/lucene/licenses/asm-commons-5.0.4.jar.sha1
deleted file mode 100644
index 94fe0cd..0000000
--- a/lucene/licenses/asm-commons-5.0.4.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-5a556786086c23cd689a0328f8519db93821c04c
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/lucene/licenses/asm-commons-5.1.jar.sha1
----------------------------------------------------------------------
diff --git a/lucene/licenses/asm-commons-5.1.jar.sha1 b/lucene/licenses/asm-commons-5.1.jar.sha1
new file mode 100644
index 0000000..8b49593
--- /dev/null
+++ b/lucene/licenses/asm-commons-5.1.jar.sha1
@@ -0,0 +1 @@
+25d8a575034dd9cfcb375a39b5334f0ba9c8474e
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/solr/licenses/asm-5.0.4.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/asm-5.0.4.jar.sha1 b/solr/licenses/asm-5.0.4.jar.sha1
deleted file mode 100644
index 9223dba..0000000
--- a/solr/licenses/asm-5.0.4.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-0da08b8cce7bbf903602a25a3a163ae252435795
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/solr/licenses/asm-5.1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/asm-5.1.jar.sha1 b/solr/licenses/asm-5.1.jar.sha1
new file mode 100644
index 0000000..fc907c7
--- /dev/null
+++ b/solr/licenses/asm-5.1.jar.sha1
@@ -0,0 +1 @@
+5ef31c4fe953b1fd00b8a88fa1d6820e8785bb45
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/solr/licenses/asm-commons-5.0.4.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/asm-commons-5.0.4.jar.sha1 b/solr/licenses/asm-commons-5.0.4.jar.sha1
deleted file mode 100644
index 94fe0cd..0000000
--- a/solr/licenses/asm-commons-5.0.4.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-5a556786086c23cd689a0328f8519db93821c04c
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/02c65547/solr/licenses/asm-commons-5.1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/asm-commons-5.1.jar.sha1 b/solr/licenses/asm-commons-5.1.jar.sha1
new file mode 100644
index 0000000..8b49593
--- /dev/null
+++ b/solr/licenses/asm-commons-5.1.jar.sha1
@@ -0,0 +1 @@
+25d8a575034dd9cfcb375a39b5334f0ba9c8474e
[12/50] [abbrv] lucene-solr:apiv2: remove unused GeoPointTestUtil
Posted by no...@apache.org.
remove unused GeoPointTestUtil
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/c0f047ab
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/c0f047ab
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/c0f047ab
Branch: refs/heads/apiv2
Commit: c0f047abc0baacc8fe578149911da406d9352756
Parents: f767855
Author: Nicholas Knize <nk...@gmail.com>
Authored: Fri Jun 10 12:53:07 2016 -0500
Committer: Nicholas Knize <nk...@gmail.com>
Committed: Fri Jun 10 12:53:07 2016 -0500
----------------------------------------------------------------------
.../geopoint/search/GeoPointTestUtil.java | 287 -------------------
1 file changed, 287 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/c0f047ab/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/GeoPointTestUtil.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/GeoPointTestUtil.java b/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/GeoPointTestUtil.java
deleted file mode 100644
index a8c4271..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/GeoPointTestUtil.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.spatial.geopoint.search;
-
-import java.util.ArrayList;
-import java.util.Random;
-
-import org.apache.lucene.geo.GeoUtils;
-import org.apache.lucene.geo.Polygon;
-import org.apache.lucene.geo.Rectangle;
-
-import com.carrotsearch.randomizedtesting.RandomizedContext;
-
-// HACK: this is a wimpier version of GeoTestUtil used for now until we can
-// get all tests passing with new random number generator!
-
-final class GeoPointTestUtil {
-
- /** returns next pseudorandom latitude (anywhere) */
- public static double nextLatitude() {
- return -90 + 180.0 * random().nextDouble();
- }
-
- /** returns next pseudorandom longitude (anywhere) */
- public static double nextLongitude() {
- return -180 + 360.0 * random().nextDouble();
- }
-
- /** returns next pseudorandom latitude, kinda close to {@code otherLatitude} */
- public static double nextLatitudeNear(double otherLatitude) {
- GeoUtils.checkLatitude(otherLatitude);
- return normalizeLatitude(otherLatitude + random().nextDouble() - 0.5);
- }
-
- /** returns next pseudorandom longitude, kinda close to {@code otherLongitude} */
- public static double nextLongitudeNear(double otherLongitude) {
- GeoUtils.checkLongitude(otherLongitude);
- return normalizeLongitude(otherLongitude + random().nextDouble() - 0.5);
- }
-
- /**
- * returns next pseudorandom latitude, kinda close to {@code minLatitude/maxLatitude}
- * <b>NOTE:</b>minLatitude/maxLatitude are merely guidelines. the returned value is sometimes
- * outside of that range! this is to facilitate edge testing.
- */
- public static double nextLatitudeAround(double minLatitude, double maxLatitude) {
- GeoUtils.checkLatitude(minLatitude);
- GeoUtils.checkLatitude(maxLatitude);
- return normalizeLatitude(randomRangeMaybeSlightlyOutside(minLatitude, maxLatitude));
- }
-
- /**
- * returns next pseudorandom longitude, kinda close to {@code minLongitude/maxLongitude}
- * <b>NOTE:</b>minLongitude/maxLongitude are merely guidelines. the returned value is sometimes
- * outside of that range! this is to facilitate edge testing.
- */
- public static double nextLongitudeAround(double minLongitude, double maxLongitude) {
- GeoUtils.checkLongitude(minLongitude);
- GeoUtils.checkLongitude(maxLongitude);
- return normalizeLongitude(randomRangeMaybeSlightlyOutside(minLongitude, maxLongitude));
- }
-
- /** returns next pseudorandom box: can cross the 180th meridian */
- public static Rectangle nextBox() {
- return nextBoxInternal(nextLatitude(), nextLatitude(), nextLongitude(), nextLongitude(), true);
- }
-
- /** returns next pseudorandom box: will not cross the 180th meridian */
- public static Rectangle nextSimpleBox() {
- return nextBoxInternal(nextLatitude(), nextLatitude(), nextLongitude(), nextLongitude(), false);
- }
-
- /** returns next pseudorandom box, can cross the 180th meridian, kinda close to {@code otherLatitude} and {@code otherLongitude} */
- public static Rectangle nextBoxNear(double otherLatitude, double otherLongitude) {
- GeoUtils.checkLongitude(otherLongitude);
- GeoUtils.checkLongitude(otherLongitude);
- return nextBoxInternal(nextLatitudeNear(otherLatitude), nextLatitudeNear(otherLatitude),
- nextLongitudeNear(otherLongitude), nextLongitudeNear(otherLongitude), true);
- }
-
- /** returns next pseudorandom box, will not cross the 180th meridian, kinda close to {@code otherLatitude} and {@code otherLongitude} */
- public static Rectangle nextSimpleBoxNear(double otherLatitude, double otherLongitude) {
- GeoUtils.checkLongitude(otherLongitude);
- GeoUtils.checkLongitude(otherLongitude);
- return nextBoxInternal(nextLatitudeNear(otherLatitude), nextLatitudeNear(otherLatitude),
- nextLongitudeNear(otherLongitude), nextLongitudeNear(otherLongitude), false);
- }
-
- /** returns next pseudorandom polygon */
- public static Polygon nextPolygon() {
- if (random().nextBoolean()) {
- return surpriseMePolygon(null, null);
- }
-
- Rectangle box = nextBoxInternal(nextLatitude(), nextLatitude(), nextLongitude(), nextLongitude(), false);
- if (random().nextBoolean()) {
- // box
- return boxPolygon(box);
- } else {
- // triangle
- return trianglePolygon(box);
- }
- }
-
- /** returns next pseudorandom polygon, kinda close to {@code otherLatitude} and {@code otherLongitude} */
- public static Polygon nextPolygonNear(double otherLatitude, double otherLongitude) {
- if (random().nextBoolean()) {
- return surpriseMePolygon(otherLatitude, otherLongitude);
- }
-
- Rectangle box = nextBoxInternal(nextLatitudeNear(otherLatitude), nextLatitudeNear(otherLatitude),
- nextLongitudeNear(otherLongitude), nextLongitudeNear(otherLongitude), false);
- if (random().nextBoolean()) {
- // box
- return boxPolygon(box);
- } else {
- // triangle
- return trianglePolygon(box);
- }
- }
-
- private static Rectangle nextBoxInternal(double lat0, double lat1, double lon0, double lon1, boolean canCrossDateLine) {
- if (lat1 < lat0) {
- double x = lat0;
- lat0 = lat1;
- lat1 = x;
- }
-
- if (canCrossDateLine == false && lon1 < lon0) {
- double x = lon0;
- lon0 = lon1;
- lon1 = x;
- }
-
- return new Rectangle(lat0, lat1, lon0, lon1);
- }
-
- private static Polygon boxPolygon(Rectangle box) {
- assert box.crossesDateline() == false;
- final double[] polyLats = new double[5];
- final double[] polyLons = new double[5];
- polyLats[0] = box.minLat;
- polyLons[0] = box.minLon;
- polyLats[1] = box.maxLat;
- polyLons[1] = box.minLon;
- polyLats[2] = box.maxLat;
- polyLons[2] = box.maxLon;
- polyLats[3] = box.minLat;
- polyLons[3] = box.maxLon;
- polyLats[4] = box.minLat;
- polyLons[4] = box.minLon;
- return new Polygon(polyLats, polyLons);
- }
-
- private static Polygon trianglePolygon(Rectangle box) {
- assert box.crossesDateline() == false;
- final double[] polyLats = new double[4];
- final double[] polyLons = new double[4];
- polyLats[0] = box.minLat;
- polyLons[0] = box.minLon;
- polyLats[1] = box.maxLat;
- polyLons[1] = box.minLon;
- polyLats[2] = box.maxLat;
- polyLons[2] = box.maxLon;
- polyLats[3] = box.minLat;
- polyLons[3] = box.minLon;
- return new Polygon(polyLats, polyLons);
- }
-
- private static Polygon surpriseMePolygon(Double otherLatitude, Double otherLongitude) {
- // repeat until we get a poly that doesn't cross dateline:
- newPoly:
- while (true) {
- //System.out.println("\nPOLY ITER");
- final double centerLat;
- final double centerLon;
- if (otherLatitude == null) {
- centerLat = nextLatitude();
- centerLon = nextLongitude();
- } else {
- GeoUtils.checkLatitude(otherLatitude);
- GeoUtils.checkLongitude(otherLongitude);
- centerLat = nextLatitudeNear(otherLatitude);
- centerLon = nextLongitudeNear(otherLongitude);
- }
-
- double radius = 0.1 + 20 * random().nextDouble();
- double radiusDelta = random().nextDouble();
-
- ArrayList<Double> lats = new ArrayList<>();
- ArrayList<Double> lons = new ArrayList<>();
- double angle = 0.0;
- while (true) {
- angle += random().nextDouble()*40.0;
- //System.out.println(" angle " + angle);
- if (angle > 360) {
- break;
- }
- double len = radius * (1.0 - radiusDelta + radiusDelta * random().nextDouble());
- //System.out.println(" len=" + len);
- double lat = centerLat + len * Math.cos(Math.toRadians(angle));
- double lon = centerLon + len * Math.sin(Math.toRadians(angle));
- if (lon <= GeoUtils.MIN_LON_INCL || lon >= GeoUtils.MAX_LON_INCL) {
- // cannot cross dateline: try again!
- continue newPoly;
- }
- if (lat > 90) {
- // cross the north pole
- lat = 180 - lat;
- lon = 180 - lon;
- } else if (lat < -90) {
- // cross the south pole
- lat = -180 - lat;
- lon = 180 - lon;
- }
- if (lon <= GeoUtils.MIN_LON_INCL || lon >= GeoUtils.MAX_LON_INCL) {
- // cannot cross dateline: try again!
- continue newPoly;
- }
- lats.add(lat);
- lons.add(lon);
-
- //System.out.println(" lat=" + lats.get(lats.size()-1) + " lon=" + lons.get(lons.size()-1));
- }
-
- // close it
- lats.add(lats.get(0));
- lons.add(lons.get(0));
-
- double[] latsArray = new double[lats.size()];
- double[] lonsArray = new double[lons.size()];
- for(int i=0;i<lats.size();i++) {
- latsArray[i] = lats.get(i);
- lonsArray[i] = lons.get(i);
- }
- return new Polygon(latsArray, lonsArray);
- }
- }
-
- /** Returns random double min to max or up to 1% outside of that range */
- private static double randomRangeMaybeSlightlyOutside(double min, double max) {
- return min + (random().nextDouble() + (0.5 - random().nextDouble()) * .02) * (max - min);
- }
-
- /** Puts latitude in range of -90 to 90. */
- private static double normalizeLatitude(double latitude) {
- if (latitude >= -90 && latitude <= 90) {
- return latitude; //common case, and avoids slight double precision shifting
- }
- double off = Math.abs((latitude + 90) % 360);
- return (off <= 180 ? off : 360-off) - 90;
- }
-
- /** Puts longitude in range of -180 to +180. */
- private static double normalizeLongitude(double longitude) {
- if (longitude >= -180 && longitude <= 180) {
- return longitude; //common case, and avoids slight double precision shifting
- }
- double off = (longitude + 180) % 360;
- if (off < 0) {
- return 180 + off;
- } else if (off == 0 && longitude > 0) {
- return 180;
- } else {
- return -180 + off;
- }
- }
-
- /** Keep it simple, we don't need to take arbitrary Random for geo tests */
- private static Random random() {
- return RandomizedContext.current().getRandom();
- }
-}
[17/50] [abbrv] lucene-solr:apiv2: SOLR-9187: Support dates and
booleans in /export handler, support boolean DocValues fields
Posted by no...@apache.org.
SOLR-9187: Support dates and booleans in /export handler, support boolean DocValues fields
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/844ca4a3
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/844ca4a3
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/844ca4a3
Branch: refs/heads/apiv2
Commit: 844ca4a348e282b5f857aa7ce4de6f9781766ef9
Parents: 79d1b8c
Author: Erick Erickson <er...@apache.org>
Authored: Sat Jun 11 17:38:19 2016 -0700
Committer: Erick Erickson <er...@apache.org>
Committed: Sat Jun 11 17:38:19 2016 -0700
----------------------------------------------------------------------
solr/CHANGES.txt | 13 ++
.../org/apache/solr/request/SimpleFacets.java | 4 +-
.../solr/response/SortingResponseWriter.java | 126 ++++++++++++++++--
.../java/org/apache/solr/schema/BoolField.java | 43 ++++++-
.../apache/solr/search/SolrIndexSearcher.java | 12 +-
.../solr/collection1/conf/schema-docValues.xml | 5 +-
.../conf/schema-docValuesMissing.xml | 13 ++
.../collection1/conf/schema-docValuesMulti.xml | 1 +
.../solr/collection1/conf/schema15.xml | 1 +
.../solr/schema/DocValuesMissingTest.java | 129 +++++++++++++++++++
.../apache/solr/schema/DocValuesMultiTest.java | 103 ++++++++++++++-
.../org/apache/solr/schema/DocValuesTest.java | 87 +++++++++++--
.../org/apache/solr/client/solrj/io/Tuple.java | 53 +++++++-
.../solr/configsets/streaming/conf/schema.xml | 13 +-
.../client/solrj/io/stream/StreamingTest.java | 128 ++++++++++++++++++
15 files changed, 692 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index b9b88d3..659a1d7 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -47,6 +47,19 @@ Optimizations
================== 6.2.0 ==================
+
+Upgrading from Solr any prior release
+----------------------
+
+Detailed Change List
+----------------------
+
+New Features
+----------------------
+
+* SOLR-9187: Support dates and booleans in /export handler, support boolean DocValues fields
+
+
Bug Fixes
----------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
index c804b74..017deb4 100644
--- a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
+++ b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
@@ -554,8 +554,8 @@ public class SimpleFacets {
/*The user did not specify any preference*/
if (method == null) {
- /* Always use filters for booleans... we know the number of values is very small. */
- if (type instanceof BoolField) {
+ /* Always use filters for booleans if not DocValues only... we know the number of values is very small. */
+ if (type instanceof BoolField && (field.indexed() == true || field.hasDocValues() == false)) {
method = FacetMethod.ENUM;
} else if (type.getNumericType() != null && !field.multiValued()) {
/* the per-segment approach is optimal for numeric field types since there
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java b/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java
index 8daf90f..b3752a8 100644
--- a/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/response/SortingResponseWriter.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import java.lang.invoke.MethodHandles;
+import java.util.Date;
import java.util.List;
import java.util.ArrayList;
@@ -44,10 +45,12 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestInfo;
+import org.apache.solr.schema.BoolField;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.schema.StrField;
+import org.apache.solr.schema.TrieDateField;
import org.apache.solr.schema.TrieDoubleField;
import org.apache.solr.schema.TrieFloatField;
import org.apache.solr.schema.TrieIntField;
@@ -99,14 +102,24 @@ public class SortingResponseWriter implements QueryResponseWriter {
exception = new IOException(new SyntaxError("Scoring is not currently supported with xsort."));
}
- FixedBitSet[] sets = (FixedBitSet[])req.getContext().get("export");
- Integer th = (Integer)req.getContext().get("totalHits");
-
- if(sets == null) {
- exception = new IOException(new SyntaxError("xport RankQuery is required for xsort: rq={!xport}"));
+ // There is a bailout in SolrIndexSearcher.getDocListNC when there are _no_ docs in the index at all.
+ // if (lastDocRequested <= 0) {
+ // That causes the totalHits and export entries in the context to _not_ get set.
+ // The only time that really matters is when we search against an _empty_ set. That's too obscure
+ // a condition to handle as part of this patch, if someone wants to pursue it it can be reproduced with:
+ // ant test -Dtestcase=StreamingTest -Dtests.method=testAllValidExportTypes -Dtests.seed=10F13879D0D1D6AD -Dtests.slow=true -Dtests.locale=es-PA -Dtests.timezone=America/Bahia_Banderas -Dtests.asserts=true -Dtests.file.encoding=ISO-8859-1
+ // You'll have to uncomment the if below to hit the null pointer exception.
+ // This is such an unusual case (i.e. an empty index) that catching this concdition here is probably OK.
+ // This came to light in the very artifical case of indexing a single doc to Cloud.
+ int totalHits = 0;
+ FixedBitSet[] sets = null;
+ if (req.getContext().get("totalHits") != null) {
+ totalHits = ((Integer)req.getContext().get("totalHits")).intValue();
+ sets = (FixedBitSet[]) req.getContext().get("export");
+ if (sets == null) {
+ exception = new IOException(new SyntaxError("xport RankQuery is required for xsort: rq={!xport}"));
+ }
}
-
- int totalHits = th.intValue();
SolrParams params = req.getParams();
String fl = params.get("fl");
@@ -132,7 +145,7 @@ public class SortingResponseWriter implements QueryResponseWriter {
try {
fieldWriters = getFieldWriters(fields, req.getSearcher());
- }catch(Exception e) {
+ } catch (Exception e) {
exception = e;
}
@@ -309,8 +322,21 @@ public class SortingResponseWriter implements QueryResponseWriter {
} else {
writers[i] = new StringFieldWriter(field, fieldType);
}
- } else {
- throw new IOException("Export fields must either be one of the following types: int,float,long,double,string");
+ } else if (fieldType instanceof TrieDateField) {
+ if (multiValued) {
+ writers[i] = new MultiFieldWriter(field, fieldType, false);
+ } else {
+ writers[i] = new DateFieldWriter(field);
+ }
+ } else if(fieldType instanceof BoolField) {
+ if(multiValued) {
+ writers[i] = new MultiFieldWriter(field, fieldType, true);
+ } else {
+ writers[i] = new BoolFieldWriter(field, fieldType);
+ }
+ }
+ else {
+ throw new IOException("Export fields must either be one of the following types: int,float,long,double,string,date,boolean");
}
}
return writers;
@@ -362,8 +388,25 @@ public class SortingResponseWriter implements QueryResponseWriter {
} else {
sortValues[i] = new StringValue(vals, field, new IntAsc());
}
+ } else if (ft instanceof TrieDateField) {
+ if (reverse) {
+ sortValues[i] = new LongValue(field, new LongDesc());
+ } else {
+ sortValues[i] = new LongValue(field, new LongAsc());
+ }
+ } else if (ft instanceof BoolField) {
+ // This is a bit of a hack, but since the boolean field stores ByteRefs, just like Strings
+ // _and_ since "F" happens to sort before "T" (thus false sorts "less" than true)
+ // we can just use the existing StringValue here.
+ LeafReader reader = searcher.getLeafReader();
+ SortedDocValues vals = reader.getSortedDocValues(field);
+ if(reverse) {
+ sortValues[i] = new StringValue(vals, field, new IntDesc());
+ } else {
+ sortValues[i] = new StringValue(vals, field, new IntAsc());
+ }
} else {
- throw new IOException("Sort fields must be one of the following types: int,float,long,double,string");
+ throw new IOException("Sort fields must be one of the following types: int,float,long,double,string,date,boolean");
}
}
@@ -1296,6 +1339,65 @@ public class SortingResponseWriter implements QueryResponseWriter {
}
}
+ class DateFieldWriter extends FieldWriter {
+ private String field;
+
+ public DateFieldWriter(String field) {
+ this.field = field;
+ }
+
+ public boolean write(int docId, LeafReader reader, Writer out, int fieldIndex) throws IOException {
+ NumericDocValues vals = DocValues.getNumeric(reader, this.field);
+ long val = vals.get(docId);
+
+ if (fieldIndex > 0) {
+ out.write(',');
+ }
+ out.write('"');
+ out.write(this.field);
+ out.write('"');
+ out.write(':');
+ out.write('"');
+ writeStr(new Date(val).toInstant().toString(), out);
+ out.write('"');
+ return true;
+ }
+ }
+
+ class BoolFieldWriter extends FieldWriter {
+ private String field;
+ private FieldType fieldType;
+ private CharsRefBuilder cref = new CharsRefBuilder();
+
+ public BoolFieldWriter(String field, FieldType fieldType) {
+ this.field = field;
+ this.fieldType = fieldType;
+ }
+
+ public boolean write(int docId, LeafReader reader, Writer out, int fieldIndex) throws IOException {
+ SortedDocValues vals = DocValues.getSorted(reader, this.field);
+ int ord = vals.getOrd(docId);
+ if(ord == -1) {
+ return false;
+ }
+
+ BytesRef ref = vals.lookupOrd(ord);
+ fieldType.indexedToReadable(ref, cref);
+
+ if (fieldIndex > 0) {
+ out.write(',');
+ }
+ out.write('"');
+ out.write(this.field);
+ out.write('"');
+ out.write(':');
+ //out.write('"');
+ writeStr(cref.toString(), out);
+ //out.write('"');
+ return true;
+ }
+ }
+
class FloatFieldWriter extends FieldWriter {
private String field;
@@ -1614,4 +1716,4 @@ public class SortingResponseWriter implements QueryResponseWriter {
return (Object[]) heap;
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/java/org/apache/solr/schema/BoolField.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/schema/BoolField.java b/solr/core/src/java/org/apache/solr/schema/BoolField.java
index 01161e7..1ecdb59 100644
--- a/solr/core/src/java/org/apache/solr/schema/BoolField.java
+++ b/solr/core/src/java/org/apache/solr/schema/BoolField.java
@@ -17,11 +17,16 @@
package org.apache.solr.schema;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.Map;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.document.SortedDocValuesField;
+import org.apache.lucene.document.SortedSetDocValuesField;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.LeafReaderContext;
@@ -123,7 +128,11 @@ public class BoolField extends PrimitiveFieldType {
@Override
public String toExternal(IndexableField f) {
- return indexedToReadable(f.stringValue());
+ if (f.binaryValue() == null) {
+ return null;
+ }
+
+ return indexedToReadable(f.binaryValue().utf8ToString());
}
@Override
@@ -144,7 +153,7 @@ public class BoolField extends PrimitiveFieldType {
private static final CharsRef TRUE = new CharsRef("true");
private static final CharsRef FALSE = new CharsRef("false");
-
+
@Override
public CharsRef indexedToReadable(BytesRef input, CharsRefBuilder charsRef) {
if (input.length > 0 && input.bytes[input.offset] == 'T') {
@@ -169,6 +178,36 @@ public class BoolField extends PrimitiveFieldType {
public Object unmarshalSortValue(Object value) {
return unmarshalStringSortValue(value);
}
+
+ @Override
+ public List<IndexableField> createFields(SchemaField field, Object value, float boost) {
+ IndexableField fval = createField(field, value, boost);
+
+ if (field.hasDocValues()) {
+ IndexableField docval;
+ final BytesRef bytes = new BytesRef(toInternal(value.toString()));
+ if (field.multiValued()) {
+ docval = new SortedSetDocValuesField(field.getName(), bytes);
+ } else {
+ docval = new SortedDocValuesField(field.getName(), bytes);
+ }
+
+ // Only create a list of we have 2 values...
+ if (fval != null) {
+ List<IndexableField> fields = new ArrayList<>(2);
+ fields.add(fval);
+ fields.add(docval);
+ return fields;
+ }
+
+ fval = docval;
+ }
+ return Collections.singletonList(fval);
+ }
+
+ @Override
+ public void checkSchemaField(final SchemaField field) {
+ }
}
// TODO - this can be much more efficient - use FixedBitSet or Bits
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
index 33d616e..213f758 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
@@ -112,6 +112,7 @@ import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestInfo;
import org.apache.solr.response.SolrQueryResponse;
+import org.apache.solr.schema.BoolField;
import org.apache.solr.schema.EnumField;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
@@ -841,8 +842,15 @@ public class SolrIndexSearcher extends IndexSearcher implements Closeable, SolrI
break;
case SORTED:
SortedDocValues sdv = leafReader.getSortedDocValues(fieldName);
- if (sdv.getOrd(docid) >= 0) {
- doc.addField(fieldName, sdv.get(docid).utf8ToString());
+ int ord = sdv.getOrd(docid);
+ if (ord >= 0) {
+ // Special handling for Boolean fields since they're stored as 'T' and 'F'.
+ if (schemaField.getType() instanceof BoolField) {
+ final BytesRef bRef = sdv.lookupOrd(ord);
+ doc.addField(fieldName, schemaField.getType().toObject(schemaField, bRef));
+ } else {
+ doc.addField(fieldName, sdv.get(docid).utf8ToString());
+ }
}
break;
case SORTED_NUMERIC:
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/test-files/solr/collection1/conf/schema-docValues.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema-docValues.xml b/solr/core/src/test-files/solr/collection1/conf/schema-docValues.xml
index 59fe99a..c7b7de8 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema-docValues.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema-docValues.xml
@@ -61,7 +61,8 @@
<field name="longdv" type="long" indexed="false" stored="false" docValues="true" default="4"/>
<field name="datedv" type="date" indexed="false" stored="false" docValues="true" default="1995-12-31T23:59:59.999Z"/>
- <field name="stringdv" type="string" indexed="false" stored="false" docValues="true" default="solr"/>
+ <field name="stringdv" type="string" indexed="false" stored="false" docValues="true" default="solr" />
+ <field name="booldv" type="boolean" indexed="false" stored="false" docValues="true" default="true" />
<field name="floatdvs" type="float" indexed="false" stored="false" docValues="true" default="1"/>
<field name="intdvs" type="int" indexed="false" stored="false" docValues="true" default="2"/>
@@ -69,7 +70,7 @@
<field name="longdvs" type="long" indexed="false" stored="false" docValues="true" default="4"/>
<field name="datedvs" type="date" indexed="false" stored="false" docValues="true" default="1995-12-31T23:59:59.999Z"/>
<field name="stringdvs" type="string" indexed="false" stored="false" docValues="true" default="solr"/>
-
+ <field name="booldvs" type="boolean" indexed="false" stored="false" docValues="true" default="true"/>
<uniqueKey>id</uniqueKey>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMissing.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMissing.xml b/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMissing.xml
index 2204749..ac319e2 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMissing.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMissing.xml
@@ -25,6 +25,7 @@
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="string" class="solr.StrField"/>
+ <fieldType name="boolean" class="solr.BoolField"/>
<field name="id" type="string" required="true"/>
@@ -61,6 +62,13 @@
sortMissingLast="true"/>
+ <field name="booldv" type="boolean" indexed="false" stored="false" docValues="true"/>
+ <field name="booldv_missingfirst" type="boolean" indexed="false" stored="false" docValues="true"
+ sortMissingFirst="true"/>
+ <field name="booldv_missinglast" type="boolean" indexed="false" stored="false" docValues="true"
+ sortMissingLast="true"/>
+
+
<dynamicField name="*_floatdv" type="float" indexed="false" stored="false" docValues="true"/>
<dynamicField name="*_floatdv_missingfirst" type="float" indexed="false" stored="false" docValues="true"
sortMissingFirst="true"/>
@@ -97,6 +105,11 @@
<dynamicField name="*_stringdv_missinglast" type="string" indexed="false" stored="false" docValues="true"
sortMissingLast="true"/>
+ <dynamicField name="*_booldv" type="boolean" indexed="false" stored="false" docValues="true"/>
+ <dynamicField name="*_booldv_missingfirst" type="boolean" indexed="false" stored="false" docValues="true"
+ sortMissingFirst="true"/>
+ <dynamicField name="*_booldv_missinglast" type="boolean" indexed="false" stored="false" docValues="true"
+ sortMissingLast="true"/>
<uniqueKey>id</uniqueKey>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMulti.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMulti.xml b/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMulti.xml
index 93a8588..81c7836 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMulti.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema-docValuesMulti.xml
@@ -42,6 +42,7 @@
<field name="datedv" type="date" indexed="false" stored="false" docValues="true" multiValued="true"/>
<field name="stringdv" type="string" indexed="false" stored="false" docValues="true" multiValued="true"/>
+ <field name="booldv" type="boolean" indexed="false" stored="false" docValues="true" multiValued="true"/>
<uniqueKey>id</uniqueKey>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/test-files/solr/collection1/conf/schema15.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema15.xml b/solr/core/src/test-files/solr/collection1/conf/schema15.xml
index 82faa6a..d545149 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema15.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema15.xml
@@ -452,6 +452,7 @@
<field name="bind" type="boolean" indexed="true" stored="false"/>
<field name="bsto" type="boolean" indexed="false" stored="true"/>
<field name="bindsto" type="boolean" indexed="true" stored="true"/>
+ <field name="bindstom" type="boolean" indexed="true" stored="true" multiValued="true"/>
<field name="isto" type="int" indexed="false" stored="true"/>
<field name="iind" type="int" indexed="true" stored="false"/>
<field name="ssto" type="string" indexed="false" stored="true"/>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/test/org/apache/solr/schema/DocValuesMissingTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/DocValuesMissingTest.java b/solr/core/src/test/org/apache/solr/schema/DocValuesMissingTest.java
index 847130b..04d38fd 100644
--- a/solr/core/src/test/org/apache/solr/schema/DocValuesMissingTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/DocValuesMissingTest.java
@@ -18,6 +18,7 @@ package org.apache.solr.schema;
import org.apache.solr.SolrTestCaseJ4;
import org.junit.BeforeClass;
+import org.junit.Test;
/**
* Tests things like sorting on docvalues with missing values
@@ -123,239 +124,290 @@ public class DocValuesMissingTest extends SolrTestCaseJ4 {
}
/** float with default lucene sort (treats as 0) */
+ @Test
public void testFloatSort() throws Exception {
checkSortMissingDefault("floatdv", "-1.3", "4.2");
}
/** dynamic float with default lucene sort (treats as 0) */
+ @Test
public void testDynFloatSort() throws Exception {
checkSortMissingDefault("dyn_floatdv", "-1.3", "4.2");
}
/** float with sort missing always first */
+ @Test
public void testFloatSortMissingFirst() throws Exception {
checkSortMissingFirst("floatdv_missingfirst", "-1.3", "4.2");
}
/** dynamic float with sort missing always first */
+ @Test
public void testDynFloatSortMissingFirst() throws Exception {
checkSortMissingFirst("dyn_floatdv_missingfirst", "-1.3", "4.2");
}
/** float with sort missing always last */
+ @Test
public void testFloatSortMissingLast() throws Exception {
checkSortMissingLast("floatdv_missinglast", "-1.3", "4.2");
}
/** dynamic float with sort missing always last */
+ @Test
public void testDynFloatSortMissingLast() throws Exception {
checkSortMissingLast("dyn_floatdv_missinglast", "-1.3", "4.2");
}
/** float function query based on missing */
+ @Test
public void testFloatMissingFunction() throws Exception {
checkSortMissingFunction("floatdv", "-1.3", "4.2");
}
/** dyanmic float function query based on missing */
+ @Test
public void testDynFloatMissingFunction() throws Exception {
checkSortMissingFunction("dyn_floatdv", "-1.3", "4.2");
}
/** float missing facet count */
+ @Test
public void testFloatMissingFacet() throws Exception {
checkSortMissingFacet("floatdv", "-1.3", "4.2");
}
/** dynamic float missing facet count */
+ @Test
public void testDynFloatMissingFacet() throws Exception {
checkSortMissingFacet("dyn_floatdv", "-1.3", "4.2");
}
/** int with default lucene sort (treats as 0) */
+ @Test
public void testIntSort() throws Exception {
checkSortMissingDefault("intdv", "-1", "4");
}
/** dynamic int with default lucene sort (treats as 0) */
+ @Test
public void testDynIntSort() throws Exception {
checkSortMissingDefault("dyn_intdv", "-1", "4");
}
/** int with sort missing always first */
+ @Test
public void testIntSortMissingFirst() throws Exception {
checkSortMissingFirst("intdv_missingfirst", "-1", "4");
}
/** dynamic int with sort missing always first */
+ @Test
public void testDynIntSortMissingFirst() throws Exception {
checkSortMissingFirst("dyn_intdv_missingfirst", "-1", "4");
}
/** int with sort missing always last */
+ @Test
public void testIntSortMissingLast() throws Exception {
checkSortMissingLast("intdv_missinglast", "-1", "4");
}
/** dynamic int with sort missing always last */
+ @Test
public void testDynIntSortMissingLast() throws Exception {
checkSortMissingLast("dyn_intdv_missinglast", "-1", "4");
}
/** int function query based on missing */
+ @Test
public void testIntMissingFunction() throws Exception {
checkSortMissingFunction("intdv", "-1", "4");
}
/** dynamic int function query based on missing */
+ @Test
public void testDynIntMissingFunction() throws Exception {
checkSortMissingFunction("dyn_intdv", "-1", "4");
}
/** int missing facet count */
+ @Test
public void testIntMissingFacet() throws Exception {
checkSortMissingFacet("intdv", "-1", "4");
}
/** dynamic int missing facet count */
+ @Test
public void testDynIntMissingFacet() throws Exception {
checkSortMissingFacet("dyn_intdv", "-1", "4");
}
/** double with default lucene sort (treats as 0) */
+ @Test
public void testDoubleSort() throws Exception {
checkSortMissingDefault("doubledv", "-1.3", "4.2");
}
/** dynamic double with default lucene sort (treats as 0) */
+ @Test
public void testDynDoubleSort() throws Exception {
checkSortMissingDefault("dyn_doubledv", "-1.3", "4.2");
}
/** double with sort missing always first */
+ @Test
public void testDoubleSortMissingFirst() throws Exception {
checkSortMissingFirst("doubledv_missingfirst", "-1.3", "4.2");
}
/** dynamic double with sort missing always first */
+ @Test
public void testDynDoubleSortMissingFirst() throws Exception {
checkSortMissingFirst("dyn_doubledv_missingfirst", "-1.3", "4.2");
}
/** double with sort missing always last */
+ @Test
public void testDoubleSortMissingLast() throws Exception {
checkSortMissingLast("doubledv_missinglast", "-1.3", "4.2");
}
/** dynamic double with sort missing always last */
+ @Test
public void testDynDoubleSortMissingLast() throws Exception {
checkSortMissingLast("dyn_doubledv_missinglast", "-1.3", "4.2");
}
/** double function query based on missing */
+ @Test
public void testDoubleMissingFunction() throws Exception {
checkSortMissingFunction("doubledv", "-1.3", "4.2");
}
/** dyanmic double function query based on missing */
+ @Test
public void testDynDoubleMissingFunction() throws Exception {
checkSortMissingFunction("dyn_doubledv", "-1.3", "4.2");
}
/** double missing facet count */
+ @Test
public void testDoubleMissingFacet() throws Exception {
checkSortMissingFacet("doubledv", "-1.3", "4.2");
}
/** dynamic double missing facet count */
+ @Test
public void testDynDoubleMissingFacet() throws Exception {
checkSortMissingFacet("dyn_doubledv", "-1.3", "4.2");
}
/** long with default lucene sort (treats as 0) */
+ @Test
public void testLongSort() throws Exception {
checkSortMissingDefault("longdv", "-1", "4");
}
/** dynamic long with default lucene sort (treats as 0) */
+ @Test
public void testDynLongSort() throws Exception {
checkSortMissingDefault("dyn_longdv", "-1", "4");
}
/** long with sort missing always first */
+ @Test
public void testLongSortMissingFirst() throws Exception {
checkSortMissingFirst("longdv_missingfirst", "-1", "4");
}
/** dynamic long with sort missing always first */
+ @Test
public void testDynLongSortMissingFirst() throws Exception {
checkSortMissingFirst("dyn_longdv_missingfirst", "-1", "4");
}
/** long with sort missing always last */
+ @Test
public void testLongSortMissingLast() throws Exception {
checkSortMissingLast("longdv_missinglast", "-1", "4");
}
/** dynamic long with sort missing always last */
+ @Test
public void testDynLongSortMissingLast() throws Exception {
checkSortMissingLast("dyn_longdv_missinglast", "-1", "4");
}
/** long function query based on missing */
+ @Test
public void testLongMissingFunction() throws Exception {
checkSortMissingFunction("longdv", "-1", "4");
}
/** dynamic long function query based on missing */
+ @Test
public void testDynLongMissingFunction() throws Exception {
checkSortMissingFunction("dyn_longdv", "-1", "4");
}
/** long missing facet count */
+ @Test
public void testLongMissingFacet() throws Exception {
checkSortMissingFacet("longdv", "-1", "4");
}
/** dynamic long missing facet count */
+ @Test
public void testDynLongMissingFacet() throws Exception {
checkSortMissingFacet("dyn_longdv", "-1", "4");
}
/** date with default lucene sort (treats as 1970) */
+ @Test
public void testDateSort() throws Exception {
checkSortMissingDefault("datedv", "1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** dynamic date with default lucene sort (treats as 1970) */
+ @Test
public void testDynDateSort() throws Exception {
checkSortMissingDefault("dyn_datedv", "1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** date with sort missing always first */
+ @Test
public void testDateSortMissingFirst() throws Exception {
checkSortMissingFirst("datedv_missingfirst",
"1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** dynamic date with sort missing always first */
+ @Test
public void testDynDateSortMissingFirst() throws Exception {
checkSortMissingFirst("dyn_datedv_missingfirst",
"1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** date with sort missing always last */
+ @Test
public void testDateSortMissingLast() throws Exception {
checkSortMissingLast("datedv_missinglast",
"1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** dynamic date with sort missing always last */
+ @Test
public void testDynDateSortMissingLast() throws Exception {
checkSortMissingLast("dyn_datedv_missinglast",
"1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** date function query based on missing */
+ @Test
public void testDateMissingFunction() throws Exception {
checkSortMissingFunction("datedv",
"1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** dynamic date function query based on missing */
+ @Test
public void testDynDateMissingFunction() throws Exception {
checkSortMissingFunction("dyn_datedv",
"1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** date missing facet count */
+ @Test
public void testDateMissingFacet() throws Exception {
checkSortMissingFacet("datedv",
"1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** dynamic date missing facet count */
+ @Test
public void testDynDateMissingFacet() throws Exception {
checkSortMissingFacet("dyn_datedv",
"1900-12-31T23:59:59.999Z", "2005-12-31T23:59:59.999Z");
}
/** string (and dynamic string) with default lucene sort (treats as "") */
+ @Test
public void testStringSort() throws Exception {
// note: cant use checkSortMissingDefault because
@@ -377,33 +429,40 @@ public class DocValuesMissingTest extends SolrTestCaseJ4 {
}
/** string with sort missing always first */
+ @Test
public void testStringSortMissingFirst() throws Exception {
checkSortMissingFirst("stringdv_missingfirst", "a", "z");
}
/** dynamic string with sort missing always first */
+ @Test
public void testDynStringSortMissingFirst() throws Exception {
checkSortMissingFirst("dyn_stringdv_missingfirst", "a", "z");
}
/** string with sort missing always last */
+ @Test
public void testStringSortMissingLast() throws Exception {
checkSortMissingLast("stringdv_missinglast", "a", "z");
}
/** dynamic string with sort missing always last */
+ @Test
public void testDynStringSortMissingLast() throws Exception {
checkSortMissingLast("dyn_stringdv_missinglast", "a", "z");
}
/** string function query based on missing */
+ @Test
public void testStringMissingFunction() throws Exception {
checkSortMissingFunction("stringdv", "a", "z");
}
/** dynamic string function query based on missing */
+ @Test
public void testDynStringMissingFunction() throws Exception {
checkSortMissingFunction("dyn_stringdv", "a", "z");
}
/** string missing facet count */
+ @Test
public void testStringMissingFacet() throws Exception {
assertU(adoc("id", "0")); // missing
assertU(adoc("id", "1")); // missing
@@ -415,4 +474,74 @@ public class DocValuesMissingTest extends SolrTestCaseJ4 {
"//lst[@name='facet_fields']/lst[@name='stringdv']/int[@name='z'][.=1]",
"//lst[@name='facet_fields']/lst[@name='stringdv']/int[.=2]");
}
+
+ /** bool (and dynamic bool) with default lucene sort (treats as "") */
+ @Test
+ public void testBoolSort() throws Exception {
+ // note: cant use checkSortMissingDefault because
+ // nothing sorts lower then the default of "" and
+ // bool fields are, at root, string fields.
+ for (String field : new String[] {"booldv","dyn_booldv"}) {
+ assertU(adoc("id", "0")); // missing
+ assertU(adoc("id", "1", field, "false"));
+ assertU(adoc("id", "2", field, "true"));
+ assertU(commit());
+ assertQ(req("q", "*:*", "sort", field+" asc"),
+ "//result/doc[1]/str[@name='id'][.=0]",
+ "//result/doc[2]/str[@name='id'][.=1]",
+ "//result/doc[3]/str[@name='id'][.=2]");
+ assertQ(req("q", "*:*", "sort", field+" desc"),
+ "//result/doc[1]/str[@name='id'][.=2]",
+ "//result/doc[2]/str[@name='id'][.=1]",
+ "//result/doc[3]/str[@name='id'][.=0]");
+ }
+ }
+
+ /** bool with sort missing always first */
+ @Test
+ public void testBoolSortMissingFirst() throws Exception {
+ checkSortMissingFirst("booldv_missingfirst", "false", "ture");
+ }
+ /** dynamic bool with sort missing always first */
+ @Test
+ public void testDynBoolSortMissingFirst() throws Exception {
+ checkSortMissingFirst("dyn_booldv_missingfirst", "false", "true");
+ }
+
+ /** bool with sort missing always last */
+ @Test
+ public void testBoolSortMissingLast() throws Exception {
+ checkSortMissingLast("booldv_missinglast", "false", "true");
+ }
+ /** dynamic bool with sort missing always last */
+ @Test
+ public void testDynBoolSortMissingLast() throws Exception {
+ checkSortMissingLast("dyn_booldv_missinglast", "false", "true");
+ }
+
+ /** bool function query based on missing */
+ @Test
+ public void testBoolMissingFunction() throws Exception {
+ checkSortMissingFunction("booldv", "false", "true");
+ }
+ /** dynamic bool function query based on missing */
+ @Test
+ public void testDynBoolMissingFunction() throws Exception {
+ checkSortMissingFunction("dyn_booldv", "false", "true");
+ }
+
+ /** bool missing facet count */
+ @Test
+ public void testBoolMissingFacet() throws Exception {
+ assertU(adoc("id", "0")); // missing
+ assertU(adoc("id", "1")); // missing
+ assertU(adoc("id", "2", "booldv", "false"));
+ assertU(adoc("id", "3", "booldv", "true"));
+ assertU(commit());
+ assertQ(req("q", "*:*", "facet", "true", "facet.field", "booldv", "facet.mincount", "1", "facet.missing", "true"),
+ "//lst[@name='facet_fields']/lst[@name='booldv']/int[@name='false'][.=1]",
+ "//lst[@name='facet_fields']/lst[@name='booldv']/int[@name='true'][.=1]",
+ "//lst[@name='facet_fields']/lst[@name='booldv']/int[.=2]");
+ }
+
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java b/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
index 7b4a5db..90c8b73 100644
--- a/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
@@ -25,6 +25,7 @@ import org.apache.solr.core.SolrCore;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.RefCounted;
import org.junit.BeforeClass;
+import org.junit.Test;
import java.io.IOException;
@@ -36,7 +37,7 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
// sanity check our schema meets our expectations
final IndexSchema schema = h.getCore().getLatestSchema();
- for (String f : new String[] {"floatdv", "intdv", "doubledv", "longdv", "datedv", "stringdv"}) {
+ for (String f : new String[] {"floatdv", "intdv", "doubledv", "longdv", "datedv", "stringdv", "booldv"}) {
final SchemaField sf = schema.getField(f);
assertTrue(f + " is not multiValued, test is useless, who changed the schema?",
sf.multiValued());
@@ -52,8 +53,11 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
assertU(delQ("*:*"));
}
+ @Test
public void testDocValues() throws IOException {
- assertU(adoc("id", "1", "floatdv", "4.5", "intdv", "-1", "intdv", "3", "stringdv", "value1", "stringdv", "value2"));
+ assertU(adoc("id", "1", "floatdv", "4.5", "intdv", "-1", "intdv", "3",
+ "stringdv", "value1", "stringdv", "value2",
+ "booldv", "false", "booldv", "true"));
assertU(commit());
try (SolrCore core = h.getCoreInc()) {
final RefCounted<SolrIndexSearcher> searcherRef = core.openNewSearcher(true, true);
@@ -63,6 +67,7 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
assertEquals(1, reader.numDocs());
final FieldInfos infos = reader.getFieldInfos();
assertEquals(DocValuesType.SORTED_SET, infos.fieldInfo("stringdv").getDocValuesType());
+ assertEquals(DocValuesType.SORTED_SET, infos.fieldInfo("booldv").getDocValuesType());
assertEquals(DocValuesType.SORTED_SET, infos.fieldInfo("floatdv").getDocValuesType());
assertEquals(DocValuesType.SORTED_SET, infos.fieldInfo("intdv").getDocValuesType());
@@ -71,6 +76,14 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
assertEquals(0, dv.nextOrd());
assertEquals(1, dv.nextOrd());
assertEquals(SortedSetDocValues.NO_MORE_ORDS, dv.nextOrd());
+
+ dv = reader.getSortedSetDocValues("booldv");
+ dv.setDocument(0);
+ assertEquals(0, dv.nextOrd());
+ assertEquals(1, dv.nextOrd());
+ assertEquals(SortedSetDocValues.NO_MORE_ORDS, dv.nextOrd());
+
+
} finally {
searcherRef.decref();
}
@@ -80,6 +93,7 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
/** Tests the ability to do basic queries (without scoring, just match-only) on
* string docvalues fields that are not inverted (indexed "forward" only)
*/
+ @Test
public void testStringDocValuesMatch() throws Exception {
assertU(adoc("id", "1", "stringdv", "b"));
assertU(adoc("id", "2", "stringdv", "a"));
@@ -123,10 +137,49 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
"//result/doc[1]/str[@name='id'][.=4]"
);
}
-
+
+ /** Tests the ability to do basic queries (without scoring, just match-only) on
+ * boolean docvalues fields that are not inverted (indexed "forward" only)
+ */
+ @Test
+ public void testBoolDocValuesMatch() throws Exception {
+ assertU(adoc("id", "1", "booldv", "true"));
+ assertU(adoc("id", "2", "booldv", "false"));
+ assertU(adoc("id", "3", "booldv", "true"));
+ assertU(adoc("id", "4", "booldv", "false"));
+ assertU(adoc("id", "5", "booldv", "true", "booldv", "false"));
+ assertU(commit());
+
+ // string: termquery
+ assertQ(req("q", "booldv:true", "sort", "id asc"),
+ "//*[@numFound='3']",
+ "//result/doc[1]/str[@name='id'][.=1]",
+ "//result/doc[2]/str[@name='id'][.=3]",
+ "//result/doc[3]/str[@name='id'][.=5]"
+ );
+
+ // boolean: range query,
+ assertQ(req("q", "booldv:[false TO false]", "sort", "id asc"),
+ "//*[@numFound='3']",
+ "//result/doc[1]/str[@name='id'][.=2]",
+ "//result/doc[2]/str[@name='id'][.=4]",
+ "//result/doc[3]/str[@name='id'][.=5]");
+
+
+ assertQ(req("q", "*:*", "sort", "id asc", "rows", "10", "fl", "booldv"),
+ "//result/doc[1]/arr[@name='booldv']/bool[1][.='true']",
+ "//result/doc[2]/arr[@name='booldv']/bool[1][.='false']",
+ "//result/doc[3]/arr[@name='booldv']/bool[1][.='true']",
+ "//result/doc[4]/arr[@name='booldv']/bool[1][.='false']",
+ "//result/doc[5]/arr[@name='booldv']/bool[1][.='false']",
+ "//result/doc[5]/arr[@name='booldv']/bool[2][.='true']"
+ );
+
+ }
/** Tests the ability to do basic queries (without scoring, just match-only) on
* float docvalues fields that are not inverted (indexed "forward" only)
*/
+ @Test
public void testFloatDocValuesMatch() throws Exception {
assertU(adoc("id", "1", "floatdv", "2"));
assertU(adoc("id", "2", "floatdv", "-5"));
@@ -166,6 +219,7 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
/** Tests the ability to do basic queries (without scoring, just match-only) on
* double docvalues fields that are not inverted (indexed "forward" only)
*/
+ @Test
public void testDoubleDocValuesMatch() throws Exception {
assertU(adoc("id", "1", "doubledv", "2"));
assertU(adoc("id", "2", "doubledv", "-5"));
@@ -201,17 +255,34 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
"//result/doc[1]/str[@name='id'][.=2]"
);
}
-
+ @Test
public void testDocValuesFacetingSimple() {
// this is the random test verbatim from DocValuesTest, so it populates with the default values defined in its schema.
for (int i = 0; i < 50; ++i) {
- assertU(adoc("id", "" + i, "floatdv", "1", "intdv", "2", "doubledv", "3", "longdv", "4", "datedv", "1995-12-31T23:59:59.999Z"));
+ assertU(adoc("id", "" + i, "floatdv", "1", "intdv", "2", "doubledv", "3", "longdv", "4",
+ "datedv", "1995-12-31T23:59:59.999Z",
+ "stringdv", "abc", "booldv", "true"));
}
for (int i = 0; i < 50; ++i) {
if (rarely()) {
assertU(commit()); // to have several segments
}
- assertU(adoc("id", "1000" + i, "floatdv", "" + i, "intdv", "" + i, "doubledv", "" + i, "longdv", "" + i, "datedv", (1900+i) + "-12-31T23:59:59.999Z", "stringdv", "abc" + i));
+ switch (i % 3) {
+ case 0:
+ assertU(adoc("id", "1000" + i, "floatdv", "" + i, "intdv", "" + i, "doubledv", "" + i, "longdv", "" + i,
+ "datedv", (1900+i) + "-12-31T23:59:59.999Z", "stringdv", "abc" + i, "booldv", "true", "booldv", "true"));
+ break;
+ case 1:
+ assertU(adoc("id", "1000" + i, "floatdv", "" + i, "intdv", "" + i, "doubledv", "" + i, "longdv", "" + i,
+ "datedv", (1900+i) + "-12-31T23:59:59.999Z", "stringdv", "abc" + i, "booldv", "false", "booldv", "false"));
+ break;
+ case 2:
+ assertU(adoc("id", "1000" + i, "floatdv", "" + i, "intdv", "" + i, "doubledv", "" + i, "longdv", "" + i,
+ "datedv", (1900+i) + "-12-31T23:59:59.999Z", "stringdv", "abc" + i, "booldv", "true", "booldv", "false"));
+ break;
+ }
+
+
}
assertU(commit());
assertQ(req("q", "*:*", "facet", "true", "rows", "0", "facet.field", "longdv", "facet.sort", "count", "facet.limit", "1"),
@@ -248,5 +319,25 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
"//lst[@name='datedv']/int[@name='1900-12-31T23:59:59.999Z'][.='1']");
assertQ(req("q", "*:*", "facet", "true", "rows", "0", "facet.field", "datedv", "facet.sort", "index", "facet.offset", "33", "facet.limit", "1", "facet.mincount", "1"),
"//lst[@name='datedv']/int[@name='1933-12-31T23:59:59.999Z'][.='1']");
+
+
+ assertQ(req("q", "*:*", "facet", "true", "rows", "0", "facet.field", "stringdv", "facet.sort", "count", "facet.limit", "1"),
+ "//lst[@name='stringdv']/int[@name='abc'][.='50']");
+ assertQ(req("q", "*:*", "facet", "true", "rows", "0", "facet.field", "stringdv", "facet.sort", "count", "facet.offset", "1", "facet.limit", "-1", "facet.mincount", "1"),
+ "//lst[@name='stringdv']/int[@name='abc1'][.='1']",
+ "//lst[@name='stringdv']/int[@name='abc13'][.='1']",
+ "//lst[@name='stringdv']/int[@name='abc19'][.='1']",
+ "//lst[@name='stringdv']/int[@name='abc49'][.='1']"
+ );
+
+ // Even though offseting by 33, the sort order is abc1 abc11....abc2 so it throws the position in the return list off.
+ assertQ(req("q", "*:*", "facet", "true", "rows", "0", "facet.field", "stringdv", "facet.sort", "index", "facet.offset", "33", "facet.limit", "1", "facet.mincount", "1"),
+ "//lst[@name='stringdv']/int[@name='abc38'][.='1']");
+
+
+ assertQ(req("q", "*:*", "facet", "true", "rows", "0", "facet.field", "booldv", "facet.sort", "count"),
+ "//lst[@name='booldv']/int[@name='true'][.='83']",
+ "//lst[@name='booldv']/int[@name='false'][.='33']");
+
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/core/src/test/org/apache/solr/schema/DocValuesTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/DocValuesTest.java b/solr/core/src/test/org/apache/solr/schema/DocValuesTest.java
index b4248da..d59d326 100644
--- a/solr/core/src/test/org/apache/solr/schema/DocValuesTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/DocValuesTest.java
@@ -27,6 +27,7 @@ import org.apache.solr.core.SolrCore;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.RefCounted;
import org.junit.BeforeClass;
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,7 +50,7 @@ public class DocValuesTest extends SolrTestCaseJ4 {
// sanity check our schema meets our expectations
final IndexSchema schema = h.getCore().getLatestSchema();
- for (String f : new String[] {"floatdv", "intdv", "doubledv", "longdv", "datedv", "stringdv"}) {
+ for (String f : new String[] {"floatdv", "intdv", "doubledv", "longdv", "datedv", "stringdv", "booldv"}) {
final SchemaField sf = schema.getField(f);
assertFalse(f + " is multiValued, test is useless, who changed the schema?",
sf.multiValued());
@@ -65,6 +66,7 @@ public class DocValuesTest extends SolrTestCaseJ4 {
assertU(delQ("*:*"));
}
+ @Test
public void testDocValues() throws IOException {
assertU(adoc("id", "1"));
assertU(commit());
@@ -80,17 +82,21 @@ public class DocValuesTest extends SolrTestCaseJ4 {
assertEquals(DocValuesType.NUMERIC, infos.fieldInfo("doubledv").getDocValuesType());
assertEquals(DocValuesType.NUMERIC, infos.fieldInfo("longdv").getDocValuesType());
assertEquals(DocValuesType.SORTED, infos.fieldInfo("stringdv").getDocValuesType());
+ assertEquals(DocValuesType.SORTED, infos.fieldInfo("booldv").getDocValuesType());
assertEquals((long) Float.floatToIntBits(1), reader.getNumericDocValues("floatdv").get(0));
assertEquals(2L, reader.getNumericDocValues("intdv").get(0));
assertEquals(Double.doubleToLongBits(3), reader.getNumericDocValues("doubledv").get(0));
assertEquals(4L, reader.getNumericDocValues("longdv").get(0));
+ assertEquals("solr", reader.getSortedDocValues("stringdv").get(0).utf8ToString());
+ assertEquals("T", reader.getSortedDocValues("booldv").get(0).utf8ToString());
final IndexSchema schema = core.getLatestSchema();
final SchemaField floatDv = schema.getField("floatdv");
final SchemaField intDv = schema.getField("intdv");
final SchemaField doubleDv = schema.getField("doubledv");
final SchemaField longDv = schema.getField("longdv");
+ final SchemaField boolDv = schema.getField("booldv");
FunctionValues values = floatDv.getType().getValueSource(floatDv, null).getValues(null, searcher.getLeafReader().leaves().get(0));
assertEquals(1f, values.floatVal(0), 0f);
@@ -104,6 +110,10 @@ public class DocValuesTest extends SolrTestCaseJ4 {
values = longDv.getType().getValueSource(longDv, null).getValues(null, searcher.getLeafReader().leaves().get(0));
assertEquals(4L, values.longVal(0));
assertEquals(4L, values.objectVal(0));
+
+ values = boolDv.getType().getValueSource(boolDv, null).getValues(null, searcher.getLeafReader().leaves().get(0));
+ assertEquals("true", values.strVal(0));
+ assertEquals(true, values.objectVal(0));
// check reversibility of created fields
tstToObj(schema.getField("floatdv"), -1.5f);
@@ -118,6 +128,8 @@ public class DocValuesTest extends SolrTestCaseJ4 {
tstToObj(schema.getField("datedvs"), new Date(1000));
tstToObj(schema.getField("stringdv"), "foo");
tstToObj(schema.getField("stringdvs"), "foo");
+ tstToObj(schema.getField("booldv"), true);
+ tstToObj(schema.getField("booldvs"), true);
} finally {
searcherRef.decref();
@@ -132,10 +144,11 @@ public class DocValuesTest extends SolrTestCaseJ4 {
}
}
+ @Test
public void testDocValuesSorting() {
- assertU(adoc("id", "1", "floatdv", "2", "intdv", "3", "doubledv", "4", "longdv", "5", "datedv", "1995-12-31T23:59:59.999Z", "stringdv", "b"));
- assertU(adoc("id", "2", "floatdv", "5", "intdv", "4", "doubledv", "3", "longdv", "2", "datedv", "1997-12-31T23:59:59.999Z", "stringdv", "a"));
- assertU(adoc("id", "3", "floatdv", "3", "intdv", "1", "doubledv", "2", "longdv", "1", "datedv", "1996-12-31T23:59:59.999Z", "stringdv", "c"));
+ assertU(adoc("id", "1", "floatdv", "2", "intdv", "3", "doubledv", "4", "longdv", "5", "datedv", "1995-12-31T23:59:59.999Z", "stringdv", "b", "booldv", "true"));
+ assertU(adoc("id", "2", "floatdv", "5", "intdv", "4", "doubledv", "3", "longdv", "2", "datedv", "1997-12-31T23:59:59.999Z", "stringdv", "a", "booldv", "false"));
+ assertU(adoc("id", "3", "floatdv", "3", "intdv", "1", "doubledv", "2", "longdv", "1", "datedv", "1996-12-31T23:59:59.999Z", "stringdv", "c", "booldv", "true"));
assertU(adoc("id", "4"));
assertU(commit());
assertQ(req("q", "*:*", "sort", "floatdv desc", "rows", "1", "fl", "id"),
@@ -146,8 +159,10 @@ public class DocValuesTest extends SolrTestCaseJ4 {
"//int[@name='id'][.='1']");
assertQ(req("q", "*:*", "sort", "longdv desc", "rows", "1", "fl", "id"),
"//int[@name='id'][.='1']");
- assertQ(req("q", "*:*", "sort", "datedv desc", "rows", "1", "fl", "id"),
- "//int[@name='id'][.='2']");
+ assertQ(req("q", "*:*", "sort", "datedv desc", "rows", "1", "fl", "id,datedv"),
+ "//int[@name='id'][.='2']",
+ "//result/doc[1]/date[@name='datedv'][.='1997-12-31T23:59:59.999Z']"
+ );
assertQ(req("q", "*:*", "sort", "stringdv desc", "rows", "1", "fl", "id"),
"//int[@name='id'][.='4']");
assertQ(req("q", "*:*", "sort", "floatdv asc", "rows", "1", "fl", "id"),
@@ -162,8 +177,17 @@ public class DocValuesTest extends SolrTestCaseJ4 {
"//int[@name='id'][.='1']");
assertQ(req("q", "*:*", "sort", "stringdv asc", "rows", "1", "fl", "id"),
"//int[@name='id'][.='2']");
+ assertQ(req("q", "*:*", "sort", "booldv asc", "rows", "10", "fl", "booldv,stringdv"),
+ "//result/doc[1]/bool[@name='booldv'][.='false']",
+ "//result/doc[2]/bool[@name='booldv'][.='true']",
+ "//result/doc[3]/bool[@name='booldv'][.='true']",
+ "//result/doc[4]/bool[@name='booldv'][.='true']"
+ );
+
+
}
+ @Test
public void testDocValuesSorting2() {
assertU(adoc("id", "1", "doubledv", "12"));
assertU(adoc("id", "2", "doubledv", "50.567"));
@@ -184,6 +208,7 @@ public class DocValuesTest extends SolrTestCaseJ4 {
);
}
+ @Test
public void testDocValuesFaceting() {
for (int i = 0; i < 50; ++i) {
assertU(adoc("id", "" + i));
@@ -192,7 +217,20 @@ public class DocValuesTest extends SolrTestCaseJ4 {
if (rarely()) {
assertU(commit()); // to have several segments
}
- assertU(adoc("id", "1000" + i, "floatdv", "" + i, "intdv", "" + i, "doubledv", "" + i, "longdv", "" + i, "datedv", (1900+i) + "-12-31T23:59:59.999Z", "stringdv", "abc" + i));
+ switch (i % 3) {
+ case 0:
+ assertU(adoc("id", "1000" + i, "floatdv", "" + i, "intdv", "" + i, "doubledv", "" + i, "longdv", "" + i,
+ "datedv", (1900 + i) + "-12-31T23:59:59.999Z", "stringdv", "abc" + i, "booldv", "false"));
+ break;
+ case 1:
+ assertU(adoc("id", "1000" + i, "floatdv", "" + i, "intdv", "" + i, "doubledv", "" + i, "longdv", "" + i,
+ "datedv", (1900 + i) + "-12-31T23:59:59.999Z", "stringdv", "abc" + i, "booldv", "true"));
+ break;
+ case 2:
+ assertU(adoc("id", "1000" + i, "floatdv", "" + i, "intdv", "" + i, "doubledv", "" + i, "longdv", "" + i,
+ "datedv", (1900 + i) + "-12-31T23:59:59.999Z", "stringdv", "abc" + i));
+ break;
+ }
}
assertU(commit());
assertQ(req("q", "*:*", "facet", "true", "rows", "0", "facet.field", "longdv", "facet.sort", "count", "facet.limit", "1"),
@@ -229,8 +267,20 @@ public class DocValuesTest extends SolrTestCaseJ4 {
"//lst[@name='datedv']/int[@name='1900-12-31T23:59:59.999Z'][.='1']");
assertQ(req("q", "*:*", "facet", "true", "rows", "0", "facet.field", "datedv", "facet.sort", "index", "facet.offset", "33", "facet.limit", "1", "facet.mincount", "1"),
"//lst[@name='datedv']/int[@name='1933-12-31T23:59:59.999Z'][.='1']");
+
+ assertQ(req("q", "booldv:true"),
+ "//*[@numFound='83']");
+
+ assertQ(req("q", "booldv:false"),
+ "//*[@numFound='17']");
+
+ assertQ(req("q", "*:*", "facet", "true", "rows", "0", "facet.field", "booldv", "facet.sort", "index", "facet.mincount", "1"),
+ "//lst[@name='booldv']/int[@name='false'][.='17']",
+ "//lst[@name='booldv']/int[@name='true'][.='83']");
+
}
+ @Test
public void testDocValuesStats() {
for (int i = 0; i < 50; ++i) {
assertU(adoc("id", "1000" + i, "floatdv", "" + i%2, "intdv", "" + i%3, "doubledv", "" + i%4, "longdv", "" + i%5, "datedv", (1900+i%6) + "-12-31T23:59:59.999Z", "stringdv", "abc" + i%7));
@@ -293,10 +343,11 @@ public class DocValuesTest extends SolrTestCaseJ4 {
/** Tests the ability to do basic queries (without scoring, just match-only) on
* docvalues fields that are not inverted (indexed "forward" only)
*/
+ @Test
public void testDocValuesMatch() throws Exception {
- assertU(adoc("id", "1", "floatdv", "2", "intdv", "3", "doubledv", "3.1", "longdv", "5", "datedv", "1995-12-31T23:59:59.999Z", "stringdv", "b"));
- assertU(adoc("id", "2", "floatdv", "-5", "intdv", "4", "doubledv", "-4.3", "longdv", "2", "datedv", "1997-12-31T23:59:59.999Z", "stringdv", "a"));
- assertU(adoc("id", "3", "floatdv", "3", "intdv", "1", "doubledv", "2.1", "longdv", "1", "datedv", "1996-12-31T23:59:59.999Z", "stringdv", "c"));
+ assertU(adoc("id", "1", "floatdv", "2", "intdv", "3", "doubledv", "3.1", "longdv", "5", "datedv", "1995-12-31T23:59:59.999Z", "stringdv", "b", "booldv", "false"));
+ assertU(adoc("id", "2", "floatdv", "-5", "intdv", "4", "doubledv", "-4.3", "longdv", "2", "datedv", "1997-12-31T23:59:59.999Z", "stringdv", "a", "booldv", "true"));
+ assertU(adoc("id", "3", "floatdv", "3", "intdv", "1", "doubledv", "2.1", "longdv", "1", "datedv", "1996-12-31T23:59:59.999Z", "stringdv", "c", "booldv", "false"));
assertU(adoc("id", "4", "floatdv", "3", "intdv", "-1", "doubledv", "1.5", "longdv", "1", "datedv", "1996-12-31T23:59:59.999Z", "stringdv", "car"));
assertU(commit());
@@ -439,8 +490,23 @@ public class DocValuesTest extends SolrTestCaseJ4 {
"//result/doc[1]/int[@name='id'][.=2]",
"//result/doc[2]/int[@name='id'][.=4]"
);
+ // boolean basic queries:
+
+ assertQ(req("q", "booldv:false", "sort", "id asc"),
+ "//*[@numFound='2']",
+ "//result/doc[1]/int[@name='id'][.=1]",
+ "//result/doc[2]/int[@name='id'][.=3]"
+ );
+
+ assertQ(req("q", "booldv:true", "sort", "id asc"),
+ "//*[@numFound='2']",
+ "//result/doc[1]/int[@name='id'][.=2]",
+ "//result/doc[2]/int[@name='id'][.=4]"
+ );
+
}
+ @Test
public void testFloatAndDoubleRangeQueryRandom() throws Exception {
String fieldName[] = new String[] {"floatdv", "doubledv"};
@@ -556,6 +622,7 @@ public class DocValuesTest extends SolrTestCaseJ4 {
}
}
+ @Test
public void testFloatAndDoubleRangeQuery() throws Exception {
String fieldName[] = new String[] {"floatdv", "doubledv"};
String largestNegative[] = new String[] {String.valueOf(0f-Float.MIN_NORMAL), String.valueOf(0f-Double.MIN_NORMAL)};
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/solrj/src/java/org/apache/solr/client/solrj/io/Tuple.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/Tuple.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/Tuple.java
index dee19ab..2f64651 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/Tuple.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/Tuple.java
@@ -16,10 +16,12 @@
*/
package org.apache.solr.client.solrj.io;
+import java.time.Instant;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
-import java.util.Iterator;
/**
@@ -87,6 +89,53 @@ public class Tuple implements Cloneable {
}
}
+ // Convenience method since Booleans can be pased around as Strings.
+ public Boolean getBool(Object key) {
+ Object o = this.fields.get(key);
+
+ if (o == null) {
+ return null;
+ }
+
+ if (o instanceof Boolean) {
+ return (Boolean) o;
+ } else {
+ //Attempt to parse the Boolean
+ return Boolean.parseBoolean(o.toString());
+ }
+ }
+
+ public List<Boolean> getBools(Object key) {
+ return (List<Boolean>) this.fields.get(key);
+ }
+
+ // Convenience methods since the dates are actually shipped around as Strings.
+ public Date getDate(Object key) {
+ Object o = this.fields.get(key);
+
+ if (o == null) {
+ return null;
+ }
+
+ if (o instanceof Date) {
+ return (Date) o;
+ } else {
+ //Attempt to parse the Date from a String
+ return new Date(Instant.parse(o.toString()).toEpochMilli());
+ }
+ }
+
+ public List<Date> getDates(Object key) {
+ List<String> vals = (List<String>) this.fields.get(key);
+ if (vals == null) return null;
+
+ List<Date> ret = new ArrayList<>();
+ for (String dateStr : (List<String>) this.fields.get(key)) {
+ ret.add(new Date(Instant.parse(dateStr).toEpochMilli()));
+ }
+ return ret;
+ }
+
public Double getDouble(Object key) {
Object o = this.fields.get(key);
@@ -144,4 +193,4 @@ public class Tuple implements Cloneable {
public void merge(Tuple other){
fields.putAll(other.getMap());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/solrj/src/test-files/solrj/solr/configsets/streaming/conf/schema.xml
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test-files/solrj/solr/configsets/streaming/conf/schema.xml b/solr/solrj/src/test-files/solrj/solr/configsets/streaming/conf/schema.xml
index c10f6cf..34ecdcb 100644
--- a/solr/solrj/src/test-files/solrj/solr/configsets/streaming/conf/schema.xml
+++ b/solr/solrj/src/test-files/solrj/solr/configsets/streaming/conf/schema.xml
@@ -395,8 +395,19 @@
<field name="f_multi" type="float" indexed="true" stored="true" docValues="true" multiValued="true"/>
<field name="l_multi" type="long" indexed="true" stored="true" docValues="true" multiValued="true"/>
<field name="d_multi" type="double" indexed="true" stored="true" docValues="true" multiValued="true"/>
+ <field name="dt_multi" type="date" indexed="true" stored="true" docValues="true" multiValued="true"/>
+ <field name="b_multi" type="boolean" indexed="true" stored="true" docValues="true" multiValued="true"/>
- <field name="uuid" type="uuid" stored="true" />
+ <field name="s_sing" type="string" indexed="true" stored="true" docValues="true" multiValued="false"/>
+ <field name="i_sing" type="int" indexed="true" stored="true" docValues="true" multiValued="false"/>
+ <field name="f_sing" type="float" indexed="true" stored="true" docValues="true" multiValued="false"/>
+ <field name="l_sing" type="long" indexed="true" stored="true" docValues="true" multiValued="false"/>
+ <field name="d_sing" type="double" indexed="true" stored="true" docValues="true" multiValued="false"/>
+ <field name="dt_sing" type="tdate" indexed="true" stored="true" docValues="true" multiValued="false"/>
+ <field name="b_sing" type="boolean" indexed="true" stored="true" docValues="true" multiValued="false"/>
+
+
+ <field name="uuid" type="uuid" stored="true" />
<field name="name" type="nametext" indexed="true" stored="true"/>
<field name="text" type="text" indexed="true" stored="false"/>
<field name="subject" type="text" indexed="true" stored="true"/>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/844ca4a3/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
index 1cea311..9685b74 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
@@ -17,7 +17,9 @@
package org.apache.solr.client.solrj.io.stream;
import java.io.IOException;
+import java.time.Instant;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -1740,6 +1742,132 @@ public class StreamingTest extends SolrCloudTestCase {
}
+ @Test
+ public void testDateBoolSorting() throws Exception {
+
+ new UpdateRequest()
+ .add(id, "0", "b_sing", "false", "dt_sing", "1981-03-04T01:02:03.78Z")
+ .add(id, "3", "b_sing", "true", "dt_sing", "1980-03-04T01:02:03.78Z")
+ .add(id, "2", "b_sing", "false", "dt_sing", "1981-04-04T01:02:03.78Z")
+ .add(id, "1", "b_sing", "true", "dt_sing", "1980-04-04T01:02:03.78Z")
+ .add(id, "4", "b_sing", "true", "dt_sing", "1980-04-04T01:02:03.78Z")
+ .commit(cluster.getSolrClient(), COLLECTION);
+
+
+ trySortWithQt("/export");
+ trySortWithQt("/select");
+ }
+ private void trySortWithQt(String which) throws Exception {
+ //Basic CloudSolrStream Test bools desc
+
+ SolrParams sParams = mapParams("q", "*:*", "qt", which, "fl", "id,b_sing", "sort", "b_sing asc,id asc");
+ CloudSolrStream stream = new CloudSolrStream(zkHost, COLLECTION, sParams);
+ try {
+ List<Tuple> tuples = getTuples(stream);
+
+ assert (tuples.size() == 5);
+ assertOrder(tuples, 0, 2, 1, 3, 4);
+
+ //Basic CloudSolrStream Test bools desc
+ sParams = mapParams("q", "*:*", "qt", which, "fl", "id,b_sing", "sort", "b_sing desc,id desc");
+ stream = new CloudSolrStream(zkHost, COLLECTION, sParams);
+ tuples = getTuples(stream);
+
+ assert (tuples.size() == 5);
+ assertOrder(tuples, 4, 3, 1, 2, 0);
+
+ //Basic CloudSolrStream Test dates desc
+ sParams = mapParams("q", "*:*", "qt", which, "fl", "id,dt_sing", "sort", "dt_sing desc,id asc");
+ stream = new CloudSolrStream(zkHost, COLLECTION, sParams);
+ tuples = getTuples(stream);
+
+ assert (tuples.size() == 5);
+ assertOrder(tuples, 2, 0, 1, 4, 3);
+
+ //Basic CloudSolrStream Test ates desc
+ sParams = mapParams("q", "*:*", "qt", which, "fl", "id,dt_sing", "sort", "dt_sing asc,id desc");
+ stream = new CloudSolrStream(zkHost, COLLECTION, sParams);
+ tuples = getTuples(stream);
+
+ assert (tuples.size() == 5);
+ assertOrder(tuples, 3, 4, 1, 0, 2);
+ } finally {
+ if (stream != null) {
+ stream.close();
+ }
+ }
+
+ }
+
+
+ @Test
+ public void testAllValidExportTypes() throws Exception {
+
+ //Test whether all the expected types are actually returned, including booleans and dates.
+ // The contract is that the /select and /export handlers return the same format, so we can test this once each
+ // way
+ new UpdateRequest()
+ .add(id, "0", "i_sing", "11", "i_multi", "12", "i_multi", "13",
+ "l_sing", "14", "l_multi", "15", "l_multi", "16",
+ "f_sing", "1.70", "f_multi", "1.80", "f_multi", "1.90",
+ "d_sing", "1.20", "d_multi", "1.21", "d_multi", "1.22",
+ "s_sing", "single", "s_multi", "sm1", "s_multi", "sm2",
+ "dt_sing", "1980-01-02T11:11:33.89Z", "dt_multi", "1981-03-04T01:02:03.78Z", "dt_multi", "1981-05-24T04:05:06.99Z",
+ "b_sing", "true", "b_multi", "false", "b_multi", "true"
+ )
+ .commit(cluster.getSolrClient(), COLLECTION);
+
+ tryWithQt("/export");
+ tryWithQt("/select");
+ }
+
+ // We should be getting the exact same thing back with both the export and select handlers, so test
+ private void tryWithQt(String which) throws IOException {
+ SolrParams sParams = StreamingTest.mapParams("q", "*:*", "qt", which, "fl",
+ "id,i_sing,i_multi,l_sing,l_multi,f_sing,f_multi,d_sing,d_multi,dt_sing,dt_multi,s_sing,s_multi,b_sing,b_multi",
+ "sort", "i_sing asc");
+ try (CloudSolrStream stream = new CloudSolrStream(zkHost, COLLECTION, sParams)) {
+
+ Tuple tuple = getTuple(stream); // All I really care about is that all the fields are returned. There's
+
+ assertTrue("Integers should be returned", tuple.getLong("i_sing") == 11L);
+ assertTrue("MV should be returned for i_multi", tuple.getLongs("i_multi").get(0) == 12);
+ assertTrue("MV should be returned for i_multi", tuple.getLongs("i_multi").get(1) == 13);
+
+ assertTrue("longs should be returned", tuple.getLong("l_sing") == 14L);
+ assertTrue("MV should be returned for l_multi", tuple.getLongs("l_multi").get(0) == 15);
+ assertTrue("MV should be returned for l_multi", tuple.getLongs("l_multi").get(1) == 16);
+
+ assertTrue("floats should be returned", tuple.getDouble("f_sing") == 1.7);
+ assertTrue("MV should be returned for f_multi", tuple.getDoubles("f_multi").get(0) == 1.8);
+ assertTrue("MV should be returned for f_multi", tuple.getDoubles("f_multi").get(1) == 1.9);
+
+ assertTrue("doubles should be returned", tuple.getDouble("d_sing") == 1.2);
+ assertTrue("MV should be returned for d_multi", tuple.getDoubles("d_multi").get(0) == 1.21);
+ assertTrue("MV should be returned for d_multi", tuple.getDoubles("d_multi").get(1) == 1.22);
+
+ assertTrue("Strings should be returned", tuple.getString("s_sing").equals("single"));
+ assertTrue("MV should be returned for s_multi", tuple.getStrings("s_multi").get(0).equals("sm1"));
+ assertTrue("MV should be returned for s_multi", tuple.getStrings("s_multi").get(1).equals("sm2"));
+
+ assertTrue("Dates should be returned as Strings", tuple.getString("dt_sing").equals("1980-01-02T11:11:33.890Z"));
+ assertTrue("MV dates should be returned as Strings for dt_multi", tuple.getStrings("dt_multi").get(0).equals("1981-03-04T01:02:03.780Z"));
+ assertTrue("MV dates should be returned as Strings for dt_multi", tuple.getStrings("dt_multi").get(1).equals("1981-05-24T04:05:06.990Z"));
+
+ // Also test native type conversion
+ Date dt = new Date(Instant.parse("1980-01-02T11:11:33.890Z").toEpochMilli());
+ assertTrue("Dates should be returned as Dates", tuple.getDate("dt_sing").equals(dt));
+ dt = new Date(Instant.parse("1981-03-04T01:02:03.780Z").toEpochMilli());
+ assertTrue("MV dates should be returned as Dates for dt_multi", tuple.getDates("dt_multi").get(0).equals(dt));
+ dt = new Date(Instant.parse("1981-05-24T04:05:06.990Z").toEpochMilli());
+ assertTrue("MV dates should be returned as Dates for dt_multi", tuple.getDates("dt_multi").get(1).equals(dt));
+
+ assertTrue("Booleans should be returned", tuple.getBool("b_sing"));
+ assertFalse("MV boolean should be returned for b_multi", tuple.getBools("b_multi").get(0));
+ assertTrue("MV boolean should be returned for b_multi", tuple.getBools("b_multi").get(1));
+ }
+
+ }
protected List<Tuple> getTuples(TupleStream tupleStream) throws IOException {
tupleStream.open();
List<Tuple> tuples = new ArrayList();
[32/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: remove one more
unused import
Posted by no...@apache.org.
LUCENE-7319: remove one more unused import
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/95c7e6d7
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/95c7e6d7
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/95c7e6d7
Branch: refs/heads/apiv2
Commit: 95c7e6d716ae5e96a9fff3b68bbbb2a383f4c073
Parents: c8911cc
Author: Christine Poerschke <cp...@apache.org>
Authored: Mon Jun 13 11:11:02 2016 +0100
Committer: Christine Poerschke <cp...@apache.org>
Committed: Mon Jun 13 11:11:02 2016 +0100
----------------------------------------------------------------------
.../apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95c7e6d7/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
index 6b87939..78bf299 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
@@ -49,7 +49,6 @@ import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
import org.apache.lucene.store.ChecksumIndexInput;
-import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
[27/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: remove unused imports
Posted by no...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/SegmentInfosSearcherManager.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/SegmentInfosSearcherManager.java b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/SegmentInfosSearcherManager.java
index bdb9510..4fda0fa 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/SegmentInfosSearcherManager.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/SegmentInfosSearcherManager.java
@@ -34,7 +34,6 @@ import org.apache.lucene.search.ReferenceManager;
import org.apache.lucene.search.SearcherFactory;
import org.apache.lucene.search.SearcherManager;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.ThreadInterruptedException;
/** A SearcherManager that refreshes via an externally provided (NRT) SegmentInfos, either from {@link IndexWriter} or via
* nrt replication to another index.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java
index 022298b..214c47e 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java
@@ -34,7 +34,6 @@ import org.apache.lucene.replicator.IndexAndTaxonomyRevision.SnapshotDirectoryTa
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java
index 77f323d..1477d28 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java
@@ -29,7 +29,6 @@ import org.apache.lucene.index.SnapshotDeletionPolicy;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java
index af23da1..d88218e 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java
@@ -31,7 +31,6 @@ import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.SnapshotDeletionPolicy;
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
import org.junit.After;
import org.junit.Before;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java b/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java
index a6045b5..6d27071 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java
@@ -17,8 +17,6 @@
package org.apache.lucene.replicator;
import java.util.Random;
-import java.util.concurrent.TimeUnit;
-
import org.apache.http.conn.HttpClientConnectionManager;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.lucene.util.LuceneTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Connection.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Connection.java b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Connection.java
index 7db7bc1..87fce57 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Connection.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Connection.java
@@ -23,8 +23,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.Socket;
-import java.net.SocketException;
-
import org.apache.lucene.store.DataInput;
import org.apache.lucene.store.DataOutput;
import org.apache.lucene.store.InputStreamDataInput;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Jobs.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Jobs.java b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Jobs.java
index f75a027..6968fdb 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Jobs.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/Jobs.java
@@ -19,8 +19,6 @@ package org.apache.lucene.replicator.nrt;
import java.io.Closeable;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
import java.util.PriorityQueue;
import org.apache.lucene.store.AlreadyClosedException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleCopyJob.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleCopyJob.java b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleCopyJob.java
index c8663e2..cee74ce 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleCopyJob.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleCopyJob.java
@@ -17,48 +17,13 @@ package org.apache.lucene.replicator.nrt;
* limitations under the License.
*/
-import java.io.BufferedOutputStream;
-import java.io.Closeable;
-import java.io.EOFException;
-import java.io.FileNotFoundException;
import java.io.IOException;
-import java.io.OutputStream;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.UnknownHostException;
-import java.nio.file.Files;
-import java.nio.file.NoSuchFileException;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicLong;
-
-import org.apache.lucene.codecs.CodecUtil;
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.IndexFileNames;
-import org.apache.lucene.store.DataInput;
-import org.apache.lucene.store.DataOutput;
-import org.apache.lucene.store.IOContext;
-import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.store.InputStreamDataInput;
-import org.apache.lucene.store.MockDirectoryWrapper;
-import org.apache.lucene.store.OutputStreamDataOutput;
-import org.apache.lucene.store.OutputStreamIndexOutput;
-import org.apache.lucene.store.RateLimiter;
import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
/** Handles one set of files that need copying, either because we have a
* new NRT point, or we are pre-copying merged files for merge warming. */
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleTransLog.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleTransLog.java b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleTransLog.java
index 4c11e52..dd2085f 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleTransLog.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimpleTransLog.java
@@ -30,9 +30,6 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.Term;
import org.apache.lucene.store.ByteArrayDataInput;
import org.apache.lucene.store.DataInput;
import org.apache.lucene.store.RAMOutputStream;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestNRTReplication.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestNRTReplication.java b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestNRTReplication.java
index 955d84e..576186a 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestNRTReplication.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestNRTReplication.java
@@ -32,7 +32,6 @@ import java.util.regex.Pattern;
import org.apache.lucene.document.Document;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LineFileDocs;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
import org.apache.lucene.util.LuceneTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestStressNRTReplication.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestStressNRTReplication.java b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestStressNRTReplication.java
index f2d0bf8..b53dc78 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestStressNRTReplication.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/TestStressNRTReplication.java
@@ -50,7 +50,6 @@ import org.apache.lucene.search.TermQuery;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LineFileDocs;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
import org.apache.lucene.util.LuceneTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java
index ce73e40..54f4aa4 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java
@@ -26,7 +26,6 @@ import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.store.DataInput;
import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.util.Bits;
final class IDVersionPostingsReader extends PostingsReaderBase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java
index dbb2981..0af64d9 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java
@@ -26,7 +26,6 @@ import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.store.ByteArrayDataInput;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.RamUsageEstimator;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java
index 21724bd..8f466cc 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java
@@ -26,7 +26,6 @@ import org.apache.lucene.search.BoostAttribute;
import org.apache.lucene.search.FuzzyTermsEnum;
import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
import org.apache.lucene.util.StringHelper;
import org.apache.lucene.util.UnicodeUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java
index cac0783..7c56c8b 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java
@@ -24,8 +24,6 @@ import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute;
import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.RollingBuffer;
-import org.apache.lucene.util.automaton.Automaton;
/** Consumes a TokenStream and creates an {@link TermAutomatonQuery}
* where the transition labels are tokens from the {@link
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DPoint.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DPoint.java b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DPoint.java
index 15426e6..fd48476 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DPoint.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DPoint.java
@@ -16,9 +16,6 @@
*/
package org.apache.lucene.spatial3d;
-import java.util.List;
-import java.util.ArrayList;
-
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.index.PointValues;
@@ -27,12 +24,6 @@ import org.apache.lucene.geo.GeoUtils;
import org.apache.lucene.spatial3d.geom.GeoPoint;
import org.apache.lucene.spatial3d.geom.GeoShape;
import org.apache.lucene.spatial3d.geom.PlanetModel;
-import org.apache.lucene.spatial3d.geom.GeoCircleFactory;
-import org.apache.lucene.spatial3d.geom.GeoBBoxFactory;
-import org.apache.lucene.spatial3d.geom.GeoPolygonFactory;
-import org.apache.lucene.spatial3d.geom.GeoPathFactory;
-import org.apache.lucene.spatial3d.geom.GeoCompositePolygon;
-import org.apache.lucene.spatial3d.geom.GeoPolygon;
import org.apache.lucene.search.Query;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.NumericUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoComplexPolygon.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoComplexPolygon.java b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoComplexPolygon.java
index 8528471..5e91fa7 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoComplexPolygon.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoComplexPolygon.java
@@ -19,8 +19,6 @@ package org.apache.lucene.spatial3d.geom;
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
-import java.util.Set;
-import java.util.HashSet;
/**
* GeoComplexPolygon objects are structures designed to handle very large numbers of edges.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/StandardXYZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/StandardXYZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/StandardXYZSolid.java
index a88675a..0f79f24 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/StandardXYZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/StandardXYZSolid.java
@@ -16,8 +16,6 @@
*/
package org.apache.lucene.spatial3d.geom;
-import java.util.Arrays;
-
/**
* 3D rectangle, bounded on six sides by X,Y,Z limits
*
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java b/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java
index fed5ada..d9baf61 100644
--- a/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java
@@ -58,7 +58,6 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.search.SimpleCollector;
import org.apache.lucene.spatial3d.geom.GeoArea;
import org.apache.lucene.spatial3d.geom.GeoAreaFactory;
-import org.apache.lucene.spatial3d.geom.GeoBBox;
import org.apache.lucene.spatial3d.geom.GeoBBoxFactory;
import org.apache.lucene.spatial3d.geom.GeoCircleFactory;
import org.apache.lucene.spatial3d.geom.GeoPathFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoPolygonTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoPolygonTest.java b/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoPolygonTest.java
index 6aec9b3..a5a0207 100755
--- a/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoPolygonTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/geom/GeoPolygonTest.java
@@ -21,8 +21,6 @@ import java.util.List;
import java.util.BitSet;
import org.junit.Test;
-import org.junit.Ignore;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java
index f372382..1db4a9e 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java
@@ -26,9 +26,7 @@ import org.apache.lucene.search.MaxNonCompetitiveBoostAttribute;
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.CharsRefBuilder;
-import org.apache.lucene.util.UnicodeUtil;
import org.apache.lucene.util.automaton.LevenshteinAutomata;
import java.io.IOException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java
index 5612463..b96af9b 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java
@@ -18,7 +18,6 @@ package org.apache.lucene.search.spell;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.suggest.InputIterator;
-import org.apache.lucene.util.BytesRefIterator;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.MultiFields;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java
index 191f431..f3cc5bd 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java
@@ -24,7 +24,6 @@ import java.util.Queue;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.spell.SuggestMode;
-import org.apache.lucene.util.BytesRef;
/**
* <p>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
index 16e9406..9174137 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.io.StringReader;
import java.nio.file.Path;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java
index 28e263b..61f2fe1 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java
@@ -20,7 +20,6 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
import org.apache.lucene.util.automaton.Automaton;
import org.apache.lucene.util.automaton.Transition;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java
index dd8e082..d7aa2bb 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java
@@ -26,7 +26,6 @@ import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.util.CharArraySet;
-import org.apache.lucene.util.AttributeSource.State;
/** Like {@link StopFilter} except it will not remove the
* last token if that token was not followed by some token
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
index 241525d..3706724 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
@@ -24,7 +24,6 @@ import org.apache.lucene.search.suggest.InMemorySorter;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.BytesRefIterator;
-import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
import org.apache.lucene.util.fst.*;
import org.apache.lucene.util.packed.PackedInts;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
index d50100b..3e78f59 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
@@ -30,7 +30,6 @@ import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.CharsRefBuilder;
-import org.apache.lucene.util.UnicodeUtil;
/**
* Suggest implementation based on
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java
index 6d32570..bf021ea 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java
@@ -28,7 +28,6 @@ import java.util.Map;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
-import org.apache.lucene.util.TestUtil;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/test/org/apache/lucene/search/suggest/PersistenceTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/PersistenceTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/PersistenceTest.java
index ea0394b..a4a9d21 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/PersistenceTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/PersistenceTest.java
@@ -26,7 +26,6 @@ import org.apache.lucene.search.suggest.fst.FSTCompletionLookup;
import org.apache.lucene.search.suggest.jaspell.JaspellLookup;
import org.apache.lucene.search.suggest.tst.TSTLookup;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java
index 6345463..d0d3a41 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java
@@ -21,7 +21,6 @@ import java.io.StringReader;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -41,7 +40,6 @@ import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.suggest.Input;
import org.apache.lucene.search.suggest.InputArrayIterator;
import org.apache.lucene.search.suggest.Lookup.LookupResult;
-import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java
index 7baa73c..590eb86 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java
@@ -51,7 +51,6 @@ import org.apache.lucene.search.suggest.Input;
import org.apache.lucene.search.suggest.InputArrayIterator;
import org.apache.lucene.search.suggest.Lookup.LookupResult;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LineFileDocs;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java
index ba6cf0a..adda0fc 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java
@@ -43,7 +43,6 @@ import org.apache.lucene.search.suggest.Input;
import org.apache.lucene.search.suggest.InputArrayIterator;
import org.apache.lucene.search.suggest.Lookup.LookupResult;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.IOUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
index 855df48..57c3521 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
@@ -23,7 +23,6 @@ import org.apache.lucene.search.suggest.*;
import org.apache.lucene.search.suggest.Lookup.LookupResult;
import org.apache.lucene.search.suggest.fst.FSTCompletion.Completion;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.*;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java
index fa45931..f225ef9 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java
@@ -22,7 +22,6 @@ import org.apache.lucene.search.suggest.Input;
import org.apache.lucene.search.suggest.InputArrayIterator;
import org.apache.lucene.search.suggest.Lookup.LookupResult;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java
index 7e8682e..4efc2a9 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java
@@ -22,7 +22,6 @@ import java.util.Map;
import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java
index bd9c5e8..e87bf45 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java
@@ -16,7 +16,6 @@
*/
package org.apache.lucene.analysis;
-import java.io.Reader;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
index 01e8970..c9bb2f2 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
@@ -19,7 +19,6 @@ package org.apache.lucene.analysis;
import java.io.IOException;
import java.io.Reader;
import java.util.Map;
-import java.util.SortedMap;
import java.util.TreeMap;
/** the purpose of this charfilter is to send offsets out of bounds
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java
index a1e8bce..5b11ed2 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java
@@ -21,7 +21,6 @@ import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.util.BytesRef;
import java.io.IOException;
-import java.io.Reader;
import java.nio.charset.StandardCharsets;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointsFormat.java
index b672913..731aaec 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointsFormat.java
@@ -17,7 +17,6 @@
package org.apache.lucene.codecs.asserting;
import java.io.IOException;
-import java.util.Arrays;
import java.util.Collection;
import org.apache.lucene.codecs.PointsFormat;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointsFormat.java
index 4d16461..fd2260b 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointsFormat.java
@@ -24,11 +24,8 @@ import org.apache.lucene.codecs.PointsReader;
import org.apache.lucene.codecs.PointsWriter;
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.MergeState;
-import org.apache.lucene.index.SegmentInfo;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.IOContext;
class CrankyPointsFormat extends PointsFormat {
PointsFormat delegate;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java
index 432a25d..5e6809f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java
@@ -40,7 +40,6 @@ import org.apache.lucene.analysis.CannedTokenStream;
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.analysis.Analyzer.TokenStreamComponents;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
@@ -61,7 +60,6 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.util.AttributeImpl;
import org.apache.lucene.util.AttributeReflector;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.TestUtil;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java b/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java
index cac861e..8a7a903 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java
@@ -17,7 +17,6 @@
package org.apache.lucene.index;
import java.io.IOException;
-import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java b/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java
index 79788f5..02382e8 100755
--- a/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java
@@ -17,12 +17,9 @@
package org.apache.lucene.index;
import java.io.IOException;
-import java.util.Map;
-
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.MergePolicy;
import org.apache.lucene.index.MergeTrigger;
-import org.apache.lucene.index.SegmentCommitInfo;
import org.apache.lucene.index.SegmentInfos;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
index e79d548..ac94cf7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
@@ -41,7 +41,6 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.FailOnNonBulkMergesInfoStream;
-import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LineFileDocs;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.NamedThreadFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java
index 0ab96cd..08fa46f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java
@@ -19,7 +19,6 @@ package org.apache.lucene.mockfile;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;
-import java.nio.charset.Charset;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.InvalidPathException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java
index f304642..b7b5457 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java
@@ -16,19 +16,15 @@
*/
package org.apache.lucene.mockfile;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.CopyOption;
import java.nio.file.FileSystem;
import java.nio.file.Files;
-import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributeView;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.HashMap;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
/**
* FileSystem that (imperfectly) acts like windows.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java
index b5b3c53..01791b7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.nio.file.AccessDeniedException;
-import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.atomic.AtomicBoolean;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java b/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java
index 6be51f7..e7542da 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java
@@ -19,7 +19,6 @@ package org.apache.lucene.util;
import java.io.Closeable;
import org.apache.lucene.store.BaseDirectoryWrapper;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.junit.Assert;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java b/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
index 8844d8f..2f5dc74 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
@@ -37,7 +37,6 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.IntPoint;
-import org.apache.lucene.document.IntPoint;
import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.document.StringField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java
index 3168ba4..cccaf6b8 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java
@@ -17,7 +17,6 @@
package org.apache.lucene.analysis;
import java.io.IOException;
-import java.io.Reader;
import java.util.Random;
public class TestLookaheadTokenFilter extends BaseTokenStreamTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
index c6396ae..4ca4ffb 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
@@ -25,21 +25,17 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.IntPoint;
-import org.apache.lucene.document.IntPoint;
import org.apache.lucene.document.StoredField;
import org.apache.lucene.index.BaseStoredFieldsFormatTestCase;
import org.apache.lucene.index.CodecReader;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.NoMergePolicy;
import org.apache.lucene.store.ByteArrayDataInput;
import org.apache.lucene.store.ByteArrayDataOutput;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
-
import com.carrotsearch.randomizedtesting.generators.RandomInts;
public class TestCompressingStoredFieldsFormat extends BaseStoredFieldsFormatTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
index f4858d1..cf1c6a3 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
@@ -23,7 +23,6 @@ import org.apache.lucene.codecs.Codec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
-import org.apache.lucene.document.StoredField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.BaseTermVectorsFormatTestCase;
import org.apache.lucene.index.CodecReader;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java b/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java
index 5276301..cdd025d 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java
@@ -18,18 +18,10 @@ package org.apache.lucene.index;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.search.QueryUtils.FCInvisibleMultiReader;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
public class TestAssertingLeafReader extends LuceneTestCase {
public void testAssertBits() throws Exception {
Directory dir = newDirectory();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java
index 5681311..72415f0 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java
@@ -21,11 +21,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.lang.Object;
import java.lang.Override;
-import java.lang.RuntimeException;
import java.net.URI;
-import java.nio.channels.AsynchronousFileChannel;
-import java.nio.channels.ByteChannel;
-import java.nio.channels.FileChannel;
import java.nio.channels.SeekableByteChannel;
import java.nio.file.DirectoryStream;
import java.nio.file.FileSystem;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java
index 8779d77..5e0a687 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java
@@ -21,8 +21,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.Exception;
-import java.lang.InterruptedException;
-import java.lang.NoSuchFieldException;
import java.lang.RuntimeException;
import java.net.URI;
import java.nio.file.FileSystem;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java b/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java
index f324bb4..ef7b0f3 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java
@@ -20,11 +20,7 @@ import java.io.IOException;
import java.nio.file.Path;
import org.apache.lucene.document.Document;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
public class TestMockDirectoryWrapper extends BaseDirectoryTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
index e25e440..e21b4dd 100644
--- a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
+++ b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
@@ -21,8 +21,6 @@ import java.io.FileOutputStream;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
import org.apache.solr.SolrTestCaseJ4;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java
index 1e8f4f9..fc7df4b 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java
@@ -22,7 +22,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java
index 984398c..bf67213 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java
@@ -17,7 +17,6 @@
package org.apache.solr.analytics.facet;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java
index 2efc386..2f3d957 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java
@@ -20,11 +20,8 @@ import static org.apache.solr.handler.dataimport.DataImportHandlerException.wrap
import java.lang.invoke.MethodHandles;
import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.List;
import java.util.Map;
import org.apache.solr.common.SolrException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java
index 2e9d93a..0766c7f 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java
@@ -24,33 +24,27 @@ import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.params.UpdateParams;
import org.apache.solr.common.util.ContentStreamBase;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.StrUtils;
-import org.apache.solr.util.SystemIdResolver;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.handler.RequestHandlerBase;
-import org.apache.solr.handler.RequestHandlerUtils;
import org.apache.solr.response.RawResponseWriter;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.request.SolrRequestHandler;
import org.apache.solr.update.processor.UpdateRequestProcessor;
import org.apache.solr.update.processor.UpdateRequestProcessorChain;
import org.apache.solr.util.plugin.SolrCoreAware;
import java.util.*;
-import java.io.StringReader;
import java.lang.invoke.MethodHandles;
import java.lang.reflect.Constructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.xml.sax.InputSource;
/**
* <p>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugInfo.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugInfo.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugInfo.java
index f58dc6e..9bd217a 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugInfo.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugInfo.java
@@ -17,7 +17,6 @@
package org.apache.solr.handler.dataimport;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Evaluator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Evaluator.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Evaluator.java
index 9255e06..22282b9 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Evaluator.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Evaluator.java
@@ -20,14 +20,9 @@ import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVE
import static org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow;
import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
-import java.util.Locale;
-import java.util.TimeZone;
import java.util.regex.Pattern;
-import org.apache.solr.util.DateMathParser;
-
/**
* <p>
* Pluggable functions for resolving variables
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java
index d961e63..8a6654c 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java
@@ -20,7 +20,6 @@ import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVE
import static org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow;
import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
import java.util.List;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/XPathEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/XPathEntityProcessor.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/XPathEntityProcessor.java
index 93046bf..637e1ef 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/XPathEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/XPathEntityProcessor.java
@@ -26,7 +26,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.commons.io.IOUtils;
-import javax.xml.transform.Source;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java
index 59793bc..096b3a8 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java
@@ -24,7 +24,6 @@ import org.apache.solr.handler.dataimport.DIHCacheSupport.Relation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Supplier;
import com.google.common.collect.Iterators;
import com.google.common.collect.PeekingIterator;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/ConfigParseUtil.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/ConfigParseUtil.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/ConfigParseUtil.java
index fc4a7ac..c369296 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/ConfigParseUtil.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/ConfigParseUtil.java
@@ -17,14 +17,8 @@
package org.apache.solr.handler.dataimport.config;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-
-import org.apache.solr.handler.dataimport.DataImporter;
-import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.schema.SchemaField;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDataConfig.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDataConfig.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDataConfig.java
index 05ee93b..7a56fd2 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDataConfig.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDataConfig.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.handler.dataimport;
-import org.apache.solr.handler.dataimport.config.ConfigNameConstants;
import org.apache.solr.handler.dataimport.config.DIHConfiguration;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder.java
index e3f1805..527dad0 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder.java
@@ -17,7 +17,6 @@
package org.apache.solr.handler.dataimport;
import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.handler.dataimport.config.ConfigNameConstants;
import org.apache.solr.handler.dataimport.config.DIHConfiguration;
import org.apache.solr.handler.dataimport.config.Entity;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java
index c9b5abe..ddccafe 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java
@@ -23,7 +23,6 @@ import java.util.List;
import static org.hamcrest.CoreMatchers.*;
import org.junit.Before;
import org.junit.BeforeClass;
-import org.junit.Ignore;
import org.junit.Test;
public class TestEphemeralCache extends AbstractDataImportHandlerTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
index 7674dd5..dd2cf72 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
@@ -19,7 +19,6 @@ package org.apache.solr.handler.dataimport;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java
index c978a45..aad8e30 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java
@@ -20,7 +20,6 @@ import java.io.File;
import java.nio.charset.StandardCharsets;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
index 44ea047..97c7714 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
@@ -17,7 +17,6 @@
package org.apache.solr.handler.dataimport;
import java.io.IOException;
-import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNonWritablePersistFile.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNonWritablePersistFile.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNonWritablePersistFile.java
index 8d50ba5..a7d3d0a 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNonWritablePersistFile.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNonWritablePersistFile.java
@@ -21,7 +21,6 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
-import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestPlainTextEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestPlainTextEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestPlainTextEntityProcessor.java
index 5a6ef9d..82b757e 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestPlainTextEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestPlainTextEntityProcessor.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.handler.dataimport;
-import java.io.File;
import java.io.IOException;
import java.io.StringReader;
import java.util.Properties;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestScriptTransformer.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestScriptTransformer.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestScriptTransformer.java
index d478985..c106f8e 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestScriptTransformer.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestScriptTransformer.java
@@ -16,11 +16,9 @@
*/
package org.apache.solr.handler.dataimport;
-import org.apache.solr.handler.dataimport.config.ConfigNameConstants;
import org.apache.solr.handler.dataimport.config.DIHConfiguration;
import org.junit.Test;
import org.w3c.dom.Document;
-import org.w3c.dom.Element;
import org.xml.sax.InputSource;
import javax.xml.parsers.DocumentBuilder;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
index 3c476a7..93a26c3 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.handler.dataimport;
-import java.io.File;
import java.lang.invoke.MethodHandles;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -29,7 +28,6 @@ import java.util.Locale;
import java.util.Map;
import org.apache.solr.common.util.SuppressForbidden;
-import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java
index 1750bda..1f22a8c 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java
@@ -20,7 +20,6 @@ import java.lang.invoke.MethodHandles;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java
index dcf1bd5..59663ce 100644
--- a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java
+++ b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java
@@ -20,7 +20,6 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java
index a78a1fe..ce81ae1 100644
--- a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java
+++ b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java
@@ -33,7 +33,6 @@ import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/MapReduceIndexerTool.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/MapReduceIndexerTool.java b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/MapReduceIndexerTool.java
index 23d04c6..1c17855 100644
--- a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/MapReduceIndexerTool.java
+++ b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/MapReduceIndexerTool.java
@@ -37,13 +37,10 @@ import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Random;
-import java.util.concurrent.TimeUnit;
-
import net.sourceforge.argparse4j.ArgumentParsers;
import net.sourceforge.argparse4j.impl.Arguments;
import net.sourceforge.argparse4j.impl.action.HelpArgumentAction;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/SolrOutputFormat.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/SolrOutputFormat.java b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/SolrOutputFormat.java
index 4bbbce8..b52939e 100644
--- a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/SolrOutputFormat.java
+++ b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/SolrOutputFormat.java
@@ -23,7 +23,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.lang.invoke.MethodHandles;
import java.net.URI;
-import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashSet;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineMapperTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineMapperTest.java b/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineMapperTest.java
index 9704a08..959ca54 100644
--- a/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineMapperTest.java
+++ b/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineMapperTest.java
@@ -28,7 +28,6 @@ import org.apache.lucene.util.Constants;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.hadoop.morphline.MorphlineMapper;
import org.apache.solr.util.BadHdfsThreadsFilter;
-import org.apache.solr.util.BadMrClusterThreadsFilter;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/cloud/Assign.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/Assign.java b/solr/core/src/java/org/apache/solr/cloud/Assign.java
index b68dfe1..e6e08f9 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Assign.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Assign.java
@@ -19,7 +19,6 @@ package org.apache.solr.cloud;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java b/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
index c3b5690..6e3ae1e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
+++ b/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
@@ -22,7 +22,6 @@ import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkCmdExecutor;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.data.ACL;
import org.apache.zookeeper.data.Stat;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java b/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java
index 82ab141..6501b8c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java
+++ b/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java
@@ -20,9 +20,7 @@ import java.util.List;
import org.apache.lucene.util.PriorityQueue;
import org.apache.solr.common.cloud.SolrZkClient;
-import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.data.ACL;
import org.apache.zookeeper.data.Stat;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/cloud/overseer/NodeMutator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/NodeMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/NodeMutator.java
index 6ca0745..96018b9 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/NodeMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/NodeMutator.java
@@ -23,7 +23,6 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.Map.Entry;
import org.apache.solr.common.cloud.ClusterState;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java b/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java
index ea00806..3fefc8f 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java
@@ -18,8 +18,6 @@ package org.apache.solr.cloud.overseer;
import java.util.Locale;
-import org.apache.solr.cloud.Overseer;
-
/**
* Enum of actions supported by the overseer only.
*
[10/50] [abbrv] lucene-solr:apiv2: LUCENE-7291: Fix spatial
HeatmapFacetCounter bug with dateline and large non-point shapes
Posted by no...@apache.org.
LUCENE-7291: Fix spatial HeatmapFacetCounter bug with dateline and large non-point shapes
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/b33d7176
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/b33d7176
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/b33d7176
Branch: refs/heads/apiv2
Commit: b33d7176aa3624df2de1708b17919f20d034872f
Parents: e4db256
Author: David Smiley <ds...@apache.org>
Authored: Fri Jun 10 13:36:07 2016 -0400
Committer: David Smiley <ds...@apache.org>
Committed: Fri Jun 10 13:36:07 2016 -0400
----------------------------------------------------------------------
lucene/CHANGES.txt | 4 +++
.../spatial/prefix/HeatmapFacetCounter.java | 34 +++++++++++---------
.../spatial/prefix/HeatmapFacetCounterTest.java | 27 ++++++++++------
3 files changed, 40 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b33d7176/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index b4ec596..fb5d93a 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -143,6 +143,10 @@ Bug Fixes
* LUCENE-7286: Added support for highlighting SynonymQuery. (Adrien Grand)
+* LUCENE-7291: Spatial heatmap faceting could mis-count when the heatmap crosses the
+ dateline and indexed non-point shapes are much bigger than the heatmap region.
+ (David Smiley)
+
Other
* LUCENE-7295: TermAutomatonQuery.hashCode calculates Automaton.toDot().hash,
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b33d7176/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
index adee2be..c3c98f7 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
@@ -20,17 +20,17 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-import org.locationtech.spatial4j.context.SpatialContext;
-import org.locationtech.spatial4j.shape.Point;
-import org.locationtech.spatial4j.shape.Rectangle;
-import org.locationtech.spatial4j.shape.Shape;
-import org.locationtech.spatial4j.shape.SpatialRelation;
import org.apache.lucene.index.IndexReaderContext;
import org.apache.lucene.spatial.prefix.tree.Cell;
import org.apache.lucene.spatial.prefix.tree.CellIterator;
import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.Bits;
+import org.locationtech.spatial4j.context.SpatialContext;
+import org.locationtech.spatial4j.shape.Point;
+import org.locationtech.spatial4j.shape.Rectangle;
+import org.locationtech.spatial4j.shape.Shape;
+import org.locationtech.spatial4j.shape.SpatialRelation;
/**
* Computes spatial facets in two dimensions as a grid of numbers. The data is often visualized as a so-called
@@ -204,8 +204,9 @@ public class HeatmapFacetCounter {
int[] pair = new int[2];//output of intersectInterval
for (Map.Entry<Rectangle, Integer> entry : ancestors.entrySet()) {
- Rectangle rect = entry.getKey();
+ Rectangle rect = entry.getKey(); // from a cell (thus doesn't cross DL)
final int count = entry.getValue();
+
//note: we approach this in a way that eliminates int overflow/underflow (think huge cell, tiny heatmap)
intersectInterval(heatMinY, heatMaxY, cellHeight, rows, rect.getMinY(), rect.getMaxY(), pair);
final int startRow = pair[0];
@@ -218,32 +219,33 @@ public class HeatmapFacetCounter {
incrementRange(heatmap, startCol, endCol, startRow, endRow, count);
} else {
+ // note: the cell rect might intersect 2 disjoint parts of the heatmap, so we do the left & right separately
+ final int leftColumns = (int) Math.round((180 - heatMinX) / cellWidth);
+ final int rightColumns = heatmap.columns - leftColumns;
//left half of dateline:
- if (rect.getMaxX() >= heatMinX) {
- final int leftColumns = (int) Math.round((180 - heatMinX) / cellWidth) + 1;
+ if (rect.getMaxX() > heatMinX) {
intersectInterval(heatMinX, 180, cellWidth, leftColumns, rect.getMinX(), rect.getMaxX(), pair);
final int startCol = pair[0];
final int endCol = pair[1];
incrementRange(heatmap, startCol, endCol, startRow, endRow, count);
}
//right half of dateline
- if (rect.getMinY() <= heatMaxX) {
- final int rightColumns = (int) Math.round(heatMaxX / cellWidth) + 1;
- intersectInterval(0, heatMaxX, cellWidth, rightColumns, rect.getMinX(), rect.getMaxX(), pair);
- final int startCol = pair[0];
- final int endCol = pair[1];
+ if (rect.getMinX() < heatMaxX) {
+ intersectInterval(-180, heatMaxX, cellWidth, rightColumns, rect.getMinX(), rect.getMaxX(), pair);
+ final int startCol = pair[0] + leftColumns;
+ final int endCol = pair[1] + leftColumns;
incrementRange(heatmap, startCol, endCol, startRow, endRow, count);
}
}
-
}
return heatmap;
}
- private static void intersectInterval(double heatMin, double heatMax, double heatCellLen, int heatLen,
+ private static void intersectInterval(double heatMin, double heatMax, double heatCellLen, int numCells,
double cellMin, double cellMax,
int[] out) {
+ assert heatMin < heatMax && cellMin < cellMax;
//precondition: we know there's an intersection
if (heatMin >= cellMin) {
out[0] = 0;
@@ -251,7 +253,7 @@ public class HeatmapFacetCounter {
out[0] = (int) Math.round((cellMin - heatMin) / heatCellLen);
}
if (heatMax <= cellMax) {
- out[1] = heatLen - 1;
+ out[1] = numCells - 1;
} else {
out[1] = (int) Math.round((cellMax - heatMin) / heatCellLen) - 1;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b33d7176/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
index 2de18cc..a38f5b6 100644
--- a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
@@ -21,15 +21,6 @@ import java.util.ArrayList;
import java.util.List;
import com.carrotsearch.randomizedtesting.annotations.Repeat;
-import org.locationtech.spatial4j.context.SpatialContext;
-import org.locationtech.spatial4j.context.SpatialContextFactory;
-import org.locationtech.spatial4j.distance.DistanceUtils;
-import org.locationtech.spatial4j.shape.Circle;
-import org.locationtech.spatial4j.shape.Point;
-import org.locationtech.spatial4j.shape.Rectangle;
-import org.locationtech.spatial4j.shape.Shape;
-import org.locationtech.spatial4j.shape.SpatialRelation;
-import org.locationtech.spatial4j.shape.impl.RectangleImpl;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TotalHitCountCollector;
import org.apache.lucene.spatial.StrategyTestCase;
@@ -39,6 +30,15 @@ import org.apache.lucene.util.Bits;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.locationtech.spatial4j.context.SpatialContext;
+import org.locationtech.spatial4j.context.SpatialContextFactory;
+import org.locationtech.spatial4j.distance.DistanceUtils;
+import org.locationtech.spatial4j.shape.Circle;
+import org.locationtech.spatial4j.shape.Point;
+import org.locationtech.spatial4j.shape.Rectangle;
+import org.locationtech.spatial4j.shape.Shape;
+import org.locationtech.spatial4j.shape.SpatialRelation;
+import org.locationtech.spatial4j.shape.impl.RectangleImpl;
import static com.carrotsearch.randomizedtesting.RandomizedTest.atMost;
import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
@@ -83,6 +83,15 @@ public class HeatmapFacetCounterTest extends StrategyTestCase {
}
@Test
+ public void testLucene7291Dateline() throws IOException {
+ grid = new QuadPrefixTree(ctx, 2); // only 2, and we wind up with some big leaf cells
+ strategy = new RecursivePrefixTreeStrategy(grid, getTestClass().getSimpleName());
+ adoc("0", ctx.makeRectangle(-102, -83, 43, 52));
+ commit();
+ validateHeatmapResultLoop(ctx.makeRectangle(179, -179, 62, 63), 2, 100);// HM crosses dateline
+ }
+
+ @Test
public void testQueryCircle() throws IOException {
//overwrite setUp; non-geo bounds is more straight-forward; otherwise 88,88 would actually be practically north,
final SpatialContextFactory spatialContextFactory = new SpatialContextFactory();
[28/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: remove unused imports
Posted by no...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java
index 4e775f3..b91bb9b 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java
@@ -19,7 +19,6 @@ package org.apache.lucene.index;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -53,11 +52,7 @@ import org.apache.lucene.document.SortedSetDocValuesField;
import org.apache.lucene.document.StoredField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.PointValues.IntersectVisitor;
-import org.apache.lucene.index.PointValues.Relation;
-import org.apache.lucene.index.TermsEnum.SeekStatus;
import org.apache.lucene.search.CollectionStatistics;
-import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.EarlyTerminatingSortingCollector;
import org.apache.lucene.search.FieldDoc;
import org.apache.lucene.search.IndexSearcher;
@@ -79,8 +74,6 @@ import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.NumericUtils;
import org.apache.lucene.util.TestUtil;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
public class TestIndexSorting extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
index fb3e07e..912af72 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
@@ -29,7 +29,6 @@ import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -69,8 +68,6 @@ import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.MatchAllDocsQuery;
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.SortField;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.BaseDirectoryWrapper;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
index ae07641..de380c9 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
@@ -18,7 +18,6 @@ package org.apache.lucene.index;
import java.io.IOException;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
index ec033d4..2014c16 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
@@ -34,7 +34,6 @@ import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.InfoStream;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.SetOnce.AlreadySetException;
import org.junit.Test;
public class TestIndexWriterConfig extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
index 28041ae..9940927 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
@@ -18,10 +18,6 @@ package org.apache.lucene.index;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
import java.util.Locale;
import org.apache.lucene.analysis.Analyzer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java
index 5ee9520..3074f03 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java
@@ -28,7 +28,6 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
public class TestIndexWriterFromReader extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java
index 9587380..01e73f7 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java
@@ -25,8 +25,6 @@ import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
-import org.apache.lucene.util.TestUtil;
/**
* This tests the patch for issue #LUCENE-715 (IndexWriter does not
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
index b7d0b29..e1f42f8 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
@@ -38,8 +38,6 @@ import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
-import static org.apache.lucene.index.TestIndexWriter.assertNoUnreferencedFiles;
-
/**
* Tests for IndexWriter when the disk runs out of space
*/
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexingSequenceNumbers.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexingSequenceNumbers.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexingSequenceNumbers.java
index 9c7a6f9..8d4c5c7 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexingSequenceNumbers.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexingSequenceNumbers.java
@@ -23,7 +23,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicInteger;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -36,7 +35,6 @@ import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java b/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java
index 670bcdb..ef922bb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java
@@ -17,8 +17,6 @@
package org.apache.lucene.index;
-import java.util.Collections;
-
import org.apache.lucene.document.Document;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java b/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java
index 72a67ec..1f43ddd 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java
@@ -34,7 +34,6 @@ import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
import org.apache.lucene.util.TestUtil;
import com.carrotsearch.randomizedtesting.generators.RandomPicks;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java b/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java
index ed59d5b..ac352c1 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java
@@ -44,7 +44,6 @@ import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
public class TestMultiTermsEnum extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java b/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java
index 11f7f80..6aabbc8 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java
@@ -25,8 +25,6 @@ import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.store.BaseDirectoryWrapper;
-import org.apache.lucene.store.MockDirectoryWrapper;
-import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
index 21f54d7..415a263 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
@@ -22,7 +22,6 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Arrays;
-import org.apache.lucene.util.LuceneTestCase;
import org.junit.Test;
public class TestNoMergePolicy extends BaseMergePolicyTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java b/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
index 71b8284..219dd05 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
@@ -44,13 +44,11 @@ import org.apache.lucene.search.SortField;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopFieldDocs;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.NRTCachingDirectory;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
import org.apache.lucene.util.TestUtil;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java b/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
index f5a74b5..e573445 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
@@ -25,7 +25,6 @@ import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.TextField;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java b/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
index 3c12a0d..195f548 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
@@ -37,10 +37,8 @@ import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TermStatistics;
import org.apache.lucene.search.similarities.TFIDFSimilarity;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
public class TestOmitTf extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java b/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java
index 166c9e4d..3efdc8b 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java
@@ -18,8 +18,6 @@ package org.apache.lucene.index;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
import java.util.Random;
import org.apache.lucene.analysis.MockAnalyzer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java b/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java
index a83c549..25d05ca 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java
@@ -25,7 +25,6 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java b/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
index eca293e..e893d87 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
@@ -42,7 +42,6 @@ import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java b/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
index 68d697b..34d8afb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
@@ -18,9 +18,7 @@ package org.apache.lucene.index;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.List;
import java.util.Map;
import java.util.Random;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java
index f4a6024..21424cc 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java
@@ -22,7 +22,6 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.MockDirectoryWrapper;
-import org.apache.lucene.util.TestUtil;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java b/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java
index 401254b..981a0ee 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java
@@ -17,7 +17,6 @@
package org.apache.lucene.index;
-import java.util.concurrent.ExecutionException;
import java.util.concurrent.RejectedExecutionException;
import org.apache.lucene.analysis.MockAnalyzer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java
index 179d266..feea111 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java
@@ -19,7 +19,6 @@ package org.apache.lucene.index;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.store.BaseDirectoryWrapper;
-import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.StringHelper;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java
index c72e26d..42a4041 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java
@@ -30,9 +30,7 @@ import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.TextField;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
import org.apache.lucene.util.ThreadInterruptedException;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
index 84d326f..d12caf1 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
@@ -18,30 +18,24 @@ package org.apache.lucene.search;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.codecs.Codec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.ExitableDirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.MockRandomMergePolicy;
import org.apache.lucene.index.QueryTimeout;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.SerialMergeScheduler;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.LeafCollector;
import org.apache.lucene.search.MatchAllDocsQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java b/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
index 8201bf8..8748a1a 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
@@ -30,7 +30,6 @@ import org.apache.lucene.document.Field.Store;
import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.MultiReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/search/TestMatchNoDocsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMatchNoDocsQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestMatchNoDocsQuery.java
index d9ebf1d..06d8504 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMatchNoDocsQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMatchNoDocsQuery.java
@@ -24,7 +24,6 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.Term;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.store.Directory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
index 0d6cb36..be6a87b 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
@@ -39,7 +39,6 @@ import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
import org.junit.AfterClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java b/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java
index 52e4012..a704d54 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java
@@ -36,7 +36,6 @@ import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.CharsRefBuilder;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java b/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java
index 4b1a4d2..741ebe3 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java
@@ -29,9 +29,7 @@ import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.BitDocIdSet;
import org.apache.lucene.util.BitSetIterator;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.LuceneTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java b/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java
index c332c10..be49d2e 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java
@@ -23,7 +23,6 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.FieldInvertState;
import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.MultiDocValues;
import org.apache.lucene.index.NumericDocValues;
import org.apache.lucene.index.RandomIndexWriter;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java b/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
index 178d792..87762df 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
@@ -36,7 +36,6 @@ import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
public class TestBufferedIndexInput extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
index 571119d..88f304b 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
@@ -24,7 +24,6 @@ import java.util.Arrays;
import java.util.List;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
public class TestDirectory extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
index 927c913..51b4a44 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
@@ -31,7 +31,6 @@ import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.TestIndexWriterReader;
-import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.TestUtil;
public class TestFileSwitchDirectory extends BaseDirectoryTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java b/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java
index 50db1cd..338a30c 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java
@@ -18,7 +18,6 @@ package org.apache.lucene.store;
import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.lucene.store.RateLimiter.SimpleRateLimiter;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java b/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java
index ec50498..981b8d8 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.nio.file.Path;
import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.TestUtil;
/** Simple tests for SimpleFSLockFactory */
public class TestSimpleFSLockFactory extends BaseLockFactoryTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java b/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java
index 073aed6..77f573c 100644
--- a/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java
+++ b/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java
@@ -25,7 +25,6 @@ import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.LuceneTestCase.Monster;
-import org.junit.Ignore;
@Monster("You must increase heap to > 2 G to run this")
public class Test2BPagedBytes extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java b/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java
index f068b11..75cf2ec 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java
@@ -38,7 +38,6 @@ import java.util.UUID;
import org.apache.lucene.mockfile.FilterFileSystem;
import org.apache.lucene.mockfile.FilterFileSystemProvider;
import org.apache.lucene.mockfile.FilterPath;
-import org.apache.lucene.util.LuceneTestCase.SuppressFileSystems;
/** Simple test methods for IOUtils */
public class TestIOUtils extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java b/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java
index 7dffba0..825dd57 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java
@@ -19,7 +19,6 @@ package org.apache.lucene.util;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
-import java.util.concurrent.atomic.AtomicLong;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java b/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java
index 89f0dbe..9b0f162 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java
@@ -19,7 +19,6 @@ package org.apache.lucene.util;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
-import java.util.concurrent.atomic.AtomicLong;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java b/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java
index 4edc7ad..94158c0 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java
@@ -17,7 +17,6 @@
package org.apache.lucene.util.automaton;
-import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java b/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java
index 5303417..50723d7 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java
@@ -19,7 +19,6 @@ package org.apache.lucene.util.automaton;
import java.util.List;
-import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
import org.apache.lucene.util.LuceneTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java b/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java
index 6ee4add..5a21b90 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java
@@ -18,13 +18,11 @@ package org.apache.lucene.demo;
import java.io.ByteArrayOutputStream;
-import java.io.File;
import java.io.PrintStream;
import java.nio.charset.Charset;
import java.nio.file.Path;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
public class TestDemo extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java
index 0c052ce..31bf106 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java
@@ -17,9 +17,6 @@
package org.apache.lucene.demo.facet;
-import java.util.List;
-import java.util.Locale;
-
import org.apache.lucene.facet.FacetResult;
import org.apache.lucene.util.LuceneTestCase;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
index 94e6b0f..7083e65 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
@@ -17,8 +17,6 @@
package org.apache.lucene.demo.facet;
-import java.util.List;
-
import org.apache.lucene.facet.FacetResult;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.util.LuceneTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java
index 240c7b3..d860d58 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java
@@ -20,7 +20,6 @@ package org.apache.lucene.demo.facet;
import java.util.List;
import org.apache.lucene.facet.FacetResult;
-import org.apache.lucene.facet.taxonomy.FacetLabel;
import org.apache.lucene.util.LuceneTestCase;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptLexer.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptLexer.java b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptLexer.java
index 4827dc4..ad40e9c 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptLexer.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptLexer.java
@@ -2,12 +2,9 @@
package org.apache.lucene.expressions.js;
import org.antlr.v4.runtime.Lexer;
import org.antlr.v4.runtime.CharStream;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.TokenStream;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
-import org.antlr.v4.runtime.misc.*;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
class JavascriptLexer extends Lexer {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParser.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParser.java b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParser.java
index 463f288..564f6ff 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParser.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParser.java
@@ -3,11 +3,8 @@ package org.apache.lucene.expressions.js;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.*;
-import org.antlr.v4.runtime.misc.*;
import org.antlr.v4.runtime.tree.*;
import java.util.List;
-import java.util.Iterator;
-import java.util.ArrayList;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
class JavascriptParser extends Parser {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java
index e052541..936c962 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java
@@ -29,7 +29,6 @@ import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.MultiDocValues.MultiSortedDocValues;
import org.apache.lucene.index.MultiDocValues.MultiSortedSetDocValues;
import org.apache.lucene.index.MultiDocValues.OrdinalMap;
import org.apache.lucene.index.MultiDocValues;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java
index 436c78b..de8705c 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java
@@ -16,8 +16,6 @@
*/
package org.apache.lucene.facet.taxonomy;
-import java.util.Arrays;
-
import org.apache.lucene.facet.FacetField;
import org.apache.lucene.facet.FacetTestCase;
import org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
index 7a71450..a860ec9 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
@@ -31,20 +31,6 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.TestUtil;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Random;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.DiskOrdinalMap;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.MemoryOrdinalMap;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.OrdinalMap;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.TestUtil;
-
public class TestAddTaxonomy extends FacetTestCase {
private void dotest(int ncats, final int range) throws Exception {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java
index 404e3ee..6824684 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java
@@ -16,7 +16,6 @@
*/
package org.apache.lucene.search.grouping;
-import org.apache.lucene.search.Collector;
import org.apache.lucene.search.Scorer;
import org.apache.lucene.search.SimpleCollector;
import org.apache.lucene.util.BytesRef;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java
index 16cee83..2ebbaf1 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.lucene.search.highlight;
-import java.io.Reader;
import java.io.StringReader;
import org.apache.lucene.analysis.*;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java
index d48ae94..4b52e03 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java
@@ -17,10 +17,6 @@
package org.apache.lucene.search.vectorhighlight;
import java.io.IOException;
-import java.io.Reader;
-import java.util.HashSet;
-import java.util.Set;
-
import org.apache.lucene.analysis.*;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.search.BooleanQuery;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
index e4ee760..e4e099f 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
@@ -17,10 +17,8 @@
package org.apache.lucene.search.join;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.List;
import java.util.Locale;
import java.util.Set;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
index ab6aa58..3fc6485 100644
--- a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
+++ b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
@@ -22,7 +22,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
-import java.util.Locale;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
----------------------------------------------------------------------
diff --git a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
index 1010c13..5751457 100644
--- a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
+++ b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
@@ -17,14 +17,11 @@
package org.apache.lucene.index.memory;
import java.io.IOException;
-import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.util.function.BiFunction;
import java.util.function.Function;
-import java.util.function.Supplier;
-import java.util.stream.IntStream;
import java.util.stream.LongStream;
import org.apache.lucene.analysis.Analyzer;
@@ -51,20 +48,17 @@ import org.apache.lucene.index.FieldInvertState;
import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.index.PointValues;
import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.SortedNumericDocValues;
import org.apache.lucene.index.SortedSetDocValues;
import org.apache.lucene.index.Term;
-import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.MatchAllDocsQuery;
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.similarities.BM25Similarity;
import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.util.BytesRef;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java
----------------------------------------------------------------------
diff --git a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java
index ba1263e..45e9551 100644
--- a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java
+++ b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java
@@ -25,7 +25,6 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.function.IntSupplier;
import java.util.function.Supplier;
import org.apache.lucene.analysis.Analyzer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java b/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java
index 94c7003..b4e2131 100644
--- a/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java
+++ b/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java
@@ -29,7 +29,6 @@ import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.SuppressForbidden;
-import org.apache.lucene.util.Version;
/**
* This tool splits input index into multiple equal parts. The method employed
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java b/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java
index a83fe83..7c97457 100644
--- a/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java
+++ b/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java
@@ -22,7 +22,6 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.Version;
public class TestMultiPassIndexSplitter extends LuceneTestCase {
IndexReader input;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java b/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java
index 54ad744..2f2d4f7 100644
--- a/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java
+++ b/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java
@@ -30,7 +30,6 @@ import org.apache.lucene.index.BinaryDocValues;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.FieldInvertState;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.MultiDocValues;
import org.apache.lucene.index.NumericDocValues;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java b/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java
index 0252a04..aabbd70 100644
--- a/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java
+++ b/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java
@@ -30,7 +30,6 @@ import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
-import org.apache.lucene.util.TestUtil;
import org.apache.lucene.util.fst.UpToTwoPositiveIntOutputs.TwoLongs;
import static org.apache.lucene.util.fst.FSTTester.getRandomString;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
index cafa819..3d82723 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
@@ -31,7 +31,6 @@ import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Scorer;
import org.apache.lucene.search.Weight;
-import org.apache.lucene.util.ToStringUtils;
/**
* Query that is boosted by a ValueSource
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java
index cf6f267..f66f790 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java
@@ -19,7 +19,6 @@ package org.apache.lucene.queries.function.valuesource;
import java.io.IOException;
import java.util.Map;
-import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.NumericDocValues;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
index 9594ad9..746ad8e 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
@@ -17,7 +17,6 @@
package org.apache.lucene.queries.function.valuesource;
import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.Terms;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java b/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
index 71eeef4..f8b10ef 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
@@ -34,8 +34,6 @@ import org.apache.lucene.index.Fields;
import org.apache.lucene.index.FilterDirectoryReader;
import org.apache.lucene.index.FilterLeafReader;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java b/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java
index 9ab90a4..c87a004 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java
@@ -32,7 +32,6 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.similarities.BM25Similarity;
import org.apache.lucene.search.similarities.ClassicSimilarity;
-import org.apache.lucene.search.similarities.Similarity;
public class TestCustomScoreExplanations extends BaseExplanationTestCase {
public void testOneTerm() throws Exception {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java
index af93ff0..8f8294a 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java
@@ -11,7 +11,6 @@ import org.apache.lucene.document.DateTools;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermRangeQuery;
-import org.apache.lucene.search.TermQuery;
/**
* This class is generated by JavaCC. The most important method is
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserTokenManager.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserTokenManager.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserTokenManager.java
index a844524..8c8951e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserTokenManager.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserTokenManager.java
@@ -1,15 +1,5 @@
/* Generated By:JavaCC: Do not edit this line. QueryParserTokenManager.java */
package org.apache.lucene.queryparser.classic;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.document.DateTools;
-import org.apache.lucene.search.BooleanClause;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermRangeQuery;
-import org.apache.lucene.search.TermQuery;
/** Token Manager. */
@SuppressWarnings("cast")
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java
index c023d08..b71846d 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java
@@ -21,7 +21,6 @@ import org.apache.lucene.queryparser.ext.Extensions.Pair;
import org.apache.lucene.queryparser.classic.ParseException;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.Query;
-import org.apache.lucene.util.Version;
/**
* The {@link ExtendableQueryParser} enables arbitrary query parser extension
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java
index 593e6ce..52001e5 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java
@@ -18,7 +18,6 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
import org.apache.lucene.queryparser.flexible.core.builders.QueryTreeBuilder;
-import org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode;
import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;
import org.apache.lucene.search.TermQuery;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/StandardSyntaxParserTokenManager.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/StandardSyntaxParserTokenManager.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/StandardSyntaxParserTokenManager.java
index 18ae9c7..2758bed 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/StandardSyntaxParserTokenManager.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/StandardSyntaxParserTokenManager.java
@@ -17,28 +17,6 @@ package org.apache.lucene.queryparser.flexible.standard.parser;
* limitations under the License.
*/
-import java.io.StringReader;
-import java.util.Vector;
-import java.util.Arrays;
-import org.apache.lucene.queryparser.flexible.messages.Message;
-import org.apache.lucene.queryparser.flexible.messages.MessageImpl;
-import org.apache.lucene.queryparser.flexible.core.QueryNodeParseException;
-import org.apache.lucene.queryparser.flexible.core.messages.QueryParserMessages;
-import org.apache.lucene.queryparser.flexible.core.nodes.AndQueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.BooleanQueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.BoostQueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.FuzzyQueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.ModifierQueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.GroupQueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.OrQueryNode;
-import org.apache.lucene.queryparser.flexible.standard.nodes.RegexpQueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.SlopQueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;
-import org.apache.lucene.queryparser.flexible.core.nodes.QuotedFieldQueryNode;
-import org.apache.lucene.queryparser.flexible.core.parser.SyntaxParser;
-import org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode;
-
/** Token Manager. */
@SuppressWarnings("cast")
public class StandardSyntaxParserTokenManager implements StandardSyntaxParserConstants
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java
index b6e3f7f..d7303ad 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java
@@ -17,7 +17,6 @@
package org.apache.lucene.queryparser.flexible.standard.processors;
import java.util.ArrayList;
-import java.util.LinkedList;
import java.util.List;
import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java
index 6e4a394..38a9a47 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java
@@ -16,15 +16,12 @@
*/
package org.apache.lucene.queryparser.flexible.standard.processors;
-import java.util.Locale;
-
import org.apache.lucene.queryparser.flexible.core.config.QueryConfigHandler;
import org.apache.lucene.queryparser.flexible.core.processors.NoChildOptimizationQueryNodeProcessor;
import org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorPipeline;
import org.apache.lucene.queryparser.flexible.core.processors.RemoveDeletedQueryNodesProcessor;
import org.apache.lucene.queryparser.flexible.standard.builders.StandardQueryTreeBuilder;
import org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler;
-import org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler.ConfigurationKeys;
import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser;
import org.apache.lucene.search.Query;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParser.java
index be4d8e0..bd91f04 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParser.java
@@ -6,8 +6,6 @@ import java.util.List;
import java.io.StringReader;
-import org.apache.lucene.analysis.TokenStream;
-
import org.apache.lucene.queryparser.surround.query.SrndQuery;
import org.apache.lucene.queryparser.surround.query.FieldsQuery;
import org.apache.lucene.queryparser.surround.query.OrQuery;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParserTokenManager.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParserTokenManager.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParserTokenManager.java
index 9bd1076..60501c7 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParserTokenManager.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/QueryParserTokenManager.java
@@ -1,18 +1,5 @@
/* Generated By:JavaCC: Do not edit this line. QueryParserTokenManager.java */
package org.apache.lucene.queryparser.surround.parser;
-import java.util.ArrayList;
-import java.util.List;
-import java.io.StringReader;
-import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.queryparser.surround.query.SrndQuery;
-import org.apache.lucene.queryparser.surround.query.FieldsQuery;
-import org.apache.lucene.queryparser.surround.query.OrQuery;
-import org.apache.lucene.queryparser.surround.query.AndQuery;
-import org.apache.lucene.queryparser.surround.query.NotQuery;
-import org.apache.lucene.queryparser.surround.query.DistanceQuery;
-import org.apache.lucene.queryparser.surround.query.SrndTermQuery;
-import org.apache.lucene.queryparser.surround.query.SrndPrefixQuery;
-import org.apache.lucene.queryparser.surround.query.SrndTruncQuery;
/** Token Manager. */
@SuppressWarnings("cast")
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
index 41772a0..bdb6256 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
@@ -17,7 +17,6 @@
package org.apache.lucene.queryparser.classic;
import java.io.IOException;
-import java.io.Reader;
import java.util.Objects;
import org.apache.lucene.analysis.*;
@@ -26,7 +25,6 @@ import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
import org.apache.lucene.search.Query;
-import org.apache.lucene.util.Version;
/**
* Test QueryParser's ability to deal with Analyzers that return more
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java
index 1651038..043f597 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java
@@ -26,7 +26,6 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.util.LuceneTestCase;
import java.io.IOException;
-import java.io.Reader;
public class TestMultiPhraseQueryParsing extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java
index b58cede..5156f73 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java
@@ -17,7 +17,6 @@
package org.apache.lucene.queryparser.flexible.precedence;
import java.io.IOException;
-import java.io.Reader;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java
index 0f941d0..56ef65a 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java
@@ -17,8 +17,6 @@
package org.apache.lucene.queryparser.flexible.standard;
import java.io.IOException;
-import java.io.Reader;
-
import org.apache.lucene.analysis.*;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
@@ -26,7 +24,6 @@ import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
import org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler;
-import org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler.Operator;
import org.apache.lucene.util.LuceneTestCase;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java
index cc2ac12..25c737f 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java
@@ -16,8 +16,6 @@
*/
package org.apache.lucene.queryparser.flexible.standard;
-import java.io.Reader;
-
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
index 3fdde30..31fb61a 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
@@ -36,7 +36,6 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
-import org.apache.lucene.util.TestUtil;
import org.apache.lucene.util.automaton.LevenshteinAutomata;
import static org.apache.lucene.queryparser.simple.SimpleQueryParser.AND_OPERATOR;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java
index 0b88b0d..4c2e34a 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java
@@ -33,7 +33,6 @@ import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import java.io.IOException;
-import java.util.Locale;
import java.util.Properties;
import java.util.StringTokenizer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyOneFile.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyOneFile.java b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyOneFile.java
index faec778..ab71e05 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyOneFile.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyOneFile.java
@@ -22,10 +22,8 @@ import java.io.IOException;
import java.util.Locale;
import org.apache.lucene.store.DataInput;
-import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.util.IOUtils;
/** Copies one file from an incoming DataInput to a dest filename in a local Directory */
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyState.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyState.java b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyState.java
index 630c3a9..c5ddda0 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyState.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/CopyState.java
@@ -22,7 +22,6 @@ import java.util.Map;
import java.util.Set;
import org.apache.lucene.index.SegmentInfos;
-import org.apache.lucene.store.Directory;
/** Holds incRef'd file level details for one point-in-time segment infos on the primary node.
*
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/Node.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/Node.java b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/Node.java
index f5853ce..85da89c 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/Node.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/Node.java
@@ -23,15 +23,8 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.file.NoSuchFileException;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
import java.util.Locale;
import java.util.Map;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.DirectoryReader;
@@ -39,11 +32,8 @@ import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.ReferenceManager;
import org.apache.lucene.search.SearcherFactory;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.RAMOutputStream;
-import org.apache.lucene.util.StringHelper;
/** Common base class for {@link PrimaryNode} and {@link ReplicaNode}.
*
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/ReplicaFileDeleter.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/ReplicaFileDeleter.java b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/ReplicaFileDeleter.java
index 41e0a6f..1638c29 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/ReplicaFileDeleter.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/ReplicaFileDeleter.java
@@ -20,11 +20,9 @@ package org.apache.lucene.replicator.nrt;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.NoSuchFileException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
[03/50] [abbrv] lucene-solr:apiv2: LatLonPoint no longer needs to
fork core's PointRangeQuery
Posted by no...@apache.org.
LatLonPoint no longer needs to fork core's PointRangeQuery
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/96320696
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/96320696
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/96320696
Branch: refs/heads/apiv2
Commit: 963206969eddca6ec743f5f0901e0abdfeacd3cc
Parents: d55cc8f
Author: Mike McCandless <mi...@apache.org>
Authored: Thu Jun 9 19:22:24 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Thu Jun 9 19:22:24 2016 -0400
----------------------------------------------------------------------
.../org/apache/lucene/document/LatLonPoint.java | 3 +-
.../lucene/document/LatLonPointBoxQuery.java | 279 -------------------
2 files changed, 2 insertions(+), 280 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/96320696/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
index a63e4bd..426a702 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
@@ -34,6 +34,7 @@ import org.apache.lucene.search.FieldDoc;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.MatchAllDocsQuery;
import org.apache.lucene.search.MatchNoDocsQuery;
+import org.apache.lucene.search.PointRangeQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopFieldDocs;
@@ -228,7 +229,7 @@ public class LatLonPoint extends Field {
}
private static Query newBoxInternal(String field, byte[] min, byte[] max) {
- return new LatLonPointBoxQuery(field, min, max, 2) {
+ return new PointRangeQuery(field, min, max, 2) {
@Override
protected String toString(int dimension, byte[] value) {
if (dimension == 0) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/96320696/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointBoxQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointBoxQuery.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointBoxQuery.java
deleted file mode 100644
index 6898d0d..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointBoxQuery.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.document;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Objects;
-
-import org.apache.lucene.index.PointValues;
-import org.apache.lucene.index.PointValues.IntersectVisitor;
-import org.apache.lucene.index.PointValues.Relation;
-import org.apache.lucene.search.ConstantScoreScorer;
-import org.apache.lucene.search.ConstantScoreWeight;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.PointRangeQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.Weight;
-import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.util.DocIdSetBuilder;
-import org.apache.lucene.util.StringHelper;
-
-/**
- * Fast version of {@link PointRangeQuery}. It is fast for actual range queries!
- * @lucene.experimental
- */
-abstract class LatLonPointBoxQuery extends Query {
- final String field;
- final int numDims;
- final int bytesPerDim;
- final byte[] lowerPoint;
- final byte[] upperPoint;
-
- /**
- * Expert: create a multidimensional range query for point values.
- *
- * @param field field name. must not be {@code null}.
- * @param lowerPoint lower portion of the range (inclusive).
- * @param upperPoint upper portion of the range (inclusive).
- * @param numDims number of dimensions.
- * @throws IllegalArgumentException if {@code field} is null, or if {@code lowerValue.length != upperValue.length}
- */
- protected LatLonPointBoxQuery(String field, byte[] lowerPoint, byte[] upperPoint, int numDims) {
- checkArgs(field, lowerPoint, upperPoint);
- this.field = field;
- if (numDims <= 0) {
- throw new IllegalArgumentException("numDims must be positive, got " + numDims);
- }
- if (lowerPoint.length == 0) {
- throw new IllegalArgumentException("lowerPoint has length of zero");
- }
- if (lowerPoint.length % numDims != 0) {
- throw new IllegalArgumentException("lowerPoint is not a fixed multiple of numDims");
- }
- if (lowerPoint.length != upperPoint.length) {
- throw new IllegalArgumentException("lowerPoint has length=" + lowerPoint.length + " but upperPoint has different length=" + upperPoint.length);
- }
- this.numDims = numDims;
- this.bytesPerDim = lowerPoint.length / numDims;
-
- this.lowerPoint = lowerPoint;
- this.upperPoint = upperPoint;
- }
-
- /**
- * Check preconditions for all factory methods
- * @throws IllegalArgumentException if {@code field}, {@code lowerPoint} or {@code upperPoint} are null.
- */
- public static void checkArgs(String field, Object lowerPoint, Object upperPoint) {
- if (field == null) {
- throw new IllegalArgumentException("field must not be null");
- }
- if (lowerPoint == null) {
- throw new IllegalArgumentException("lowerPoint must not be null");
- }
- if (upperPoint == null) {
- throw new IllegalArgumentException("upperPoint must not be null");
- }
- }
-
- @Override
- public final Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
-
- // We don't use RandomAccessWeight here: it's no good to approximate with "match all docs".
- // This is an inverted structure and should be used in the first pass:
-
- return new ConstantScoreWeight(this) {
-
- private DocIdSetIterator buildMatchingIterator(LeafReader reader, PointValues values) throws IOException {
- DocIdSetBuilder result = new DocIdSetBuilder(reader.maxDoc(), values, field);
-
- values.intersect(field,
- new IntersectVisitor() {
-
- DocIdSetBuilder.BulkAdder adder;
-
- @Override
- public void grow(int count) {
- adder = result.grow(count);
- }
-
- @Override
- public void visit(int docID) {
- adder.add(docID);
- }
-
- @Override
- public void visit(int docID, byte[] packedValue) {
- for(int dim=0;dim<numDims;dim++) {
- int offset = dim*bytesPerDim;
- if (StringHelper.compare(bytesPerDim, packedValue, offset, lowerPoint, offset) < 0) {
- // Doc's value is too low, in this dimension
- return;
- }
- if (StringHelper.compare(bytesPerDim, packedValue, offset, upperPoint, offset) > 0) {
- // Doc's value is too high, in this dimension
- return;
- }
- }
-
- // Doc is in-bounds
- adder.add(docID);
- }
-
- @Override
- public Relation compare(byte[] minPackedValue, byte[] maxPackedValue) {
-
- boolean crosses = false;
-
- for(int dim=0;dim<numDims;dim++) {
- int offset = dim*bytesPerDim;
-
- if (StringHelper.compare(bytesPerDim, minPackedValue, offset, upperPoint, offset) > 0 ||
- StringHelper.compare(bytesPerDim, maxPackedValue, offset, lowerPoint, offset) < 0) {
- return Relation.CELL_OUTSIDE_QUERY;
- }
-
- crosses |= StringHelper.compare(bytesPerDim, minPackedValue, offset, lowerPoint, offset) < 0 ||
- StringHelper.compare(bytesPerDim, maxPackedValue, offset, upperPoint, offset) > 0;
- }
-
- if (crosses) {
- return Relation.CELL_CROSSES_QUERY;
- } else {
- return Relation.CELL_INSIDE_QUERY;
- }
- }
- });
- return result.build().iterator();
- }
-
- @Override
- public Scorer scorer(LeafReaderContext context) throws IOException {
- LeafReader reader = context.reader();
- PointValues values = reader.getPointValues();
- if (values == null) {
- // No docs in this segment indexed any points
- return null;
- }
- FieldInfo fieldInfo = reader.getFieldInfos().fieldInfo(field);
- if (fieldInfo == null) {
- // No docs in this segment indexed this field at all
- return null;
- }
- if (fieldInfo.getPointDimensionCount() != numDims) {
- throw new IllegalArgumentException("field=\"" + field + "\" was indexed with numDims=" + fieldInfo.getPointDimensionCount() + " but this query has numDims=" + numDims);
- }
- if (bytesPerDim != fieldInfo.getPointNumBytes()) {
- throw new IllegalArgumentException("field=\"" + field + "\" was indexed with bytesPerDim=" + fieldInfo.getPointNumBytes() + " but this query has bytesPerDim=" + bytesPerDim);
- }
-
- boolean allDocsMatch;
- if (values.getDocCount(field) == reader.maxDoc()) {
- final byte[] fieldPackedLower = values.getMinPackedValue(field);
- final byte[] fieldPackedUpper = values.getMaxPackedValue(field);
- allDocsMatch = true;
- for (int i = 0; i < numDims; ++i) {
- int offset = i * bytesPerDim;
- if (StringHelper.compare(bytesPerDim, lowerPoint, offset, fieldPackedLower, offset) > 0
- || StringHelper.compare(bytesPerDim, upperPoint, offset, fieldPackedUpper, offset) < 0) {
- allDocsMatch = false;
- break;
- }
- }
- } else {
- allDocsMatch = false;
- }
-
- DocIdSetIterator iterator;
- if (allDocsMatch) {
- // all docs have a value and all points are within bounds, so everything matches
- iterator = DocIdSetIterator.all(reader.maxDoc());
- } else {
- iterator = buildMatchingIterator(reader, values);
- }
-
- return new ConstantScoreScorer(this, score(), iterator);
- }
- };
- }
-
- @Override
- public final int hashCode() {
- int hash = classHash();
- hash = 31 * hash + field.hashCode();
- hash = 31 * hash + Arrays.hashCode(lowerPoint);
- hash = 31 * hash + Arrays.hashCode(upperPoint);
- hash = 31 * hash + numDims;
- hash = 31 * hash + Objects.hashCode(bytesPerDim);
- return hash;
- }
-
- @Override
- public final boolean equals(Object other) {
- return sameClassAs(other) &&
- equalsTo(getClass().cast(other));
- }
-
- private boolean equalsTo(LatLonPointBoxQuery other) {
- return field.equals(other.field) &&
- numDims == other.numDims &&
- bytesPerDim == other.bytesPerDim &&
- Arrays.equals(lowerPoint, other.lowerPoint) &&
- Arrays.equals(upperPoint, other.upperPoint);
- }
-
- @Override
- public final String toString(String field) {
- final StringBuilder sb = new StringBuilder();
- if (this.field.equals(field) == false) {
- sb.append(this.field);
- sb.append(':');
- }
-
- // print ourselves as "range per dimension"
- for (int i = 0; i < numDims; i++) {
- if (i > 0) {
- sb.append(',');
- }
-
- int startOffset = bytesPerDim * i;
-
- sb.append('[');
- sb.append(toString(i, Arrays.copyOfRange(lowerPoint, startOffset, startOffset + bytesPerDim)));
- sb.append(" TO ");
- sb.append(toString(i, Arrays.copyOfRange(upperPoint, startOffset, startOffset + bytesPerDim)));
- sb.append(']');
- }
-
- return sb.toString();
- }
-
- /**
- * Returns a string of a single value in a human-readable format for debugging.
- * This is used by {@link #toString()}.
- *
- * @param dimension dimension of the particular value
- * @param value single value, never null
- * @return human readable value for debugging
- */
- protected abstract String toString(int dimension, byte[] value);
-}
[08/50] [abbrv] lucene-solr:apiv2: LUCENE-7326: don't use postings
format by name in this test
Posted by no...@apache.org.
LUCENE-7326: don't use postings format by name in this 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/816fae96
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/816fae96
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/816fae96
Branch: refs/heads/apiv2
Commit: 816fae9622d9719fd38a5381a7029383e54d2e77
Parents: 0eacfe8
Author: Mike McCandless <mi...@apache.org>
Authored: Fri Jun 10 11:57:14 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Fri Jun 10 11:57:41 2016 -0400
----------------------------------------------------------------------
.../index/BasePostingsFormatTestCase.java | 283 +++++++++----------
1 file changed, 138 insertions(+), 145 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/816fae96/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
index 10ed5b1..d6cf1e5 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
@@ -16,13 +16,6 @@
*/
package org.apache.lucene.index;
-import static org.apache.lucene.index.PostingsEnum.ALL;
-import static org.apache.lucene.index.PostingsEnum.FREQS;
-import static org.apache.lucene.index.PostingsEnum.NONE;
-import static org.apache.lucene.index.PostingsEnum.OFFSETS;
-import static org.apache.lucene.index.PostingsEnum.PAYLOADS;
-import static org.apache.lucene.index.PostingsEnum.POSITIONS;
-
import java.io.IOException;
import java.nio.file.Path;
import java.util.Collections;
@@ -38,9 +31,8 @@ import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.codecs.FieldsConsumer;
import org.apache.lucene.codecs.FieldsProducer;
+import org.apache.lucene.codecs.FilterCodec;
import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.asserting.AssertingCodec;
-import org.apache.lucene.codecs.perfield.PerFieldPostingsFormat;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
@@ -51,13 +43,19 @@ import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LineFileDocs;
import org.apache.lucene.util.RamUsageTester;
import org.apache.lucene.util.TestUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
+import static org.apache.lucene.index.PostingsEnum.ALL;
+import static org.apache.lucene.index.PostingsEnum.FREQS;
+import static org.apache.lucene.index.PostingsEnum.NONE;
+import static org.apache.lucene.index.PostingsEnum.OFFSETS;
+import static org.apache.lucene.index.PostingsEnum.PAYLOADS;
+import static org.apache.lucene.index.PostingsEnum.POSITIONS;
+
/**
* Abstract class to do basic tests for a postings format.
* NOTE: This test focuses on the postings
@@ -165,8 +163,9 @@ public abstract class BasePostingsFormatTestCase extends BaseIndexFileFormatTest
te.seekExact(fieldAndTerm.term);
checkReuse(te, PostingsEnum.FREQS, PostingsEnum.ALL, false);
- if (isPostingsEnumReuseImplemented())
+ if (isPostingsEnumReuseImplemented()) {
checkReuse(te, PostingsEnum.ALL, PostingsEnum.ALL, true);
+ }
fieldsProducer.close();
dir.close();
@@ -175,10 +174,11 @@ public abstract class BasePostingsFormatTestCase extends BaseIndexFileFormatTest
protected static void checkReuse(TermsEnum termsEnum, int firstFlags, int secondFlags, boolean shouldReuse) throws IOException {
PostingsEnum postings1 = termsEnum.postings(null, firstFlags);
PostingsEnum postings2 = termsEnum.postings(postings1, secondFlags);
- if (shouldReuse)
+ if (shouldReuse) {
assertSame("Expected PostingsEnum " + postings1.getClass().getName() + " to be reused", postings1, postings2);
- else
+ } else {
assertNotSame("Expected PostingsEnum " + postings1.getClass().getName() + " to not be reused", postings1, postings2);
+ }
}
public void testJustEmptyField() throws Exception {
@@ -337,61 +337,104 @@ public abstract class BasePostingsFormatTestCase extends BaseIndexFileFormatTest
// TODO: would be better to use / delegate to the current
// Codec returned by getCodec()
- iwc.setCodec(new AssertingCodec() {
+ iwc.setCodec(new FilterCodec(getCodec().getName(), getCodec()) {
@Override
- public PostingsFormat getPostingsFormatForField(String field) {
+ public PostingsFormat postingsFormat() {
- PostingsFormat p = getCodec().postingsFormat();
- if (p instanceof PerFieldPostingsFormat) {
- p = ((PerFieldPostingsFormat) p).getPostingsFormatForField(field);
- }
- final PostingsFormat defaultPostingsFormat = p;
+ final PostingsFormat defaultPostingsFormat = delegate.postingsFormat();
final Thread mainThread = Thread.currentThread();
- if (field.equals("body")) {
-
- // A PF that counts up some stats and then in
- // the end we verify the stats match what the
- // final IndexReader says, just to exercise the
- // new freedom of iterating the postings more
- // than once at flush/merge:
-
- return new PostingsFormat(defaultPostingsFormat.getName()) {
-
- @Override
- public FieldsConsumer fieldsConsumer(final SegmentWriteState state) throws IOException {
-
- final FieldsConsumer fieldsConsumer = defaultPostingsFormat.fieldsConsumer(state);
-
- return new FieldsConsumer() {
- @Override
- public void write(Fields fields) throws IOException {
- fieldsConsumer.write(fields);
-
- boolean isMerge = state.context.context == IOContext.Context.MERGE;
-
- // We only use one thread for flushing
- // in this test:
- assert isMerge || Thread.currentThread() == mainThread;
+ // A PF that counts up some stats and then in
+ // the end we verify the stats match what the
+ // final IndexReader says, just to exercise the
+ // new freedom of iterating the postings more
+ // than once at flush/merge:
+
+ return new PostingsFormat(defaultPostingsFormat.getName()) {
+
+ @Override
+ public FieldsConsumer fieldsConsumer(final SegmentWriteState state) throws IOException {
+
+ final FieldsConsumer fieldsConsumer = defaultPostingsFormat.fieldsConsumer(state);
+
+ return new FieldsConsumer() {
+ @Override
+ public void write(Fields fields) throws IOException {
+ fieldsConsumer.write(fields);
+
+ boolean isMerge = state.context.context == IOContext.Context.MERGE;
+
+ // We only use one thread for flushing
+ // in this test:
+ assert isMerge || Thread.currentThread() == mainThread;
+
+ // We iterate the provided TermsEnum
+ // twice, so we excercise this new freedom
+ // with the inverted API; if
+ // addOnSecondPass is true, we add up
+ // term stats on the 2nd iteration:
+ boolean addOnSecondPass = random().nextBoolean();
+
+ //System.out.println("write isMerge=" + isMerge + " 2ndPass=" + addOnSecondPass);
+
+ // Gather our own stats:
+ Terms terms = fields.terms("body");
+ assert terms != null;
+
+ TermsEnum termsEnum = terms.iterator();
+ PostingsEnum docs = null;
+ while(termsEnum.next() != null) {
+ BytesRef term = termsEnum.term();
+ // TODO: also sometimes ask for payloads/offsets?
+ boolean noPositions = random().nextBoolean();
+ if (noPositions) {
+ docs = termsEnum.postings(docs, PostingsEnum.FREQS);
+ } else {
+ docs = termsEnum.postings(null, PostingsEnum.POSITIONS);
+ }
+ int docFreq = 0;
+ long totalTermFreq = 0;
+ while (docs.nextDoc() != PostingsEnum.NO_MORE_DOCS) {
+ docFreq++;
+ totalTermFreq += docs.freq();
+ int limit = TestUtil.nextInt(random(), 1, docs.freq());
+ if (!noPositions) {
+ for (int i = 0; i < limit; i++) {
+ docs.nextPosition();
+ }
+ }
+ }
- // We iterate the provided TermsEnum
- // twice, so we excercise this new freedom
- // with the inverted API; if
- // addOnSecondPass is true, we add up
- // term stats on the 2nd iteration:
- boolean addOnSecondPass = random().nextBoolean();
+ String termString = term.utf8ToString();
- //System.out.println("write isMerge=" + isMerge + " 2ndPass=" + addOnSecondPass);
+ // During merge we should only see terms
+ // we had already seen during a
+ // previous flush:
+ assertTrue(isMerge==false || termFreqs.containsKey(termString));
- // Gather our own stats:
- Terms terms = fields.terms("body");
- assert terms != null;
+ if (isMerge == false) {
+ if (addOnSecondPass == false) {
+ TermFreqs tf = termFreqs.get(termString);
+ if (tf == null) {
+ tf = new TermFreqs();
+ termFreqs.put(termString, tf);
+ }
+ tf.docFreq += docFreq;
+ tf.totalTermFreq += totalTermFreq;
+ sumDocFreq.addAndGet(docFreq);
+ sumTotalTermFreq.addAndGet(totalTermFreq);
+ } else if (termFreqs.containsKey(termString) == false) {
+ // Add placeholder (2nd pass will
+ // set its counts):
+ termFreqs.put(termString, new TermFreqs());
+ }
+ }
+ }
- TermsEnum termsEnum = terms.iterator();
- PostingsEnum docs = null;
- while(termsEnum.next() != null) {
- BytesRef term = termsEnum.term();
+ // Also test seeking the TermsEnum:
+ for(String term : termFreqs.keySet()) {
+ if (termsEnum.seekExact(new BytesRef(term))) {
// TODO: also sometimes ask for payloads/offsets?
boolean noPositions = random().nextBoolean();
if (noPositions) {
@@ -399,6 +442,7 @@ public abstract class BasePostingsFormatTestCase extends BaseIndexFileFormatTest
} else {
docs = termsEnum.postings(null, PostingsEnum.POSITIONS);
}
+
int docFreq = 0;
long totalTermFreq = 0;
while (docs.nextDoc() != PostingsEnum.NO_MORE_DOCS) {
@@ -412,96 +456,43 @@ public abstract class BasePostingsFormatTestCase extends BaseIndexFileFormatTest
}
}
- String termString = term.utf8ToString();
-
- // During merge we should only see terms
- // we had already seen during a
- // previous flush:
- assertTrue(isMerge==false || termFreqs.containsKey(termString));
-
- if (isMerge == false) {
- if (addOnSecondPass == false) {
- TermFreqs tf = termFreqs.get(termString);
- if (tf == null) {
- tf = new TermFreqs();
- termFreqs.put(termString, tf);
- }
- tf.docFreq += docFreq;
- tf.totalTermFreq += totalTermFreq;
- sumDocFreq.addAndGet(docFreq);
- sumTotalTermFreq.addAndGet(totalTermFreq);
- } else if (termFreqs.containsKey(termString) == false) {
- // Add placeholder (2nd pass will
- // set its counts):
- termFreqs.put(termString, new TermFreqs());
- }
- }
- }
-
- // Also test seeking the TermsEnum:
- for(String term : termFreqs.keySet()) {
- if (termsEnum.seekExact(new BytesRef(term))) {
- // TODO: also sometimes ask for payloads/offsets?
- boolean noPositions = random().nextBoolean();
- if (noPositions) {
- docs = termsEnum.postings(docs, PostingsEnum.FREQS);
- } else {
- docs = termsEnum.postings(null, PostingsEnum.POSITIONS);
- }
-
- int docFreq = 0;
- long totalTermFreq = 0;
- while (docs.nextDoc() != PostingsEnum.NO_MORE_DOCS) {
- docFreq++;
- totalTermFreq += docs.freq();
- int limit = TestUtil.nextInt(random(), 1, docs.freq());
- if (!noPositions) {
- for (int i = 0; i < limit; i++) {
- docs.nextPosition();
- }
- }
- }
-
- if (isMerge == false && addOnSecondPass) {
- TermFreqs tf = termFreqs.get(term);
- assert tf != null;
- tf.docFreq += docFreq;
- tf.totalTermFreq += totalTermFreq;
- sumDocFreq.addAndGet(docFreq);
- sumTotalTermFreq.addAndGet(totalTermFreq);
- }
-
- //System.out.println(" term=" + term + " docFreq=" + docFreq + " ttDF=" + termToDocFreq.get(term));
- assertTrue(docFreq <= termFreqs.get(term).docFreq);
- assertTrue(totalTermFreq <= termFreqs.get(term).totalTermFreq);
+ if (isMerge == false && addOnSecondPass) {
+ TermFreqs tf = termFreqs.get(term);
+ assert tf != null;
+ tf.docFreq += docFreq;
+ tf.totalTermFreq += totalTermFreq;
+ sumDocFreq.addAndGet(docFreq);
+ sumTotalTermFreq.addAndGet(totalTermFreq);
}
- }
- // Also test seekCeil
- for(int iter=0;iter<10;iter++) {
- BytesRef term = new BytesRef(TestUtil.randomRealisticUnicodeString(random()));
- SeekStatus status = termsEnum.seekCeil(term);
- if (status == SeekStatus.NOT_FOUND) {
- assertTrue(term.compareTo(termsEnum.term()) < 0);
- }
+ //System.out.println(" term=" + term + " docFreq=" + docFreq + " ttDF=" + termToDocFreq.get(term));
+ assertTrue(docFreq <= termFreqs.get(term).docFreq);
+ assertTrue(totalTermFreq <= termFreqs.get(term).totalTermFreq);
}
}
- @Override
- public void close() throws IOException {
- fieldsConsumer.close();
+ // Also test seekCeil
+ for(int iter=0;iter<10;iter++) {
+ BytesRef term = new BytesRef(TestUtil.randomRealisticUnicodeString(random()));
+ SeekStatus status = termsEnum.seekCeil(term);
+ if (status == SeekStatus.NOT_FOUND) {
+ assertTrue(term.compareTo(termsEnum.term()) < 0);
+ }
}
- };
- }
-
- @Override
- public FieldsProducer fieldsProducer(SegmentReadState state) throws IOException {
- return defaultPostingsFormat.fieldsProducer(state);
- }
- };
- } else {
- return defaultPostingsFormat;
- }
+ }
+
+ @Override
+ public void close() throws IOException {
+ fieldsConsumer.close();
+ }
+ };
+ }
+
+ @Override
+ public FieldsProducer fieldsProducer(SegmentReadState state) throws IOException {
+ return defaultPostingsFormat.fieldsProducer(state);
+ }
+ };
}
});
@@ -512,8 +503,10 @@ public abstract class BasePostingsFormatTestCase extends BaseIndexFileFormatTest
int bytesIndexed = 0;
while (bytesIndexed < bytesToIndex) {
Document doc = docs.nextDoc();
- w.addDocument(doc);
- bytesIndexed += RamUsageTester.sizeOf(doc);
+ Document justBodyDoc = new Document();
+ justBodyDoc.add(doc.getField("body"));
+ w.addDocument(justBodyDoc);
+ bytesIndexed += RamUsageTester.sizeOf(justBodyDoc);
}
IndexReader r = w.getReader();
[41/50] [abbrv] lucene-solr:apiv2: SOLR-9204: Remove unused imports.
Posted by no...@apache.org.
SOLR-9204: Remove unused imports.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/bd7ddb8f
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/bd7ddb8f
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/bd7ddb8f
Branch: refs/heads/apiv2
Commit: bd7ddb8fbfedd29711c8f5e466022ecb3810b70a
Parents: 5a03216
Author: Adrien Grand <jp...@gmail.com>
Authored: Tue Jun 14 09:29:02 2016 +0200
Committer: Adrien Grand <jp...@gmail.com>
Committed: Tue Jun 14 10:25:23 2016 +0200
----------------------------------------------------------------------
solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java | 1 -
solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java | 1 -
2 files changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/bd7ddb8f/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
index ada4af3..067b57b 100644
--- a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
@@ -31,7 +31,6 @@ import java.util.concurrent.TimeUnit;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.FsStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathFilter;
import org.apache.hadoop.security.UserGroupInformation;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/bd7ddb8f/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
index 14898d7..9de4a78 100644
--- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
@@ -76,7 +76,6 @@ import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.SuppressForbidden;
import org.apache.solr.core.CloseHook;
-import org.apache.solr.core.DirectoryFactory;
import org.apache.solr.core.DirectoryFactory.DirContext;
import org.apache.solr.core.IndexDeletionPolicyWrapper;
import org.apache.solr.core.SolrCore;
[44/50] [abbrv] lucene-solr:apiv2: Merge remote-tracking branch
'origin/master'
Posted by no...@apache.org.
Merge remote-tracking branch 'origin/master'
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/ccf2070e
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/ccf2070e
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/ccf2070e
Branch: refs/heads/apiv2
Commit: ccf2070e53015a076867e850f7bdcfa03d25e7f4
Parents: 97e696d 82a9244
Author: Noble Paul <no...@apache.org>
Authored: Tue Jun 14 19:38:23 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Tue Jun 14 19:38:23 2016 +0530
----------------------------------------------------------------------
dev-tools/scripts/addVersion.py | 34 +-
lucene/CHANGES.txt | 6 +
.../lucene/analysis/ar/ArabicAnalyzer.java | 1 -
.../charfilter/HTMLStripCharFilter.java | 1 -
.../analysis/charfilter/NormalizeCharMap.java | 2 -
.../lucene/analysis/ckb/SoraniAnalyzer.java | 1 -
.../HyphenationCompoundWordTokenFilter.java | 1 -
...phenationCompoundWordTokenFilterFactory.java | 1 -
.../lucene/analysis/core/LowerCaseFilter.java | 3 +-
.../lucene/analysis/core/StopAnalyzer.java | 1 -
.../lucene/analysis/core/UpperCaseFilter.java | 3 +-
.../analysis/el/GreekLowerCaseFilter.java | 4 +-
.../lucene/analysis/en/PorterStemmer.java | 4 -
.../lucene/analysis/fa/PersianAnalyzer.java | 1 -
.../lucene/analysis/hi/HindiAnalyzer.java | 1 -
.../lucene/analysis/minhash/MinHashFilter.java | 504 +++++++++++++++++++
.../analysis/minhash/MinHashFilterFactory.java | 57 +++
.../lucene/analysis/minhash/package-info.java | 21 +
.../WordDelimiterFilterFactory.java | 2 -
.../analysis/ngram/EdgeNGramTokenFilter.java | 7 +-
.../analysis/ngram/EdgeNGramTokenizer.java | 1 -
.../lucene/analysis/ngram/NGramTokenFilter.java | 13 +-
.../lucene/analysis/ngram/NGramTokenizer.java | 8 +-
.../lucene/analysis/nl/DutchAnalyzer.java | 1 -
.../pattern/PatternCaptureGroupTokenFilter.java | 1 -
.../query/QueryAutoStopWordAnalyzer.java | 1 -
.../analysis/standard/ClassicTokenizerImpl.java | 1 -
.../standard/UAX29URLEmailTokenizerFactory.java | 1 -
.../analysis/synonym/SynonymFilterFactory.java | 2 -
.../lucene/analysis/synonym/SynonymMap.java | 2 -
.../apache/lucene/analysis/th/ThaiAnalyzer.java | 1 -
.../lucene/analysis/tr/TurkishAnalyzer.java | 1 -
.../lucene/analysis/util/CharArrayMap.java | 17 +-
.../lucene/analysis/util/CharTokenizer.java | 5 +-
.../lucene/analysis/util/CharacterUtils.java | 229 ++-------
.../analysis/wikipedia/WikipediaTokenizer.java | 1 -
.../lucene/collation/CollationKeyAnalyzer.java | 2 -
...ache.lucene.analysis.util.TokenFilterFactory | 1 +
.../lucene/analysis/ar/TestArabicAnalyzer.java | 1 -
.../ar/TestArabicNormalizationFilter.java | 1 -
.../bg/TestBulgarianStemFilterFactory.java | 1 -
.../analysis/br/TestBrazilianAnalyzer.java | 1 -
.../TestHTMLStripCharFilterFactory.java | 1 -
.../analysis/cjk/TestCJKWidthFilterFactory.java | 1 -
.../lucene/analysis/ckb/TestSoraniAnalyzer.java | 1 -
.../TestSoraniNormalizationFilterFactory.java | 1 -
.../commongrams/CommonGramsFilterTest.java | 1 -
.../TestCommonGramsQueryFilterFactory.java | 3 -
.../analysis/core/TestKeywordAnalyzer.java | 1 -
.../lucene/analysis/core/TestRandomChains.java | 1 -
.../de/TestGermanLightStemFilterFactory.java | 1 -
.../analysis/de/TestGermanStemFilter.java | 1 -
.../el/TestGreekLowerCaseFilterFactory.java | 1 -
.../analysis/el/TestGreekStemFilterFactory.java | 1 -
.../en/TestEnglishMinimalStemFilterFactory.java | 1 -
.../analysis/en/TestKStemFilterFactory.java | 1 -
.../en/TestPorterStemFilterFactory.java | 1 -
.../lucene/analysis/fa/TestPersianAnalyzer.java | 1 -
.../TestPersianNormalizationFilterFactory.java | 1 -
.../fr/TestFrenchLightStemFilterFactory.java | 1 -
.../fr/TestFrenchMinimalStemFilterFactory.java | 1 -
.../ga/TestIrishLowerCaseFilterFactory.java | 1 -
.../TestGalicianMinimalStemFilterFactory.java | 1 -
.../gl/TestGalicianStemFilterFactory.java | 1 -
.../lucene/analysis/hi/TestHindiAnalyzer.java | 1 -
.../lucene/analysis/hi/TestHindiFilters.java | 2 -
.../lucene/analysis/hi/TestHindiNormalizer.java | 4 -
.../hu/TestHungarianLightStemFilterFactory.java | 1 -
.../analysis/hunspell/Test64kAffixes.java | 2 -
.../analysis/hunspell/TestAllDictionaries.java | 1 -
.../analysis/hunspell/TestAllDictionaries2.java | 1 -
.../analysis/hunspell/TestDictionary.java | 1 -
.../hunspell/TestHunspellStemFilter.java | 1 -
.../it/TestItalianLightStemFilterFactory.java | 1 -
.../analysis/minhash/MinHashFilterTest.java | 330 ++++++++++++
.../miscellaneous/TestKeywordMarkerFilter.java | 2 -
.../TestStemmerOverrideFilter.java | 4 +-
.../miscellaneous/TestTrimFilterFactory.java | 1 -
.../no/TestNorwegianLightStemFilterFactory.java | 1 -
.../TestPatternReplaceCharFilterFactory.java | 1 -
.../TestPatternReplaceFilterFactory.java | 1 -
.../DelimitedPayloadTokenFilterTest.java | 4 -
.../pt/TestPortugueseStemFilterFactory.java | 1 -
.../reverse/TestReverseStringFilterFactory.java | 1 -
.../ru/TestRussianLightStemFilterFactory.java | 1 -
.../analysis/shingle/ShingleFilterTest.java | 1 -
.../shingle/TestShingleFilterFactory.java | 1 -
.../standard/TestStandardFactories.java | 1 -
.../lucene/analysis/th/TestThaiAnalyzer.java | 1 -
.../analysis/util/TestCharacterUtils.java | 155 +-----
.../collation/ICUCollationKeyAnalyzer.java | 3 -
.../icu/TestICUFoldingFilterFactory.java | 1 -
.../icu/TestICUNormalizer2FilterFactory.java | 1 -
.../icu/TestICUTransformFilterFactory.java | 1 -
.../segmentation/TestICUTokenizerFactory.java | 1 -
.../analysis/ja/dict/ConnectionCosts.java | 1 -
.../lucene/analysis/ja/dict/UserDictionary.java | 1 -
.../analysis/morfologik/MorfologikFilter.java | 4 +-
.../TestDoubleMetaphoneFilterFactory.java | 3 -
.../TestStempelPolishStemFilterFactory.java | 1 -
.../uima/UIMAAnnotationsTokenizerFactory.java | 1 -
.../lucene/analysis/uima/UIMABaseAnalyzer.java | 1 -
...IMATypeAwareAnnotationsTokenizerFactory.java | 1 -
.../uima/UIMATypeAwareAnalyzerTest.java | 1 -
.../lucene50/Lucene50SegmentInfoFormat.java | 4 -
.../lucene50/Lucene50RWSegmentInfoFormat.java | 4 -
.../benchmark/byTask/tasks/AddIndexesTask.java | 3 -
.../byTask/tasks/NearRealtimeReaderTask.java | 1 -
.../benchmark/byTask/tasks/OpenReaderTask.java | 1 -
.../lucene/benchmark/byTask/tasks/ReadTask.java | 1 -
.../byTask/tasks/ReopenReaderTask.java | 1 -
.../byTask/tasks/RollbackIndexTask.java | 2 -
.../byTask/tasks/WriteEnwikiLineDocTask.java | 1 -
.../benchmark/quality/utils/SimpleQQParser.java | 1 -
.../tasks/WriteEnwikiLineDocTaskTest.java | 4 -
.../lucene/classification/Classifier.java | 4 -
.../SimpleNaiveBayesDocumentClassifier.java | 2 -
.../classification/utils/DatasetSplitter.java | 2 -
.../SimpleNaiveBayesClassifierTest.java | 1 -
.../utils/DocToDoubleVectorUtilsTest.java | 2 -
.../codecs/blockterms/BlockTermsReader.java | 1 -
.../blocktreeords/OrdsIntersectTermsEnum.java | 2 -
.../blocktreeords/OrdsSegmentTermsEnum.java | 2 -
.../lucene/codecs/memory/FSTOrdTermsReader.java | 1 -
.../simpletext/SimpleTextFieldsReader.java | 1 -
.../simpletext/SimpleTextLiveDocsFormat.java | 2 -
.../simpletext/SimpleTextTermVectorsReader.java | 1 -
.../java/org/apache/lucene/analysis/Token.java | 1 -
.../org/apache/lucene/codecs/NormsConsumer.java | 2 -
.../lucene/codecs/StoredFieldsWriter.java | 1 -
.../apache/lucene/codecs/TermVectorsWriter.java | 1 -
.../codecs/lucene50/Lucene50PostingsFormat.java | 1 -
.../lucene62/Lucene62SegmentInfoFormat.java | 1 -
.../org/apache/lucene/index/DocIDMerger.java | 2 -
.../apache/lucene/index/DocumentsWriter.java | 40 +-
.../index/DocumentsWriterPerThreadPool.java | 5 +-
.../org/apache/lucene/index/IndexWriter.java | 10 +-
.../apache/lucene/index/IndexWriterConfig.java | 1 -
.../lucene/index/MappingMultiPostingsEnum.java | 2 -
.../org/apache/lucene/index/MergePolicy.java | 2 -
.../org/apache/lucene/index/MergeState.java | 1 -
.../org/apache/lucene/index/MultiSorter.java | 1 -
.../index/TermVectorsConsumerPerField.java | 1 -
.../apache/lucene/index/TermsHashPerField.java | 1 -
.../apache/lucene/search/BlendedTermQuery.java | 1 -
.../apache/lucene/search/ConjunctionDISI.java | 188 +++----
.../apache/lucene/search/ConjunctionScorer.java | 4 +-
.../search/ControlledRealTimeReopenThread.java | 3 +-
.../EarlyTerminatingSortingCollector.java | 1 -
.../apache/lucene/search/ExactPhraseScorer.java | 3 +-
.../apache/lucene/search/FuzzyTermsEnum.java | 1 -
.../java/org/apache/lucene/search/Multiset.java | 2 -
.../apache/lucene/search/PointInSetQuery.java | 6 -
.../org/apache/lucene/search/RegexpQuery.java | 1 -
.../lucene/search/SloppyPhraseScorer.java | 3 +-
.../apache/lucene/search/TwoPhaseIterator.java | 79 +--
.../lucene/store/ByteArrayIndexInput.java | 2 -
.../org/apache/lucene/util/CharsRefBuilder.java | 1 -
.../automaton/DaciukMihovAutomatonBuilder.java | 1 -
.../lucene/util/mutable/MutableValueStr.java | 1 -
.../util/packed/MonotonicBlockPackedWriter.java | 1 -
.../lucene/util/packed/MonotonicLongValues.java | 1 -
.../lucene54/TestLucene54DocValuesFormat.java | 2 -
.../apache/lucene/document/TestFieldType.java | 2 -
.../org/apache/lucene/index/Test2BPoints.java | 6 -
.../index/TestBinaryDocValuesUpdates.java | 2 -
.../org/apache/lucene/index/TestCodecs.java | 5 -
.../lucene/index/TestDirectoryReader.java | 1 -
.../apache/lucene/index/TestDocIDMerger.java | 2 -
.../lucene/index/TestDocsAndPositions.java | 1 -
.../apache/lucene/index/TestFieldsReader.java | 1 -
.../lucene/index/TestIndexFileDeleter.java | 4 -
.../org/apache/lucene/index/TestIndexInput.java | 4 -
.../apache/lucene/index/TestIndexSorting.java | 7 -
.../apache/lucene/index/TestIndexWriter.java | 3 -
.../lucene/index/TestIndexWriterCommit.java | 1 -
.../lucene/index/TestIndexWriterConfig.java | 1 -
.../lucene/index/TestIndexWriterForceMerge.java | 4 -
.../lucene/index/TestIndexWriterFromReader.java | 1 -
.../index/TestIndexWriterLockRelease.java | 2 -
.../lucene/index/TestIndexWriterOnDiskFull.java | 2 -
.../index/TestIndexingSequenceNumbers.java | 2 -
.../lucene/index/TestMergeRateLimiter.java | 2 -
.../lucene/index/TestMixedDocValuesUpdates.java | 1 -
.../apache/lucene/index/TestMultiTermsEnum.java | 1 -
.../apache/lucene/index/TestNeverDelete.java | 2 -
.../apache/lucene/index/TestNoMergePolicy.java | 1 -
.../index/TestNumericDocValuesUpdates.java | 2 -
.../apache/lucene/index/TestOmitPositions.java | 1 -
.../org/apache/lucene/index/TestOmitTf.java | 2 -
.../index/TestParallelCompositeReader.java | 2 -
.../lucene/index/TestParallelTermEnum.java | 1 -
.../org/apache/lucene/index/TestPayloads.java | 1 -
.../lucene/index/TestPerSegmentDeletes.java | 2 -
.../TestPersistentSnapshotDeletionPolicy.java | 1 -
.../apache/lucene/index/TestReaderClosed.java | 1 -
.../apache/lucene/index/TestSegmentInfos.java | 1 -
.../index/TestSnapshotDeletionPolicy.java | 2 -
.../lucene/search/TestConjunctionDISI.java | 12 +-
.../TestControlledRealTimeReopenThread.java | 20 +-
.../TestEarlyTerminatingSortingCollector.java | 6 -
.../apache/lucene/search/TestIndexSearcher.java | 1 -
.../lucene/search/TestMatchNoDocsQuery.java | 1 -
.../apache/lucene/search/TestPhraseQuery.java | 1 -
.../apache/lucene/search/TestRegexpRandom2.java | 1 -
.../apache/lucene/search/TestScorerPerf.java | 2 -
.../lucene/search/TestSimilarityProvider.java | 1 -
.../lucene/store/TestBufferedIndexInput.java | 1 -
.../org/apache/lucene/store/TestDirectory.java | 1 -
.../lucene/store/TestFileSwitchDirectory.java | 1 -
.../apache/lucene/store/TestRateLimiter.java | 1 -
.../lucene/store/TestSimpleFSLockFactory.java | 1 -
.../apache/lucene/util/Test2BPagedBytes.java | 1 -
.../org/apache/lucene/util/TestIOUtils.java | 1 -
.../util/TestRecyclingByteBlockAllocator.java | 1 -
.../util/TestRecyclingIntBlockAllocator.java | 1 -
.../automaton/FiniteStringsIteratorTest.java | 1 -
.../LimitedFiniteStringsIteratorTest.java | 1 -
.../test/org/apache/lucene/demo/TestDemo.java | 2 -
.../TestExpressionAggregationFacetsExample.java | 3 -
.../demo/facet/TestRangeFacetsExample.java | 2 -
.../facet/TestSimpleSortedSetFacetsExample.java | 1 -
.../lucene/expressions/js/JavascriptLexer.java | 3 -
.../lucene/expressions/js/JavascriptParser.java | 3 -
.../DefaultSortedSetDocValuesReaderState.java | 1 -
.../lucene/facet/taxonomy/TestFacetLabel.java | 2 -
.../taxonomy/directory/TestAddTaxonomy.java | 14 -
.../grouping/AbstractGroupFacetCollector.java | 1 -
.../highlight/OffsetLimitTokenFilterTest.java | 1 -
.../vectorhighlight/IndexTimeSynonymTest.java | 4 -
.../search/join/ToParentBlockJoinQuery.java | 2 -
.../lucene/search/join/TestBlockJoin.java | 1 -
.../apache/lucene/index/memory/MemoryIndex.java | 2 +-
.../lucene/index/memory/TestMemoryIndex.java | 6 -
.../memory/TestMemoryIndexAgainstRAMDir.java | 1 -
.../lucene/index/MultiPassIndexSplitter.java | 1 -
.../index/TestMultiPassIndexSplitter.java | 1 -
.../search/TestDiversifiedTopDocsCollector.java | 1 -
.../apache/lucene/util/fst/TestFSTsMisc.java | 1 -
.../lucene/queries/function/BoostedQuery.java | 1 -
.../function/valuesource/DoubleFieldSource.java | 1 -
.../SumTotalTermFreqValueSource.java | 1 -
.../apache/lucene/queries/TermsQueryTest.java | 2 -
.../queries/TestCustomScoreExplanations.java | 1 -
.../lucene/queryparser/classic/QueryParser.java | 3 +-
.../lucene/queryparser/classic/QueryParser.jj | 2 +-
.../classic/QueryParserTokenManager.java | 10 -
.../queryparser/ext/ExtendableQueryParser.java | 1 -
.../flexible/standard/StandardQueryParser.java | 2 +-
.../builders/DummyQueryNodeBuilder.java | 1 -
.../StandardSyntaxParserTokenManager.java | 22 -
.../MultiFieldQueryNodeProcessor.java | 1 -
.../StandardQueryNodeProcessorPipeline.java | 3 -
.../surround/parser/QueryParser.java | 2 -
.../parser/QueryParserTokenManager.java | 13 -
.../queryparser/classic/TestMultiAnalyzer.java | 2 -
.../classic/TestMultiPhraseQueryParsing.java | 1 -
.../precedence/TestPrecedenceQueryParser.java | 1 -
.../standard/TestMultiAnalyzerQPHelper.java | 3 -
.../flexible/standard/TestStandardQP.java | 2 -
.../simple/TestSimpleQueryParser.java | 1 -
.../xml/TestQueryTemplateManager.java | 1 -
.../lucene/replicator/nrt/CopyOneFile.java | 2 -
.../apache/lucene/replicator/nrt/CopyState.java | 1 -
.../org/apache/lucene/replicator/nrt/Node.java | 10 -
.../replicator/nrt/ReplicaFileDeleter.java | 2 -
.../nrt/SegmentInfosSearcherManager.java | 1 -
.../IndexAndTaxonomyRevisionTest.java | 1 -
.../lucene/replicator/IndexRevisionTest.java | 1 -
.../lucene/replicator/LocalReplicatorTest.java | 1 -
.../lucene/replicator/ReplicatorTestCase.java | 2 -
.../lucene/replicator/nrt/Connection.java | 2 -
.../org/apache/lucene/replicator/nrt/Jobs.java | 2 -
.../lucene/replicator/nrt/SimpleCopyJob.java | 35 --
.../lucene/replicator/nrt/SimpleTransLog.java | 3 -
.../replicator/nrt/TestNRTReplication.java | 1 -
.../nrt/TestStressNRTReplication.java | 1 -
.../idversion/IDVersionPostingsReader.java | 1 -
.../idversion/IDVersionSegmentTermsEnum.java | 1 -
.../sandbox/queries/SlowFuzzyTermsEnum.java | 1 -
.../search/TokenStreamToTermAutomatonQuery.java | 2 -
lucene/site/changes/changes2html.pl | 4 +-
lucene/site/xsl/index.xsl | 14 +-
.../org/apache/lucene/spatial3d/Geo3DPoint.java | 9 -
.../spatial3d/geom/GeoComplexPolygon.java | 2 -
.../lucene/spatial3d/geom/StandardXYZSolid.java | 2 -
.../apache/lucene/spatial3d/TestGeo3DPoint.java | 1 -
.../lucene/spatial3d/geom/GeoPolygonTest.java | 2 -
.../lucene/search/spell/DirectSpellChecker.java | 2 -
.../lucene/search/spell/LuceneDictionary.java | 1 -
.../search/spell/WordBreakSpellChecker.java | 1 -
.../analyzing/AnalyzingInfixSuggester.java | 1 -
.../search/suggest/analyzing/FSTUtil.java | 1 -
.../suggest/analyzing/SuggestStopFilter.java | 1 -
.../suggest/fst/FSTCompletionBuilder.java | 1 -
.../search/suggest/jaspell/JaspellLookup.java | 1 -
.../search/suggest/FileDictionaryTest.java | 1 -
.../lucene/search/suggest/PersistenceTest.java | 1 -
.../analyzing/AnalyzingInfixSuggesterTest.java | 2 -
.../analyzing/AnalyzingSuggesterTest.java | 1 -
.../suggest/analyzing/FuzzySuggesterTest.java | 1 -
.../search/suggest/fst/FSTCompletionTest.java | 1 -
.../search/suggest/fst/WFSTCompletionTest.java | 1 -
.../lucene/analysis/CollationTestBase.java | 1 -
.../apache/lucene/analysis/MockAnalyzer.java | 1 -
.../apache/lucene/analysis/MockCharFilter.java | 1 -
.../lucene/analysis/MockPayloadAnalyzer.java | 1 -
.../codecs/asserting/AssertingPointsFormat.java | 1 -
.../codecs/cranky/CrankyPointsFormat.java | 3 -
.../mockrandom/MockRandomPostingsFormat.java | 1 -
.../index/BaseTermVectorsFormatTestCase.java | 2 -
.../java/org/apache/lucene/index/DocHelper.java | 1 -
.../apache/lucene/index/ForceMergePolicy.java | 3 -
.../ThreadedIndexingAndSearchingTestCase.java | 1 -
.../lucene/mockfile/MockFileSystemTestCase.java | 1 -
.../org/apache/lucene/mockfile/WindowsFS.java | 4 -
.../lucene/store/BaseLockFactoryTestCase.java | 1 -
.../apache/lucene/util/CloseableDirectory.java | 1 -
.../org/apache/lucene/util/LineFileDocs.java | 1 -
.../analysis/TestLookaheadTokenFilter.java | 1 -
.../TestCompressingStoredFieldsFormat.java | 4 -
.../TestCompressingTermVectorsFormat.java | 1 -
.../lucene/index/TestAssertingLeafReader.java | 8 -
.../lucene/mockfile/TestHandleTrackingFS.java | 4 -
.../apache/lucene/mockfile/TestWindowsFS.java | 2 -
.../lucene/store/TestMockDirectoryWrapper.java | 4 -
lucene/tools/javadoc/ecj.javadocs.prefs | 2 +-
solr/CHANGES.txt | 28 +-
.../solr/schema/TestICUCollationField.java | 2 -
.../analytics/facet/FieldFacetExtrasTest.java | 1 -
.../solr/analytics/facet/FieldFacetTest.java | 1 -
.../handler/dataimport/DIHCacheSupport.java | 3 -
.../handler/dataimport/DataImportHandler.java | 6 -
.../solr/handler/dataimport/DebugInfo.java | 1 -
.../solr/handler/dataimport/Evaluator.java | 5 -
.../solr/handler/dataimport/UrlEvaluator.java | 1 -
.../dataimport/XPathEntityProcessor.java | 1 -
.../apache/solr/handler/dataimport/Zipper.java | 1 -
.../dataimport/config/ConfigParseUtil.java | 6 -
.../solr/handler/dataimport/TestDataConfig.java | 1 -
.../solr/handler/dataimport/TestDocBuilder.java | 1 -
.../handler/dataimport/TestEphemeralCache.java | 1 -
.../dataimport/TestFileListEntityProcessor.java | 1 -
.../TestFileListWithLineEntityProcessor.java | 1 -
.../dataimport/TestHierarchicalDocBuilder.java | 1 -
.../dataimport/TestNonWritablePersistFile.java | 1 -
.../TestPlainTextEntityProcessor.java | 1 -
.../dataimport/TestScriptTransformer.java | 2 -
.../dataimport/TestSimplePropertiesWriter.java | 2 -
.../dataimport/TestSqlEntityProcessorDelta.java | 1 -
...anguageIdentifierUpdateProcessorFactory.java | 1 -
.../LanguageIdentifierUpdateProcessor.java | 1 -
.../solr/hadoop/MapReduceIndexerTool.java | 3 -
.../apache/solr/hadoop/SolrOutputFormat.java | 1 -
.../apache/solr/hadoop/MorphlineMapperTest.java | 1 -
.../src/java/org/apache/solr/cloud/Assign.java | 1 -
.../org/apache/solr/cloud/DistributedMap.java | 1 -
.../solr/cloud/OverseerTaskProcessor.java | 2 -
.../apache/solr/cloud/OverseerTaskQueue.java | 1 -
.../solr/cloud/SizeLimitedDistributedMap.java | 2 -
.../apache/solr/cloud/overseer/NodeMutator.java | 1 -
.../solr/cloud/overseer/OverseerAction.java | 2 -
.../solr/cloud/overseer/SliceMutator.java | 2 -
.../solr/cloud/overseer/ZkStateWriter.java | 2 -
.../apache/solr/cloud/rule/ReplicaAssigner.java | 1 -
.../org/apache/solr/core/BlobRepository.java | 6 -
.../solr/core/CachingDirectoryFactory.java | 6 +-
.../org/apache/solr/core/ConfigOverlay.java | 4 -
.../org/apache/solr/core/ConfigSetService.java | 1 -
.../org/apache/solr/core/CoreContainer.java | 1 -
.../org/apache/solr/core/DirectoryFactory.java | 25 +
.../apache/solr/core/HdfsDirectoryFactory.java | 33 +-
.../solr/core/SimpleFSDirectoryFactory.java | 1 -
.../src/java/org/apache/solr/core/SolrCore.java | 1 -
.../java/org/apache/solr/core/SolrCores.java | 2 -
.../solr/handler/ContentStreamHandlerBase.java | 1 -
.../org/apache/solr/handler/GraphHandler.java | 2 -
.../solr/handler/MoreLikeThisHandler.java | 2 -
.../apache/solr/handler/RealTimeGetHandler.java | 1 -
.../apache/solr/handler/ReplicationHandler.java | 3 +-
.../apache/solr/handler/RequestHandlerBase.java | 2 -
.../solr/handler/admin/ConfigSetsHandler.java | 1 -
.../solr/handler/admin/CoreAdminHandler.java | 2 -
.../solr/handler/admin/CoreAdminOperation.java | 2 +-
.../handler/admin/ShowFileRequestHandler.java | 2 -
.../handler/admin/SolrInfoMBeanHandler.java | 1 -
.../handler/component/HighlightComponent.java | 1 -
.../solr/handler/component/QueryComponent.java | 2 -
.../handler/component/RealTimeGetComponent.java | 1 -
.../handler/component/SpellCheckComponent.java | 2 -
.../handler/component/SpellCheckMergeData.java | 1 -
.../handler/component/StatsValuesFactory.java | 3 -
.../solr/handler/component/TermsComponent.java | 1 -
.../apache/solr/handler/loader/JsonLoader.java | 2 -
.../solr/highlight/PostingsSolrHighlighter.java | 1 -
.../solr/index/SlowCompositeReaderWrapper.java | 1 -
.../apache/solr/index/SortingMergePolicy.java | 21 -
.../org/apache/solr/internal/csv/CSVParser.java | 2 -
.../apache/solr/internal/csv/CSVPrinter.java | 2 -
.../org/apache/solr/parser/QueryParser.java | 6 -
.../solr/parser/QueryParserTokenManager.java | 13 -
.../apache/solr/parser/SolrQueryParserBase.java | 1 -
.../apache/solr/request/SolrRequestInfo.java | 1 -
.../org/apache/solr/request/json/JSONUtil.java | 6 -
.../apache/solr/request/json/ObjectUtil.java | 3 -
.../solr/response/BinaryResponseWriter.java | 1 -
.../solr/response/GeoJSONResponseWriter.java | 1 -
.../solr/response/JSONResponseWriter.java | 5 -
.../response/PHPSerializedResponseWriter.java | 1 -
.../org/apache/solr/response/ResultContext.java | 1 -
.../transform/ExcludedMarkerFactory.java | 2 -
.../org/apache/solr/rest/SolrSchemaRestApi.java | 2 -
.../schema/analysis/ManagedWordSetResource.java | 1 -
.../solr/schema/JsonPreAnalyzedParser.java | 1 -
.../solr/schema/ManagedIndexSchemaFactory.java | 2 -
.../solr/search/CollapsingQParserPlugin.java | 1 -
.../apache/solr/search/DisMaxQParserPlugin.java | 1 -
.../java/org/apache/solr/search/DocSlice.java | 1 -
.../search/ExtendedDismaxQParserPlugin.java | 1 -
.../apache/solr/search/FieldQParserPlugin.java | 1 -
.../solr/search/FunctionQParserPlugin.java | 1 -
.../solr/search/FunctionRangeQParserPlugin.java | 1 -
.../apache/solr/search/JoinQParserPlugin.java | 1 -
.../java/org/apache/solr/search/LRUCache.java | 1 -
.../apache/solr/search/LuceneQParserPlugin.java | 2 -
.../solr/search/OldLuceneQParserPlugin.java | 1 -
.../apache/solr/search/PrefixQParserPlugin.java | 3 -
.../java/org/apache/solr/search/QParser.java | 1 -
.../org/apache/solr/search/QueryContext.java | 1 -
.../org/apache/solr/search/QueryParsing.java | 3 -
.../apache/solr/search/RawQParserPlugin.java | 1 -
.../apache/solr/search/ReRankQParserPlugin.java | 1 -
.../apache/solr/search/SimpleQParserPlugin.java | 1 -
.../apache/solr/search/SolrFieldCacheMBean.java | 1 -
.../org/apache/solr/search/SolrQueryParser.java | 18 -
.../apache/solr/search/SolrReturnFields.java | 1 -
.../solr/search/SpatialBoxQParserPlugin.java | 1 -
.../solr/search/SpatialFilterQParserPlugin.java | 1 -
.../solr/search/SurroundQParserPlugin.java | 1 -
.../apache/solr/search/TermQParserPlugin.java | 1 -
.../apache/solr/search/TermsQParserPlugin.java | 1 -
.../apache/solr/search/XmlQParserPlugin.java | 1 -
.../solr/search/facet/AggValueSource.java | 1 -
.../org/apache/solr/search/facet/BlockJoin.java | 1 -
.../apache/solr/search/facet/FacetField.java | 1 -
.../facet/FacetFieldProcessorNumeric.java | 1 -
.../apache/solr/search/facet/FacetRequest.java | 2 -
.../org/apache/solr/search/facet/FieldUtil.java | 2 -
.../org/apache/solr/search/facet/HLLAgg.java | 5 -
.../apache/solr/search/facet/LegacyFacet.java | 1 -
.../solr/search/facet/SimpleAggValueSource.java | 3 -
.../org/apache/solr/search/facet/SlotAcc.java | 8 -
.../solr/search/facet/StrAggValueSource.java | 7 -
.../solr/search/facet/UnInvertedField.java | 1 -
.../solr/search/function/FileFloatSource.java | 1 -
.../apache/solr/search/grouping/Command.java | 2 -
.../SearchGroupsResultTransformer.java | 2 -
.../join/BlockJoinParentQParserPlugin.java | 1 -
.../solr/search/join/GraphQParserPlugin.java | 1 -
.../org/apache/solr/search/join/GraphQuery.java | 3 -
.../solr/search/join/GraphQueryParser.java | 1 -
.../search/join/ScoreJoinQParserPlugin.java | 1 -
.../solr/search/mlt/MLTQParserPlugin.java | 1 -
.../SweetSpotSimilarityFactory.java | 1 -
.../apache/solr/search/stats/LRUStatsCache.java | 5 -
.../solr/security/AuthorizationContext.java | 1 -
.../security/AutorizationEditOperation.java | 2 -
.../apache/solr/security/KerberosPlugin.java | 1 -
.../security/RuleBasedAuthorizationPlugin.java | 2 -
.../solr/servlet/DirectSolrConnection.java | 6 -
.../org/apache/solr/servlet/HttpSolrCall.java | 5 -
.../solr/servlet/cache/HttpCacheHeaderUtil.java | 2 -
.../spelling/AbstractLuceneSpellChecker.java | 6 -
.../solr/spelling/DirectSolrSpellChecker.java | 6 -
.../solr/store/blockcache/BlockCache.java | 1 -
.../apache/solr/store/blockcache/Metrics.java | 1 -
.../solr/update/DeleteByQueryWrapper.java | 1 -
.../apache/solr/update/DeleteUpdateCommand.java | 2 -
...tractDefaultValueUpdateProcessorFactory.java | 2 -
.../CountFieldValuesUpdateProcessorFactory.java | 10 -
.../DefaultValueUpdateProcessorFactory.java | 4 -
.../DistributingUpdateProcessorFactory.java | 2 -
.../FieldMutatingUpdateProcessorFactory.java | 1 -
.../FieldValueSubsetUpdateProcessorFactory.java | 2 -
.../FirstFieldValueUpdateProcessorFactory.java | 1 -
.../LastFieldValueUpdateProcessorFactory.java | 1 -
.../solr/update/processor/MD5Signature.java | 1 -
.../MaxFieldValueUpdateProcessorFactory.java | 1 -
.../MinFieldValueUpdateProcessorFactory.java | 1 -
.../NoOpDistributingUpdateProcessorFactory.java | 2 -
.../ParseDateFieldUpdateProcessorFactory.java | 2 -
.../update/processor/RegexpBoostProcessor.java | 1 -
.../processor/RunUpdateProcessorFactory.java | 1 -
.../TimestampUpdateProcessorFactory.java | 7 -
.../processor/TolerantUpdateProcessor.java | 6 -
.../TolerantUpdateProcessorFactory.java | 1 -
.../UniqFieldsUpdateProcessorFactory.java | 9 -
.../processor/UpdateRequestProcessorChain.java | 1 -
.../org/apache/solr/util/CommandOperation.java | 3 -
.../org/apache/solr/util/PivotListEntry.java | 2 -
.../org/apache/solr/util/SolrPluginUtils.java | 26 +-
.../solr/util/xslt/TransformerProvider.java | 1 -
.../solr/DistributedIntervalFacetingTest.java | 1 -
.../test/org/apache/solr/SolrInfoMBeanTest.java | 1 -
.../solr/TestSimpleTrackingShardHandler.java | 1 -
.../PathHierarchyTokenizerFactoryTest.java | 3 -
.../apache/solr/cloud/AliasIntegrationTest.java | 2 -
.../solr/cloud/BaseCdcrDistributedZkTest.java | 2 -
.../org/apache/solr/cloud/ClusterStateTest.java | 1 -
...ConcurrentDeleteAndCreateCollectionTest.java | 1 -
.../solr/cloud/ConnectionManagerTest.java | 5 -
.../solr/cloud/DeleteInactiveReplicaTest.java | 1 -
.../DeleteLastCustomShardedReplicaTest.java | 1 -
.../solr/cloud/DistribCursorPagingTest.java | 3 -
.../apache/solr/cloud/DistributedQueueTest.java | 1 -
.../apache/solr/cloud/HttpPartitionTest.java | 1 -
.../apache/solr/cloud/MultiThreadedOCPTest.java | 1 -
...verseerCollectionConfigSetProcessorTest.java | 1 -
.../solr/cloud/OverseerTaskQueueTest.java | 3 -
.../org/apache/solr/cloud/OverseerTest.java | 1 -
.../solr/cloud/RecoveryAfterSoftCommitTest.java | 1 -
.../solr/cloud/ReplicationFactorTest.java | 1 -
.../org/apache/solr/cloud/SSLMigrationTest.java | 1 -
.../cloud/SimpleCollectionCreateDeleteTest.java | 2 -
.../apache/solr/cloud/SolrCloudExampleTest.java | 2 -
.../org/apache/solr/cloud/SyncSliceTest.java | 2 -
.../solr/cloud/TestCloudDeleteByQuery.java | 7 -
.../apache/solr/cloud/TestCloudInspectUtil.java | 2 -
.../apache/solr/cloud/TestCollectionAPI.java | 1 -
.../apache/solr/cloud/TestConfigSetsAPI.java | 1 -
.../cloud/TestConfigSetsAPIExclusivity.java | 1 -
.../solr/cloud/TestConfigSetsAPIZkFailure.java | 1 -
.../org/apache/solr/cloud/TestCryptoKeys.java | 1 -
.../org/apache/solr/cloud/TestLockTree.java | 7 -
.../solr/cloud/TestMiniSolrCloudClusterSSL.java | 1 -
.../apache/solr/cloud/TestSSLRandomization.java | 2 -
.../TestStressCloudBlindAtomicUpdates.java | 6 -
.../solr/cloud/hdfs/HdfsThreadLeakTest.java | 2 -
.../HdfsWriteToMultipleCollectionsTest.java | 19 +
.../solr/core/BlobRepositoryCloudTest.java | 6 -
.../solr/core/BlobRepositoryMockingTest.java | 2 -
.../solr/core/HdfsDirectoryFactoryTest.java | 5 -
.../org/apache/solr/core/MockInfoMBean.java | 1 -
.../apache/solr/core/TestDynamicLoading.java | 1 -
.../apache/solr/core/TestInfoStreamLogging.java | 1 -
.../apache/solr/core/TestJmxMonitoredMap.java | 3 -
.../FieldAnalysisRequestHandlerTest.java | 4 -
.../org/apache/solr/handler/JsonLoaderTest.java | 4 -
.../handler/StandardRequestHandlerTest.java | 8 -
.../apache/solr/handler/TestBlobHandler.java | 1 -
.../org/apache/solr/handler/TestCSVLoader.java | 1 -
.../apache/solr/handler/TestConfigReload.java | 1 -
.../apache/solr/handler/TestReqParamsAPI.java | 1 -
.../handler/TestSolrConfigHandlerCloud.java | 1 -
.../TestSolrConfigHandlerConcurrent.java | 2 -
.../handler/ThrowErrorOnInitRequestHandler.java | 1 -
.../admin/CoreMergeIndexesAdminHandlerTest.java | 3 -
.../component/DistributedMLTComponentTest.java | 1 -
.../handler/component/TestExpandComponent.java | 1 -
.../handler/component/TestPivotHelperCode.java | 3 -
.../highlight/HighlighterMaxOffsetTest.java | 1 -
.../solr/internal/csv/CSVPrinterTest.java | 3 -
.../solr/internal/csv/CSVStrategyTest.java | 2 -
.../csv/ExtendedBufferedReaderTest.java | 2 -
.../org/apache/solr/request/JSONWriterTest.java | 4 -
.../solr/request/TestBinaryResponseWriter.java | 1 -
.../org/apache/solr/request/TestFaceting.java | 1 -
.../solr/request/TestIntervalFaceting.java | 1 -
.../TestPHPSerializedResponseWriter.java | 1 -
.../solr/response/TestRawResponseWriter.java | 4 -
.../schema/CurrencyFieldOpenExchangeTest.java | 10 -
.../solr/schema/CurrencyFieldXmlFileTest.java | 9 -
.../org/apache/solr/schema/EnumFieldTest.java | 1 -
.../org/apache/solr/schema/PolyFieldTest.java | 1 -
.../solr/schema/TestBulkSchemaConcurrent.java | 1 -
.../TestCloudManagedSchemaConcurrent.java | 1 -
.../apache/solr/schema/TestCloudSchemaless.java | 2 -
.../apache/solr/schema/TestCollationField.java | 1 -
.../apache/solr/search/AnalyticsQueryTest.java | 1 -
.../solr/search/DelayingSearchComponent.java | 1 -
.../apache/solr/search/FooQParserPlugin.java | 1 -
.../apache/solr/search/QueryParsingTest.java | 8 -
.../org/apache/solr/search/RankQueryTest.java | 1 -
.../apache/solr/search/SortSpecParsingTest.java | 1 -
.../solr/search/TestCollapseQParserPlugin.java | 1 -
.../search/TestGraphTermsQParserPlugin.java | 12 -
.../solr/search/TestHashQParserPlugin.java | 5 -
.../org/apache/solr/search/TestLRUCache.java | 5 -
.../apache/solr/search/TestMissingGroups.java | 2 -
.../org/apache/solr/search/TestQueryUtils.java | 2 -
.../search/TestRandomCollapseQParserPlugin.java | 3 -
.../solr/search/TestReRankQParserPlugin.java | 1 -
.../org/apache/solr/search/TestRealTimeGet.java | 1 -
.../apache/solr/search/TestRecoveryHdfs.java | 1 -
.../test/org/apache/solr/search/TestReload.java | 2 -
.../org/apache/solr/search/TestSearchPerf.java | 1 -
.../solr/search/TestSimpleQParserPlugin.java | 3 -
.../apache/solr/search/TestSolrQueryParser.java | 1 -
.../test/org/apache/solr/search/TestSort.java | 1 -
.../solr/search/facet/TestJsonFacets.java | 3 -
.../solr/search/function/TestFunctionQuery.java | 1 -
.../function/TestMinMaxOnMultiValuedField.java | 4 -
.../function/TestSortByMinMaxFunction.java | 2 -
.../apache/solr/search/join/BJQParserTest.java | 1 -
.../solr/search/mlt/SimpleMLTQParserTest.java | 4 -
.../TestClassicSimilarityFactory.java | 1 -
.../TestNonDefinedSimilarityFactory.java | 1 -
...stPerFieldSimilarityWithDefaultOverride.java | 2 -
.../TestSweetSpotSimilarityFactory.java | 1 -
.../solr/search/stats/TestDistribIDF.java | 1 -
.../security/TestPKIAuthenticationPlugin.java | 6 -
.../apache/solr/servlet/ResponseHeaderTest.java | 4 -
.../spelling/FileBasedSpellCheckerTest.java | 1 -
.../solr/spelling/SimpleQueryConverter.java | 2 -
.../spelling/TestSuggestSpellingConverter.java | 1 -
.../suggest/TestFreeTextSuggestions.java | 1 -
.../apache/solr/uninverting/TestFieldCache.java | 10 -
.../apache/solr/update/AddBlockUpdateTest.java | 2 -
.../update/DirectUpdateHandlerOptimizeTest.java | 1 -
.../solr/update/TestExceedMaxTermLength.java | 1 -
.../org/apache/solr/update/VersionInfoTest.java | 2 -
.../processor/CustomUpdateRequestProcessor.java | 4 -
.../DefaultValueUpdateProcessorTest.java | 5 -
...DocExpirationUpdateProcessorFactoryTest.java | 1 -
...ommitOptimizeUpdateProcessorFactoryTest.java | 5 -
.../RecordingUpdateProcessorFactory.java | 3 -
...atelessScriptUpdateProcessorFactoryTest.java | 5 -
.../processor/TestNamedUpdateProcessors.java | 1 -
.../TestPartialUpdateDeduplication.java | 3 -
.../processor/TolerantUpdateProcessorTest.java | 2 -
.../UniqFieldsUpdateProcessorFactoryTest.java | 1 -
.../processor/UpdateProcessorTestBase.java | 1 -
.../apache/solr/util/SolrPluginUtilsTest.java | 28 ++
.../org/apache/solr/util/TestFastWriter.java | 3 -
.../solrj/impl/InputStreamResponseParser.java | 4 -
.../solrj/impl/Krb5HttpClientBuilder.java | 7 -
.../solr/client/solrj/io/comp/HashKey.java | 2 -
.../solrj/io/comp/MultipleFieldComparator.java | 1 -
.../client/solrj/io/stream/BiJoinStream.java | 8 -
.../solrj/io/stream/LeftOuterJoinStream.java | 4 -
.../client/solrj/io/stream/StreamContext.java | 2 -
.../solrj/io/stream/expr/StreamExplanation.java | 2 -
.../solr/client/solrj/response/FacetField.java | 1 -
.../solr/client/solrj/response/PivotField.java | 2 -
.../solr/common/cloud/ClusterStateUtil.java | 2 -
.../apache/solr/common/cloud/SolrZkClient.java | 1 -
.../solr/common/cloud/ZkConfigManager.java | 1 -
.../apache/solr/client/solrj/GetByIdTest.java | 2 -
.../solrj/MergeIndexesExampleTestBase.java | 1 -
.../client/solrj/SolrSchemalessExampleTest.java | 1 -
.../solrj/beans/TestDocumentObjectBinder.java | 2 -
.../embedded/LargeVolumeBinaryJettyTest.java | 1 -
.../solrj/embedded/LargeVolumeEmbeddedTest.java | 1 -
.../solrj/embedded/LargeVolumeJettyTest.java | 1 -
.../solrj/embedded/SolrExampleEmbeddedTest.java | 1 -
.../solr/client/solrj/io/graph/GraphTest.java | 2 -
.../client/solrj/io/sql/JdbcDriverTest.java | 1 -
.../solrj/io/stream/RecordCountStream.java | 1 -
.../StreamExpressionToExplanationTest.java | 1 -
.../io/stream/ops/ConcatOperationTest.java | 1 -
.../solrj/request/TestUpdateRequestCodec.java | 2 -
.../solr/common/cloud/TestZkConfigManager.java | 1 -
.../solr/common/util/TestJsonRecordReader.java | 1 -
.../solr/analysis/MockTokenizerFactory.java | 1 -
.../java/org/apache/solr/cloud/ChaosMonkey.java | 1 -
.../org/apache/solr/cloud/MockSolrZkClient.java | 1 -
.../org/apache/solr/util/BaseTestHarness.java | 1 -
.../org/apache/solr/util/ExternalPaths.java | 4 -
.../org/apache/solr/util/RandomMergePolicy.java | 8 -
.../org/apache/solr/util/SSLTestConfig.java | 4 -
670 files changed, 1394 insertions(+), 1902 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccf2070e/solr/CHANGES.txt
----------------------------------------------------------------------
diff --cc solr/CHANGES.txt
index bd7f19c,e2a7112..5601791
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@@ -57,11 -62,8 +62,10 @@@ Detailed Change Lis
New Features
----------------------
-* SOLR-9187: Support dates and booleans in /export handler, support boolean DocValues fields
+* SOLR-9187: Support dates and booleans in /export handler, support boolean DocValues fields (Erick Erickson)
+
+* SOLR-8048: bin/solr script should support basic auth credentials provided in solr.in.sh (noble)
-
Bug Fixes
----------------------
[50/50] [abbrv] lucene-solr:apiv2: SOLR-8029: merging with trunk
Posted by no...@apache.org.
SOLR-8029: merging with trunk
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/b333e6bd
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/b333e6bd
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/b333e6bd
Branch: refs/heads/apiv2
Commit: b333e6bd0a3b86f85d68d47b65b12ef99ab03a86
Parents: b48f4d6
Author: Noble Paul <no...@apache.org>
Authored: Thu Jun 16 17:37:02 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Thu Jun 16 17:37:02 2016 +0530
----------------------------------------------------------------------
.../org/apache/solr/handler/SchemaHandler.java | 12 +++++-------
.../solr/handler/admin/CoreAdminHandler.java | 2 +-
.../org/apache/solr/servlet/HttpSolrCall.java | 4 +++-
.../test/org/apache/solr/core/SolrCoreTest.java | 1 +
.../solr/handler/admin/TestCollectionAPIs.java | 2 +-
.../java/org/apache/solr/common/util/Map2.java | 20 ++++++++++----------
6 files changed, 21 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b333e6bd/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java b/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
index 529c695..f3b7257 100644
--- a/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
@@ -21,20 +21,20 @@ import java.lang.invoke.MethodHandles;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
+import org.apache.solr.api.Api;
+import org.apache.solr.api.ApiBag;
import org.apache.solr.cloud.ZkSolrResourceLoader;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.util.ContentStream;
+import org.apache.solr.common.params.MapSolrParams;
+import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.common.util.StrUtils;
+import org.apache.solr.common.util.Utils;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestHandler;
@@ -43,8 +43,6 @@ import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.ManagedIndexSchema;
import org.apache.solr.schema.SchemaManager;
import org.apache.solr.schema.ZkIndexSchemaReader;
-import org.apache.solr.api.Api;
-import org.apache.solr.api.ApiBag;
import org.apache.solr.security.AuthorizationContext;
import org.apache.solr.security.PermissionNameProvider;
import org.apache.solr.util.plugin.SolrCoreAware;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b333e6bd/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
index b06bba1..231f6a4 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
@@ -63,7 +63,7 @@ import static org.apache.solr.security.PermissionNameProvider.Name.CORE_READ_PER
*
* @since solr 1.3
*/
-public class CoreAdminHandler extends RequestHandlerBase {
+public class CoreAdminHandler extends RequestHandlerBase implements PermissionNameProvider {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
protected final CoreContainer coreContainer;
protected final Map<String, Map<String, TaskObject>> requestStatusMap;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b333e6bd/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
index 6812228..d83b238 100644
--- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
+++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
@@ -44,6 +44,8 @@ import java.util.Set;
import com.google.common.collect.ImmutableSet;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.io.input.CloseShieldInputStream;
+import org.apache.commons.io.output.CloseShieldOutputStream;
import org.apache.commons.lang.StringUtils;
import org.apache.http.Header;
import org.apache.http.HeaderIterator;
@@ -791,7 +793,7 @@ public class HttpSolrCall {
return result;
}
- private SolrCore getCoreByCollection(String collectionName) {
+ protected SolrCore getCoreByCollection(String collectionName) {
ZkStateReader zkStateReader = cores.getZkController().getZkStateReader();
ClusterState clusterState = zkStateReader.getClusterState();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b333e6bd/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java b/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
index 049d5e7..17fc55e 100644
--- a/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
+++ b/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
@@ -108,6 +108,7 @@ public class SolrCoreTest extends SolrTestCaseJ4 {
++ihCount; assertEquals(pathToClassMap.get("/update/csv"), "solr.UpdateRequestHandler");
++ihCount; assertEquals(pathToClassMap.get("/update/json"), "solr.UpdateRequestHandler");
++ihCount; assertEquals(pathToClassMap.get("/update/json/docs"), "solr.UpdateRequestHandler");
+ ++ihCount; assertEquals(pathToClassMap.get("update"), "solr.UpdateRequestHandlerApi");
}
assertEquals("wrong number of implicit handlers", ihCount, implicitHandlers.size());
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b333e6bd/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java b/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java
index edc87e0..6cfbf92 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java
@@ -132,7 +132,7 @@ public class TestCollectionAPIs extends SolrTestCaseJ4 {
ZkNodeProps compareOutput(final ApiBag apiBag, final String path, final SolrRequest.METHOD method,
final String payload, final CoreContainer cc, String expectedOutputMapJson) throws Exception {
Pair<SolrQueryRequest, SolrQueryResponse> ctx = makeCall(apiBag, path, method, payload, cc);
- ZkNodeProps output = (ZkNodeProps) ctx.getKey().getContext().get(ZkNodeProps.class.getName());
+ ZkNodeProps output = (ZkNodeProps) ctx.first().getContext().get(ZkNodeProps.class.getName());
Map expected = (Map) fromJSONString(expectedOutputMapJson);
assertMapEqual(expected, output);
return output;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b333e6bd/solr/solrj/src/java/org/apache/solr/common/util/Map2.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/Map2.java b/solr/solrj/src/java/org/apache/solr/common/util/Map2.java
index b5306a1..69a85be 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/Map2.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/Map2.java
@@ -46,25 +46,25 @@ public class Map2<K, V> implements Map<K, V> {
return null;
};
public static final Predicate<Pair> NOT_NULL_OF_TYPE = pair -> {
- if (pair.getKey() == null) return " Must not be NULL";
- if (pair.getValue() instanceof Class) {
- return ((Class) pair.getValue()).isAssignableFrom(pair.getKey().getClass()) ?
+ if (pair.first() == null) return " Must not be NULL";
+ if (pair.second() instanceof Class) {
+ return ((Class) pair.first()).isAssignableFrom(pair.first().getClass()) ?
null :
- " Must be of type " + ((Class) pair.getValue()).getName();
+ " Must be of type " + ((Class) pair.second()).getName();
}
return " Unknown Type";
};
public static final Predicate<Pair> ENUM_OF = pair -> {
- if (pair.getValue() instanceof Set) {
- Set set = (Set) pair.getValue();
- if (pair.getKey() instanceof Collection) {
- for (Object o : (Collection) pair.getKey()) {
+ if (pair.second() instanceof Set) {
+ Set set = (Set) pair.second();
+ if (pair.first() instanceof Collection) {
+ for (Object o : (Collection) pair.first()) {
if (!set.contains(o)) {
- return " Must be one of " + pair.getValue();
+ return " Must be one of " + pair.second();
}
}
} else {
- if (!set.contains(pair.getKey())) return " Must be one of " + pair.getValue() + ", got " + pair.getKey();
+ if (!set.contains(pair.first())) return " Must be one of " + pair.second() + ", got " + pair.first();
}
return null;
} else {
[06/50] [abbrv] lucene-solr:apiv2: LUCENE-7327: fix rare test bug
Posted by no...@apache.org.
LUCENE-7327: fix rare test bug
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a923d945
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a923d945
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a923d945
Branch: refs/heads/apiv2
Commit: a923d945b4f6b0874a2ab0a1e5ef538725aa3373
Parents: e418bd0
Author: Mike McCandless <mi...@apache.org>
Authored: Fri Jun 10 10:17:34 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Fri Jun 10 10:18:01 2016 -0400
----------------------------------------------------------------------
.../src/java/org/apache/lucene/spatial3d/Geo3DUtil.java | 4 ++--
.../src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java | 8 +++++++-
2 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a923d945/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DUtil.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DUtil.java b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DUtil.java
index b5ce250..6d73210 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DUtil.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/Geo3DUtil.java
@@ -45,8 +45,8 @@ class Geo3DUtil {
private static final int BITS = 32;
private static final double MUL = (0x1L<<BITS)/(2*MAX_VALUE);
static final double DECODE = getNextSafeDouble(1/MUL);
- private static final int MIN_ENCODED_VALUE = encodeValue(-MAX_VALUE);
- private static final int MAX_ENCODED_VALUE = encodeValue(MAX_VALUE);
+ static final int MIN_ENCODED_VALUE = encodeValue(-MAX_VALUE);
+ static final int MAX_ENCODED_VALUE = encodeValue(MAX_VALUE);
public static int encodeValue(double x) {
if (x > MAX_VALUE) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a923d945/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java b/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java
index 85ec548..fed5ada 100644
--- a/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/spatial3d/TestGeo3DPoint.java
@@ -1207,13 +1207,19 @@ public class TestGeo3DPoint extends LuceneTestCase {
/**
* step through some integers, ensuring they decode to their expected double values.
- * double values start at -90 and increase by LATITUDE_DECODE for each integer.
+ * double values start at -planetMax and increase by Geo3DUtil.DECODE for each integer.
* check edge cases within the double range and random doubles within the range too.
*/
public void testQuantization() throws Exception {
Random random = random();
for (int i = 0; i < 10000; i++) {
int encoded = random.nextInt();
+ if (encoded < Geo3DUtil.MIN_ENCODED_VALUE) {
+ continue;
+ }
+ if (encoded > Geo3DUtil.MAX_ENCODED_VALUE) {
+ continue;
+ }
double min = encoded * Geo3DUtil.DECODE;
double decoded = Geo3DUtil.decodeValueFloor(encoded);
// should exactly equal expected value
[39/50] [abbrv] lucene-solr:apiv2: Address Solr Changes.html
problems: 1) In solr/CHANGES.txt, add a 'Versions of Major Components'
section to the 6.2.0 and 6.1.0 releases;
2) In addVersion.py: when adding a new version to solr/CHANGES.txt, add a line
re
Posted by no...@apache.org.
Address Solr Changes.html problems: 1) In solr/CHANGES.txt, add a 'Versions of Major Components' section to the 6.2.0 and 6.1.0 releases; 2) In addVersion.py: when adding a new version to solr/CHANGES.txt, add a line referring to LUCENE_CHANGES.txt, and add a 'Versions of Major Components' section with versions interpolated from ivy-versions.properties; and 3) In changes2html.pl: allow section names to have up to 6 words (to handle 'Upgrading from Solr any prior release')
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/843adfb7
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/843adfb7
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/843adfb7
Branch: refs/heads/apiv2
Commit: 843adfb7ba136f092eddb2b2da95b38e17804533
Parents: a2a1bd2
Author: Steve Rowe <sa...@apache.org>
Authored: Mon Jun 13 20:13:14 2016 -0400
Committer: Steve Rowe <sa...@apache.org>
Committed: Mon Jun 13 20:13:14 2016 -0400
----------------------------------------------------------------------
dev-tools/scripts/addVersion.py | 34 ++++++++++++++++++++++++++++----
lucene/site/changes/changes2html.pl | 4 ++--
solr/CHANGES.txt | 23 +++++++++++++++++----
3 files changed, 51 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/843adfb7/dev-tools/scripts/addVersion.py
----------------------------------------------------------------------
diff --git a/dev-tools/scripts/addVersion.py b/dev-tools/scripts/addVersion.py
index 630e86f..cc41116 100644
--- a/dev-tools/scripts/addVersion.py
+++ b/dev-tools/scripts/addVersion.py
@@ -20,8 +20,10 @@ from scriptutil import *
import argparse
import re
+from configparser import ConfigParser, ExtendedInterpolation
+from textwrap import dedent
-def update_changes(filename, new_version):
+def update_changes(filename, new_version, init_changes = '(No Changes)\n\n'):
print(' adding new section to %s...' % filename, end='', flush=True)
matcher = re.compile(r'\d+\.\d+\.\d+\s+===')
def edit(buffer, match, line):
@@ -30,7 +32,7 @@ def update_changes(filename, new_version):
match = new_version.previous_dot_matcher.search(line)
if match is not None:
buffer.append(line.replace(match.group(0), new_version.dot))
- buffer.append('(No Changes)\n\n')
+ buffer.append(init_changes)
buffer.append(line)
return match is not None
@@ -184,14 +186,38 @@ def read_config():
print ("branch_type is %s " % c.branch_type)
return c
+
+# Hack ConfigParser, designed to parse INI files, to parse & interpolate Java .properties files
+def parse_properties_file(filename):
+ contents = open(filename, encoding='ISO-8859-1').read().replace('%', '%%') # Escape interpolation metachar
+ parser = ConfigParser(interpolation=ExtendedInterpolation()) # Handle ${property-name} interpolation
+ parser.read_string("[DUMMY_SECTION]\n" + contents) # Add required section
+ return dict(parser.items('DUMMY_SECTION'))
+
+def get_solr_init_changes():
+ return dedent('''
+ Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
+
+ Versions of Major Components
+ ---------------------
+ Apache Tika %(org.apache.tika.version)s
+ Carrot2 %(/org.carrot2/carrot2-mini)s
+ Velocity %(/org.apache.velocity/velocity)s and Velocity Tools %(/org.apache.velocity/velocity-tools)s
+ Apache UIMA %(org.apache.uima.version)s
+ Apache ZooKeeper %(/org.apache.zookeeper/zookeeper)s
+ Jetty %(org.eclipse.jetty.version)s
+
+
+ (No Changes)\n\n
+ ''' % parse_properties_file('lucene/ivy-versions.properties'))
def main():
c = read_config()
print('\nAdding new version %s' % c.version)
update_changes('lucene/CHANGES.txt', c.version)
- update_changes('solr/CHANGES.txt', c.version)
- add_constant(c.version, not c.matching_branch)
+ update_changes('solr/CHANGES.txt', c.version, get_solr_init_changes())
+ add_constant(c.version, not c.matching_branch)
if c.matching_branch:
print('\nUpdating latest version')
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/843adfb7/lucene/site/changes/changes2html.pl
----------------------------------------------------------------------
diff --git a/lucene/site/changes/changes2html.pl b/lucene/site/changes/changes2html.pl
index 5399930..d71f296 100755
--- a/lucene/site/changes/changes2html.pl
+++ b/lucene/site/changes/changes2html.pl
@@ -117,10 +117,10 @@ for (my $line_num = 0 ; $line_num <= $#lines ; ++$line_num) {
}
# Section heading: no leading whitespace, initial word capitalized,
- # five words or less, and no trailing punctuation,
+ # six words or less, and no trailing punctuation,
# except colons - don't match the one otherwise matching
# non-section-name by excluding "StandardTokenizer"
- if ( /^(?!.*StandardTokenizer)([A-Z]\S*(?:\s+\S+){0,4})(?<![-.;!()])\s*$/
+ if ( /^(?!.*StandardTokenizer)([A-Z]\S*(?:\s+\S+){0,5})(?<![-.;!()])\s*$/
and not $in_major_component_versions_section) {
my $heading = $1;
$heading =~ s/:$//; # Strip trailing colon, if any
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/843adfb7/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 82b8760..e2a7112 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -47,9 +47,14 @@ Optimizations
================== 6.2.0 ==================
-
-Upgrading from Solr any prior release
-----------------------
+Versions of Major Components
+---------------------
+Apache Tika 1.7
+Carrot2 3.12.0
+Velocity 1.7 and Velocity Tools 2.0
+Apache UIMA 2.3.1
+Apache ZooKeeper 3.4.6
+Jetty 9.3.8.v20160314
Detailed Change List
----------------------
@@ -59,7 +64,6 @@ New Features
* SOLR-9187: Support dates and booleans in /export handler, support boolean DocValues fields
-
Bug Fixes
----------------------
@@ -72,6 +76,17 @@ Bug Fixes
================== 6.1.0 ==================
+Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
+
+Versions of Major Components
+---------------------
+Apache Tika 1.7
+Carrot2 3.12.0
+Velocity 1.7 and Velocity Tools 2.0
+Apache UIMA 2.3.1
+Apache ZooKeeper 3.4.6
+Jetty 9.3.8.v20160314
+
Upgrading from Solr any prior release
----------------------
[07/50] [abbrv] lucene-solr:apiv2: SOLR-9176: Fix facet method
fallback selection
Posted by no...@apache.org.
SOLR-9176: Fix facet method fallback selection
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/0eacfe87
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/0eacfe87
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/0eacfe87
Branch: refs/heads/apiv2
Commit: 0eacfe87c28bb8725ee70626eab762fe596ff79e
Parents: a923d94
Author: Alan Woodward <ro...@apache.org>
Authored: Fri Jun 10 15:23:27 2016 +0100
Committer: Alan Woodward <ro...@apache.org>
Committed: Fri Jun 10 15:40:25 2016 +0100
----------------------------------------------------------------------
solr/CHANGES.txt | 3 +
.../org/apache/solr/request/SimpleFacets.java | 112 ++++++----
.../apache/solr/request/TestFacetMethods.java | 207 +++++++++++++++++++
.../org/apache/solr/request/TestFaceting.java | 48 ++++-
4 files changed, 319 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/0eacfe87/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 73a60f2..b9b88d3 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -207,6 +207,9 @@ Bug Fixes
and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649.
(Greg Pendlebury, Jan H�ydahl, Erick Erickson, Steve Rowe)
+* SOLR-9176: facet method ENUM was sometimes unnecessarily being rewritten to
+ FCS, causing slowdowns (Alessandro Benedetti, Jesse McLaughlin, Alan Woodward)
+
Optimizations
----------------------
* SOLR-8722: Don't force a full ZkStateReader refresh on every Overseer operation.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/0eacfe87/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
index 0668ee6..c804b74 100644
--- a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
+++ b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
@@ -413,54 +413,27 @@ public class SimpleFacets {
// determine what type of faceting method to use
final String methodStr = params.getFieldParam(field, FacetParams.FACET_METHOD);
- FacetMethod method = null;
+ final FacetMethod requestedMethod;
if (FacetParams.FACET_METHOD_enum.equals(methodStr)) {
- method = FacetMethod.ENUM;
+ requestedMethod = FacetMethod.ENUM;
} else if (FacetParams.FACET_METHOD_fcs.equals(methodStr)) {
- method = FacetMethod.FCS;
+ requestedMethod = FacetMethod.FCS;
} else if (FacetParams.FACET_METHOD_fc.equals(methodStr)) {
- method = FacetMethod.FC;
+ requestedMethod = FacetMethod.FC;
} else if(FacetParams.FACET_METHOD_uif.equals(methodStr)) {
- method = FacetMethod.UIF;
- }
-
- if (method == FacetMethod.ENUM && TrieField.getMainValuePrefix(ft) != null) {
- // enum can't deal with trie fields that index several terms per value
- method = sf.multiValued() ? FacetMethod.FC : FacetMethod.FCS;
- }
-
- if (method == null && ft instanceof BoolField) {
- // Always use filters for booleans... we know the number of values is very small.
- method = FacetMethod.ENUM;
+ requestedMethod = FacetMethod.UIF;
+ }else{
+ requestedMethod=null;
}
final boolean multiToken = sf.multiValued() || ft.multiValuedFieldCache();
-
- if (ft.getNumericType() != null && !sf.multiValued()) {
- // the per-segment approach is optimal for numeric field types since there
- // are no global ords to merge and no need to create an expensive
- // top-level reader
- method = FacetMethod.FCS;
- }
-
- if (method == null) {
- // TODO: default to per-segment or not?
- method = FacetMethod.FC;
- }
- if (method == FacetMethod.FCS && multiToken) {
- // only fc knows how to deal with multi-token fields
- method = FacetMethod.FC;
- }
-
- if (method == FacetMethod.ENUM && sf.hasDocValues()) {
- // only fc can handle docvalues types
- method = FacetMethod.FC;
- }
+ FacetMethod appliedFacetMethod = selectFacetMethod(sf, requestedMethod, mincount);
RTimer timer = null;
if (fdebug != null) {
- fdebug.putInfoItem("method", method.name());
+ fdebug.putInfoItem("requestedMethod", requestedMethod==null?"not specified":requestedMethod.name());
+ fdebug.putInfoItem("appliedMethod", appliedFacetMethod.name());
fdebug.putInfoItem("inputDocSetSize", docs.size());
fdebug.putInfoItem("field", field);
timer = new RTimer();
@@ -469,8 +442,8 @@ public class SimpleFacets {
if (params.getFieldBool(field, GroupParams.GROUP_FACET, false)) {
counts = getGroupedCounts(searcher, docs, field, multiToken, offset,limit, mincount, missing, sort, prefix, contains, ignoreCase);
} else {
- assert method != null;
- switch (method) {
+ assert appliedFacetMethod != null;
+ switch (appliedFacetMethod) {
case ENUM:
assert TrieField.getMainValuePrefix(ft) == null;
counts = getFacetTermEnumCounts(searcher, docs, field, offset, limit, mincount,missing,sort,prefix, contains, ignoreCase, params);
@@ -494,7 +467,6 @@ public class SimpleFacets {
}
break;
case UIF:
-
//Emulate the JSON Faceting structure so we can use the same parsing classes
Map<String, Object> jsonFacet = new HashMap<>(13);
jsonFacet.put("type", "terms");
@@ -566,6 +538,66 @@ public class SimpleFacets {
return counts;
}
+ /**
+ * This method will force the appropriate facet method even if the user provided a different one as a request parameter
+ *
+ * N.B. this method could overwrite what you passed as request parameter. Be Extra careful
+ *
+ * @param field field we are faceting
+ * @param method the facet method passed as a request parameter
+ * @param mincount the minimum value a facet should have to be returned
+ * @return the FacetMethod to use
+ */
+ static FacetMethod selectFacetMethod(SchemaField field, FacetMethod method, Integer mincount) {
+
+ FieldType type = field.getType();
+
+ /*The user did not specify any preference*/
+ if (method == null) {
+ /* Always use filters for booleans... we know the number of values is very small. */
+ if (type instanceof BoolField) {
+ method = FacetMethod.ENUM;
+ } else if (type.getNumericType() != null && !field.multiValued()) {
+ /* the per-segment approach is optimal for numeric field types since there
+ are no global ords to merge and no need to create an expensive
+ top-level reader */
+ method = FacetMethod.FCS;
+ } else {
+ // TODO: default to per-segment or not?
+ method = FacetMethod.FC;
+ }
+ }
+
+ /* FC without docValues does not support single valued numeric facets */
+ if (method == FacetMethod.FC
+ && type.getNumericType() != null && !field.multiValued()) {
+ method = FacetMethod.FCS;
+ }
+
+ /* UIF without DocValues can't deal with mincount=0, the reason is because
+ we create the buckets based on the values present in the result set.
+ So we are not going to see facet values which are not in the result set */
+ if (method == FacetMethod.UIF
+ && !field.hasDocValues() && mincount == 0) {
+ method = field.multiValued() ? FacetMethod.FC : FacetMethod.FCS;
+ }
+
+ /* ENUM can't deal with trie fields that index several terms per value */
+ if (method == FacetMethod.ENUM
+ && TrieField.getMainValuePrefix(type) != null) {
+ method = field.multiValued() ? FacetMethod.FC : FacetMethod.FCS;
+ }
+
+ /* FCS can't deal with multi token fields */
+ final boolean multiToken = field.multiValued() || type.multiValuedFieldCache();
+ if (method == FacetMethod.FCS
+ && multiToken) {
+ method = FacetMethod.FC;
+ }
+
+ return method;
+ }
+
public NamedList<Integer> getGroupedCounts(SolrIndexSearcher searcher,
DocSet base,
String field,
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/0eacfe87/solr/core/src/test/org/apache/solr/request/TestFacetMethods.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/request/TestFacetMethods.java b/solr/core/src/test/org/apache/solr/request/TestFacetMethods.java
new file mode 100644
index 0000000..29c0ef2
--- /dev/null
+++ b/solr/core/src/test/org/apache/solr/request/TestFacetMethods.java
@@ -0,0 +1,207 @@
+package org.apache.solr.request;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.solr.schema.BoolField;
+import org.apache.solr.schema.SchemaField;
+import org.apache.solr.schema.StrField;
+import org.apache.solr.schema.TrieIntField;
+import org.junit.Test;
+
+import static junit.framework.Assert.assertEquals;
+
+public class TestFacetMethods {
+
+ // TODO - make these public in FieldProperties?
+ protected final static int MULTIVALUED = 0x00000200;
+ protected final static int DOC_VALUES = 0x00008000;
+
+ @Test
+ public void testNumericSingleValuedDV() {
+
+ SchemaField field = new SchemaField("field", new TrieIntField(), DOC_VALUES, null);
+
+ // default is FCS, can't use ENUM due to trie-field terms, FC rewrites to FCS for efficiency
+
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, null, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 0));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, null, 1));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 1));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 1));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 1));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 1));
+
+ }
+
+ @Test
+ public void testNumericMultiValuedDV() {
+
+ SchemaField field = new SchemaField("field", new TrieIntField(), DOC_VALUES ^ MULTIVALUED, null);
+
+ // default is FC, can't use ENUM due to trie-field terms, can't use FCS because of multivalues
+
+ // default value is FC
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 0));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 1));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 1));
+
+ }
+
+ @Test
+ public void testNumericSingleValuedNoDV() {
+
+ SchemaField field = new SchemaField("field", new TrieIntField(), 0, null);
+
+ // only works with FCS for mincount = 0, UIF for count > 0 is fine
+
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, null, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, null, 1));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 1));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 1));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 1));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 1));
+
+ }
+
+ @Test
+ public void testNumericMultiValuedNoDV() {
+
+ SchemaField field = new SchemaField("field", new TrieIntField(), MULTIVALUED, null);
+
+ // only works with FC for mincount = 0, UIF for count > 1 is fine
+
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 1));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 1));
+
+ }
+
+ @Test
+ public void testTextSingleValuedDV() {
+
+ SchemaField field = new SchemaField("field", new StrField(), DOC_VALUES, null);
+
+ // default is FC, otherwise just uses the passed-in method
+
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 0));
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 0));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 1));
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 1));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 1));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 1));
+
+ }
+
+ @Test
+ public void testTextMultiValuedDV() {
+
+ SchemaField field = new SchemaField("field", new StrField(), DOC_VALUES ^ MULTIVALUED, null);
+
+ // default is FC, can't use FCS because of multivalues
+
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 0));
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 0));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 1));
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 1));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 1));
+
+ }
+
+ @Test
+ public void testTextSingleValuedNoDV() {
+
+ SchemaField field = new SchemaField("field", new StrField(), 0, null);
+
+ // default is FC, UIF rewrites to FCS for mincount = 0
+ // TODO should it rewrite to FC instead?
+
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 0));
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 0));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 1));
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 1));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 1));
+ assertEquals(SimpleFacets.FacetMethod.FCS, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 1));
+
+ }
+
+ @Test
+ public void testTextMultiValuedNoDV() {
+
+ SchemaField field = new SchemaField("field", new StrField(), MULTIVALUED, null);
+
+ // default is FC, can't use FCS for multivalued fields, UIF rewrites to FC for mincount = 0
+
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 0));
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 0));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, null, 1));
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.ENUM, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FCS, 1));
+ assertEquals(SimpleFacets.FacetMethod.UIF, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.UIF, 1));
+ assertEquals(SimpleFacets.FacetMethod.FC, SimpleFacets.selectFacetMethod(field, SimpleFacets.FacetMethod.FC, 1));
+
+ }
+
+ @Test
+ public void testBooleanDefaults() {
+
+ // BoolField defaults to ENUM
+
+ SchemaField field = new SchemaField("field", new BoolField(), 0, null);
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, null, 0));
+ assertEquals(SimpleFacets.FacetMethod.ENUM, SimpleFacets.selectFacetMethod(field, null, 1));
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/0eacfe87/solr/core/src/test/org/apache/solr/request/TestFaceting.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/request/TestFaceting.java b/solr/core/src/test/org/apache/solr/request/TestFaceting.java
index 4dd49e1..cee9f52 100644
--- a/solr/core/src/test/org/apache/solr/request/TestFaceting.java
+++ b/solr/core/src/test/org/apache/solr/request/TestFaceting.java
@@ -255,17 +255,17 @@ public class TestFaceting extends SolrTestCaseJ4 {
int i=iter-1;
assertQ("check many tokens",
- req("q", "id:"+t(i),"indent","true"
- ,"facet", "true", "facet.method",((methodSeed + i)%2 ==0 ?"fc":"uif")
- ,"facet.field", "many_ws"
- ,"facet.limit", "-1"
- ,"facet.mincount", "1"
+ req("q", "id:" + t(i), "indent", "true"
+ , "facet", "true", "facet.method", ((methodSeed + i) % 2 == 0 ? "fc" : "uif")
+ , "facet.field", "many_ws"
+ , "facet.limit", "-1"
+ , "facet.mincount", "1"
- )
- ,"*[count(//lst[@name='many_ws']/int)=" + 2 + "]"
- ,"//lst[@name='many_ws']/int[@name='" + t(i1+i) + "'][.='1']"
- ,"//lst[@name='many_ws']/int[@name='" + t(i1*2+i) + "'][.='1']"
- );
+ )
+ , "*[count(//lst[@name='many_ws']/int)=" + 2 + "]"
+ , "//lst[@name='many_ws']/int[@name='" + t(i1 + i) + "'][.='1']"
+ , "//lst[@name='many_ws']/int[@name='" + t(i1 * 2 + i) + "'][.='1']"
+ );
}
@Test
@@ -314,8 +314,34 @@ public class TestFaceting extends SolrTestCaseJ4 {
"//lst[@name='facet_fields']/lst[@name='f_td']/int[1][@name='-420.126']",
"//lst[@name='facet_fields']/lst[@name='f_td']/int[2][@name='-285.672']",
"//lst[@name='facet_fields']/lst[@name='f_td']/int[3][@name='-1.218']");
+
+ assertQ(req("q", "*:*", FacetParams.FACET, "true", FacetParams.FACET_FIELD, "f_td", "f.f_td.facet.sort", FacetParams.FACET_SORT_INDEX, FacetParams.FACET_MINCOUNT, "1", FacetParams.FACET_METHOD, FacetParams.FACET_METHOD_uif),
+ "*[count(//lst[@name='f_td']/int)=3]",
+ "//lst[@name='facet_fields']/lst[@name='f_td']/int[1][@name='-420.126']",
+ "//lst[@name='facet_fields']/lst[@name='f_td']/int[2][@name='-285.672']",
+ "//lst[@name='facet_fields']/lst[@name='f_td']/int[3][@name='-1.218']");
- assertQ(req("q", "*:*", FacetParams.FACET, "true", FacetParams.FACET_FIELD, "f_td", "f.f_td.facet.sort", FacetParams.FACET_SORT_INDEX, FacetParams.FACET_MINCOUNT, "1", "indent","true"),
+ assertQ(req("q", "*:*", FacetParams.FACET, "true", FacetParams.FACET_FIELD, "f_td", "f.f_td.facet.sort", FacetParams.FACET_SORT_INDEX, FacetParams.FACET_MINCOUNT, "1", "indent", "true"),
+ "*[count(//lst[@name='f_td']/int)=3]",
+ "//lst[@name='facet_fields']/lst[@name='f_td']/int[1][@name='-420.126']",
+ "//lst[@name='facet_fields']/lst[@name='f_td']/int[2][@name='-285.672']",
+ "//lst[@name='facet_fields']/lst[@name='f_td']/int[3][@name='-1.218']");
+ }
+
+ @Test
+ public void testFacetSortWithMinCount0() {
+ assertU(adoc("id", "1.0", "f_td", "-420.126"));
+ assertU(adoc("id", "2.0", "f_td", "-285.672"));
+ assertU(adoc("id", "3.0", "f_td", "-1.218"));
+ assertU(commit());
+
+ assertQ(req("q", "id:1.0", FacetParams.FACET, "true", FacetParams.FACET_FIELD, "f_td", "f.f_td.facet.sort", FacetParams.FACET_SORT_INDEX, FacetParams.FACET_MINCOUNT, "0", FacetParams.FACET_METHOD, FacetParams.FACET_METHOD_fc),
+ "*[count(//lst[@name='f_td']/int)=3]",
+ "//lst[@name='facet_fields']/lst[@name='f_td']/int[1][@name='-420.126']",
+ "//lst[@name='facet_fields']/lst[@name='f_td']/int[2][@name='-285.672']",
+ "//lst[@name='facet_fields']/lst[@name='f_td']/int[3][@name='-1.218']");
+
+ assertQ(req("q", "id:1.0", FacetParams.FACET, "true", FacetParams.FACET_FIELD, "f_td", "f.f_td.facet.sort", FacetParams.FACET_SORT_INDEX, FacetParams.FACET_MINCOUNT, "0", FacetParams.FACET_METHOD, FacetParams.FACET_METHOD_uif),
"*[count(//lst[@name='f_td']/int)=3]",
"//lst[@name='facet_fields']/lst[@name='f_td']/int[1][@name='-420.126']",
"//lst[@name='facet_fields']/lst[@name='f_td']/int[2][@name='-285.672']",
[30/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: remove unused imports
Posted by no...@apache.org.
LUCENE-7319: remove unused imports
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/52f5c502
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/52f5c502
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/52f5c502
Branch: refs/heads/apiv2
Commit: 52f5c502468846138f73ab83837528fa91a54733
Parents: b9ded92
Author: Christine Poerschke <cp...@apache.org>
Authored: Mon Jun 13 09:35:09 2016 +0100
Committer: Christine Poerschke <cp...@apache.org>
Committed: Mon Jun 13 09:59:14 2016 +0100
----------------------------------------------------------------------
.../lucene/analysis/ar/ArabicAnalyzer.java | 1 -
.../charfilter/HTMLStripCharFilter.java | 1 -
.../analysis/charfilter/NormalizeCharMap.java | 2 --
.../lucene/analysis/ckb/SoraniAnalyzer.java | 1 -
.../HyphenationCompoundWordTokenFilter.java | 1 -
...phenationCompoundWordTokenFilterFactory.java | 1 -
.../lucene/analysis/core/StopAnalyzer.java | 1 -
.../lucene/analysis/en/PorterStemmer.java | 4 ---
.../lucene/analysis/fa/PersianAnalyzer.java | 1 -
.../lucene/analysis/hi/HindiAnalyzer.java | 1 -
.../WordDelimiterFilterFactory.java | 2 --
.../analysis/ngram/EdgeNGramTokenizer.java | 1 -
.../lucene/analysis/nl/DutchAnalyzer.java | 1 -
.../pattern/PatternCaptureGroupTokenFilter.java | 1 -
.../query/QueryAutoStopWordAnalyzer.java | 1 -
.../analysis/standard/ClassicTokenizerImpl.java | 1 -
.../standard/UAX29URLEmailTokenizerFactory.java | 1 -
.../analysis/synonym/SynonymFilterFactory.java | 2 --
.../lucene/analysis/synonym/SynonymMap.java | 2 --
.../apache/lucene/analysis/th/ThaiAnalyzer.java | 1 -
.../lucene/analysis/tr/TurkishAnalyzer.java | 1 -
.../analysis/wikipedia/WikipediaTokenizer.java | 1 -
.../lucene/collation/CollationKeyAnalyzer.java | 2 --
.../lucene/analysis/ar/TestArabicAnalyzer.java | 1 -
.../ar/TestArabicNormalizationFilter.java | 1 -
.../bg/TestBulgarianStemFilterFactory.java | 1 -
.../analysis/br/TestBrazilianAnalyzer.java | 1 -
.../TestHTMLStripCharFilterFactory.java | 1 -
.../analysis/cjk/TestCJKWidthFilterFactory.java | 1 -
.../lucene/analysis/ckb/TestSoraniAnalyzer.java | 1 -
.../TestSoraniNormalizationFilterFactory.java | 1 -
.../commongrams/CommonGramsFilterTest.java | 1 -
.../TestCommonGramsQueryFilterFactory.java | 3 --
.../analysis/core/TestKeywordAnalyzer.java | 1 -
.../lucene/analysis/core/TestRandomChains.java | 1 -
.../de/TestGermanLightStemFilterFactory.java | 1 -
.../analysis/de/TestGermanStemFilter.java | 1 -
.../el/TestGreekLowerCaseFilterFactory.java | 1 -
.../analysis/el/TestGreekStemFilterFactory.java | 1 -
.../en/TestEnglishMinimalStemFilterFactory.java | 1 -
.../analysis/en/TestKStemFilterFactory.java | 1 -
.../en/TestPorterStemFilterFactory.java | 1 -
.../lucene/analysis/fa/TestPersianAnalyzer.java | 1 -
.../TestPersianNormalizationFilterFactory.java | 1 -
.../fr/TestFrenchLightStemFilterFactory.java | 1 -
.../fr/TestFrenchMinimalStemFilterFactory.java | 1 -
.../ga/TestIrishLowerCaseFilterFactory.java | 1 -
.../TestGalicianMinimalStemFilterFactory.java | 1 -
.../gl/TestGalicianStemFilterFactory.java | 1 -
.../lucene/analysis/hi/TestHindiAnalyzer.java | 1 -
.../lucene/analysis/hi/TestHindiFilters.java | 2 --
.../lucene/analysis/hi/TestHindiNormalizer.java | 4 ---
.../hu/TestHungarianLightStemFilterFactory.java | 1 -
.../analysis/hunspell/Test64kAffixes.java | 2 --
.../analysis/hunspell/TestAllDictionaries.java | 1 -
.../analysis/hunspell/TestAllDictionaries2.java | 1 -
.../analysis/hunspell/TestDictionary.java | 1 -
.../hunspell/TestHunspellStemFilter.java | 1 -
.../it/TestItalianLightStemFilterFactory.java | 1 -
.../miscellaneous/TestKeywordMarkerFilter.java | 2 --
.../miscellaneous/TestTrimFilterFactory.java | 1 -
.../no/TestNorwegianLightStemFilterFactory.java | 1 -
.../TestPatternReplaceCharFilterFactory.java | 1 -
.../TestPatternReplaceFilterFactory.java | 1 -
.../DelimitedPayloadTokenFilterTest.java | 4 ---
.../pt/TestPortugueseStemFilterFactory.java | 1 -
.../reverse/TestReverseStringFilterFactory.java | 1 -
.../ru/TestRussianLightStemFilterFactory.java | 1 -
.../analysis/shingle/ShingleFilterTest.java | 1 -
.../shingle/TestShingleFilterFactory.java | 1 -
.../standard/TestStandardFactories.java | 1 -
.../lucene/analysis/th/TestThaiAnalyzer.java | 1 -
.../collation/ICUCollationKeyAnalyzer.java | 3 --
.../icu/TestICUFoldingFilterFactory.java | 1 -
.../icu/TestICUNormalizer2FilterFactory.java | 1 -
.../icu/TestICUTransformFilterFactory.java | 1 -
.../segmentation/TestICUTokenizerFactory.java | 1 -
.../analysis/ja/dict/ConnectionCosts.java | 1 -
.../lucene/analysis/ja/dict/UserDictionary.java | 1 -
.../TestDoubleMetaphoneFilterFactory.java | 3 --
.../TestStempelPolishStemFilterFactory.java | 1 -
.../uima/UIMAAnnotationsTokenizerFactory.java | 1 -
.../lucene/analysis/uima/UIMABaseAnalyzer.java | 1 -
...IMATypeAwareAnnotationsTokenizerFactory.java | 1 -
.../uima/UIMATypeAwareAnalyzerTest.java | 1 -
.../lucene50/Lucene50SegmentInfoFormat.java | 4 ---
.../lucene50/Lucene50RWSegmentInfoFormat.java | 4 ---
.../benchmark/byTask/tasks/AddIndexesTask.java | 3 --
.../byTask/tasks/NearRealtimeReaderTask.java | 1 -
.../benchmark/byTask/tasks/OpenReaderTask.java | 1 -
.../lucene/benchmark/byTask/tasks/ReadTask.java | 1 -
.../byTask/tasks/ReopenReaderTask.java | 1 -
.../byTask/tasks/RollbackIndexTask.java | 2 --
.../byTask/tasks/WriteEnwikiLineDocTask.java | 1 -
.../benchmark/quality/utils/SimpleQQParser.java | 1 -
.../tasks/WriteEnwikiLineDocTaskTest.java | 4 ---
.../lucene/classification/Classifier.java | 4 ---
.../SimpleNaiveBayesDocumentClassifier.java | 2 --
.../classification/utils/DatasetSplitter.java | 2 --
.../SimpleNaiveBayesClassifierTest.java | 1 -
.../utils/DocToDoubleVectorUtilsTest.java | 2 --
.../codecs/blockterms/BlockTermsReader.java | 1 -
.../blocktreeords/OrdsIntersectTermsEnum.java | 2 --
.../blocktreeords/OrdsSegmentTermsEnum.java | 2 --
.../lucene/codecs/memory/FSTOrdTermsReader.java | 1 -
.../simpletext/SimpleTextFieldsReader.java | 1 -
.../simpletext/SimpleTextLiveDocsFormat.java | 2 --
.../simpletext/SimpleTextTermVectorsReader.java | 1 -
.../java/org/apache/lucene/analysis/Token.java | 1 -
.../org/apache/lucene/codecs/NormsConsumer.java | 2 --
.../lucene/codecs/StoredFieldsWriter.java | 1 -
.../apache/lucene/codecs/TermVectorsWriter.java | 1 -
.../codecs/lucene50/Lucene50PostingsFormat.java | 1 -
.../lucene62/Lucene62SegmentInfoFormat.java | 1 -
.../org/apache/lucene/index/DocIDMerger.java | 2 --
.../index/DocumentsWriterPerThreadPool.java | 2 --
.../apache/lucene/index/IndexWriterConfig.java | 1 -
.../lucene/index/MappingMultiPostingsEnum.java | 2 --
.../org/apache/lucene/index/MergePolicy.java | 2 --
.../org/apache/lucene/index/MergeState.java | 1 -
.../org/apache/lucene/index/MultiSorter.java | 1 -
.../index/TermVectorsConsumerPerField.java | 1 -
.../apache/lucene/index/TermsHashPerField.java | 1 -
.../apache/lucene/search/BlendedTermQuery.java | 1 -
.../EarlyTerminatingSortingCollector.java | 1 -
.../apache/lucene/search/FuzzyTermsEnum.java | 1 -
.../java/org/apache/lucene/search/Multiset.java | 2 --
.../apache/lucene/search/PointInSetQuery.java | 6 ----
.../org/apache/lucene/search/RegexpQuery.java | 1 -
.../lucene/store/ByteArrayIndexInput.java | 2 --
.../org/apache/lucene/util/CharsRefBuilder.java | 1 -
.../automaton/DaciukMihovAutomatonBuilder.java | 1 -
.../lucene/util/mutable/MutableValueStr.java | 1 -
.../util/packed/MonotonicBlockPackedWriter.java | 1 -
.../lucene/util/packed/MonotonicLongValues.java | 1 -
.../lucene54/TestLucene54DocValuesFormat.java | 2 --
.../apache/lucene/document/TestFieldType.java | 2 --
.../org/apache/lucene/index/Test2BPoints.java | 6 ----
.../index/TestBinaryDocValuesUpdates.java | 2 --
.../org/apache/lucene/index/TestCodecs.java | 5 ---
.../lucene/index/TestDirectoryReader.java | 1 -
.../apache/lucene/index/TestDocIDMerger.java | 2 --
.../lucene/index/TestDocsAndPositions.java | 1 -
.../apache/lucene/index/TestFieldsReader.java | 1 -
.../lucene/index/TestIndexFileDeleter.java | 4 ---
.../org/apache/lucene/index/TestIndexInput.java | 4 ---
.../apache/lucene/index/TestIndexSorting.java | 7 ----
.../apache/lucene/index/TestIndexWriter.java | 3 --
.../lucene/index/TestIndexWriterCommit.java | 1 -
.../lucene/index/TestIndexWriterConfig.java | 1 -
.../lucene/index/TestIndexWriterForceMerge.java | 4 ---
.../lucene/index/TestIndexWriterFromReader.java | 1 -
.../index/TestIndexWriterLockRelease.java | 2 --
.../lucene/index/TestIndexWriterOnDiskFull.java | 2 --
.../index/TestIndexingSequenceNumbers.java | 2 --
.../lucene/index/TestMergeRateLimiter.java | 2 --
.../lucene/index/TestMixedDocValuesUpdates.java | 1 -
.../apache/lucene/index/TestMultiTermsEnum.java | 1 -
.../apache/lucene/index/TestNeverDelete.java | 2 --
.../apache/lucene/index/TestNoMergePolicy.java | 1 -
.../index/TestNumericDocValuesUpdates.java | 2 --
.../apache/lucene/index/TestOmitPositions.java | 1 -
.../org/apache/lucene/index/TestOmitTf.java | 2 --
.../index/TestParallelCompositeReader.java | 2 --
.../lucene/index/TestParallelTermEnum.java | 1 -
.../org/apache/lucene/index/TestPayloads.java | 1 -
.../lucene/index/TestPerSegmentDeletes.java | 2 --
.../TestPersistentSnapshotDeletionPolicy.java | 1 -
.../apache/lucene/index/TestReaderClosed.java | 1 -
.../apache/lucene/index/TestSegmentInfos.java | 1 -
.../index/TestSnapshotDeletionPolicy.java | 2 --
.../TestEarlyTerminatingSortingCollector.java | 6 ----
.../apache/lucene/search/TestIndexSearcher.java | 1 -
.../lucene/search/TestMatchNoDocsQuery.java | 1 -
.../apache/lucene/search/TestPhraseQuery.java | 1 -
.../apache/lucene/search/TestRegexpRandom2.java | 1 -
.../apache/lucene/search/TestScorerPerf.java | 2 --
.../lucene/search/TestSimilarityProvider.java | 1 -
.../lucene/store/TestBufferedIndexInput.java | 1 -
.../org/apache/lucene/store/TestDirectory.java | 1 -
.../lucene/store/TestFileSwitchDirectory.java | 1 -
.../apache/lucene/store/TestRateLimiter.java | 1 -
.../lucene/store/TestSimpleFSLockFactory.java | 1 -
.../apache/lucene/util/Test2BPagedBytes.java | 1 -
.../org/apache/lucene/util/TestIOUtils.java | 1 -
.../util/TestRecyclingByteBlockAllocator.java | 1 -
.../util/TestRecyclingIntBlockAllocator.java | 1 -
.../automaton/FiniteStringsIteratorTest.java | 1 -
.../LimitedFiniteStringsIteratorTest.java | 1 -
.../test/org/apache/lucene/demo/TestDemo.java | 2 --
.../TestExpressionAggregationFacetsExample.java | 3 --
.../demo/facet/TestRangeFacetsExample.java | 2 --
.../facet/TestSimpleSortedSetFacetsExample.java | 1 -
.../lucene/expressions/js/JavascriptLexer.java | 3 --
.../lucene/expressions/js/JavascriptParser.java | 3 --
.../DefaultSortedSetDocValuesReaderState.java | 1 -
.../lucene/facet/taxonomy/TestFacetLabel.java | 2 --
.../taxonomy/directory/TestAddTaxonomy.java | 14 --------
.../grouping/AbstractGroupFacetCollector.java | 1 -
.../highlight/OffsetLimitTokenFilterTest.java | 1 -
.../vectorhighlight/IndexTimeSynonymTest.java | 4 ---
.../search/join/ToParentBlockJoinQuery.java | 2 --
.../lucene/search/join/TestBlockJoin.java | 1 -
.../lucene/index/memory/TestMemoryIndex.java | 6 ----
.../memory/TestMemoryIndexAgainstRAMDir.java | 1 -
.../lucene/index/MultiPassIndexSplitter.java | 1 -
.../index/TestMultiPassIndexSplitter.java | 1 -
.../search/TestDiversifiedTopDocsCollector.java | 1 -
.../apache/lucene/util/fst/TestFSTsMisc.java | 1 -
.../lucene/queries/function/BoostedQuery.java | 1 -
.../function/valuesource/DoubleFieldSource.java | 1 -
.../SumTotalTermFreqValueSource.java | 1 -
.../apache/lucene/queries/TermsQueryTest.java | 2 --
.../queries/TestCustomScoreExplanations.java | 1 -
.../lucene/queryparser/classic/QueryParser.java | 1 -
.../classic/QueryParserTokenManager.java | 10 ------
.../queryparser/ext/ExtendableQueryParser.java | 1 -
.../builders/DummyQueryNodeBuilder.java | 1 -
.../StandardSyntaxParserTokenManager.java | 22 ------------
.../MultiFieldQueryNodeProcessor.java | 1 -
.../StandardQueryNodeProcessorPipeline.java | 3 --
.../surround/parser/QueryParser.java | 2 --
.../parser/QueryParserTokenManager.java | 13 --------
.../queryparser/classic/TestMultiAnalyzer.java | 2 --
.../classic/TestMultiPhraseQueryParsing.java | 1 -
.../precedence/TestPrecedenceQueryParser.java | 1 -
.../standard/TestMultiAnalyzerQPHelper.java | 3 --
.../flexible/standard/TestStandardQP.java | 2 --
.../simple/TestSimpleQueryParser.java | 1 -
.../xml/TestQueryTemplateManager.java | 1 -
.../lucene/replicator/nrt/CopyOneFile.java | 2 --
.../apache/lucene/replicator/nrt/CopyState.java | 1 -
.../org/apache/lucene/replicator/nrt/Node.java | 10 ------
.../replicator/nrt/ReplicaFileDeleter.java | 2 --
.../nrt/SegmentInfosSearcherManager.java | 1 -
.../IndexAndTaxonomyRevisionTest.java | 1 -
.../lucene/replicator/IndexRevisionTest.java | 1 -
.../lucene/replicator/LocalReplicatorTest.java | 1 -
.../lucene/replicator/ReplicatorTestCase.java | 2 --
.../lucene/replicator/nrt/Connection.java | 2 --
.../org/apache/lucene/replicator/nrt/Jobs.java | 2 --
.../lucene/replicator/nrt/SimpleCopyJob.java | 35 --------------------
.../lucene/replicator/nrt/SimpleTransLog.java | 3 --
.../replicator/nrt/TestNRTReplication.java | 1 -
.../nrt/TestStressNRTReplication.java | 1 -
.../idversion/IDVersionPostingsReader.java | 1 -
.../idversion/IDVersionSegmentTermsEnum.java | 1 -
.../sandbox/queries/SlowFuzzyTermsEnum.java | 1 -
.../search/TokenStreamToTermAutomatonQuery.java | 2 --
.../org/apache/lucene/spatial3d/Geo3DPoint.java | 9 -----
.../spatial3d/geom/GeoComplexPolygon.java | 2 --
.../lucene/spatial3d/geom/StandardXYZSolid.java | 2 --
.../apache/lucene/spatial3d/TestGeo3DPoint.java | 1 -
.../lucene/spatial3d/geom/GeoPolygonTest.java | 2 --
.../lucene/search/spell/DirectSpellChecker.java | 2 --
.../lucene/search/spell/LuceneDictionary.java | 1 -
.../search/spell/WordBreakSpellChecker.java | 1 -
.../analyzing/AnalyzingInfixSuggester.java | 1 -
.../search/suggest/analyzing/FSTUtil.java | 1 -
.../suggest/analyzing/SuggestStopFilter.java | 1 -
.../suggest/fst/FSTCompletionBuilder.java | 1 -
.../search/suggest/jaspell/JaspellLookup.java | 1 -
.../search/suggest/FileDictionaryTest.java | 1 -
.../lucene/search/suggest/PersistenceTest.java | 1 -
.../analyzing/AnalyzingInfixSuggesterTest.java | 2 --
.../analyzing/AnalyzingSuggesterTest.java | 1 -
.../suggest/analyzing/FuzzySuggesterTest.java | 1 -
.../search/suggest/fst/FSTCompletionTest.java | 1 -
.../search/suggest/fst/WFSTCompletionTest.java | 1 -
.../lucene/analysis/CollationTestBase.java | 1 -
.../apache/lucene/analysis/MockAnalyzer.java | 1 -
.../apache/lucene/analysis/MockCharFilter.java | 1 -
.../lucene/analysis/MockPayloadAnalyzer.java | 1 -
.../codecs/asserting/AssertingPointsFormat.java | 1 -
.../codecs/cranky/CrankyPointsFormat.java | 3 --
.../index/BaseTermVectorsFormatTestCase.java | 2 --
.../java/org/apache/lucene/index/DocHelper.java | 1 -
.../apache/lucene/index/ForceMergePolicy.java | 3 --
.../ThreadedIndexingAndSearchingTestCase.java | 1 -
.../lucene/mockfile/MockFileSystemTestCase.java | 1 -
.../org/apache/lucene/mockfile/WindowsFS.java | 4 ---
.../lucene/store/BaseLockFactoryTestCase.java | 1 -
.../apache/lucene/util/CloseableDirectory.java | 1 -
.../org/apache/lucene/util/LineFileDocs.java | 1 -
.../analysis/TestLookaheadTokenFilter.java | 1 -
.../TestCompressingStoredFieldsFormat.java | 4 ---
.../TestCompressingTermVectorsFormat.java | 1 -
.../lucene/index/TestAssertingLeafReader.java | 8 -----
.../lucene/mockfile/TestHandleTrackingFS.java | 4 ---
.../apache/lucene/mockfile/TestWindowsFS.java | 2 --
.../lucene/store/TestMockDirectoryWrapper.java | 4 ---
.../solr/schema/TestICUCollationField.java | 2 --
.../analytics/facet/FieldFacetExtrasTest.java | 1 -
.../solr/analytics/facet/FieldFacetTest.java | 1 -
.../handler/dataimport/DIHCacheSupport.java | 3 --
.../handler/dataimport/DataImportHandler.java | 6 ----
.../solr/handler/dataimport/DebugInfo.java | 1 -
.../solr/handler/dataimport/Evaluator.java | 5 ---
.../solr/handler/dataimport/UrlEvaluator.java | 1 -
.../dataimport/XPathEntityProcessor.java | 1 -
.../apache/solr/handler/dataimport/Zipper.java | 1 -
.../dataimport/config/ConfigParseUtil.java | 6 ----
.../solr/handler/dataimport/TestDataConfig.java | 1 -
.../solr/handler/dataimport/TestDocBuilder.java | 1 -
.../handler/dataimport/TestEphemeralCache.java | 1 -
.../dataimport/TestFileListEntityProcessor.java | 1 -
.../TestFileListWithLineEntityProcessor.java | 1 -
.../dataimport/TestHierarchicalDocBuilder.java | 1 -
.../dataimport/TestNonWritablePersistFile.java | 1 -
.../TestPlainTextEntityProcessor.java | 1 -
.../dataimport/TestScriptTransformer.java | 2 --
.../dataimport/TestSimplePropertiesWriter.java | 2 --
.../dataimport/TestSqlEntityProcessorDelta.java | 1 -
...anguageIdentifierUpdateProcessorFactory.java | 1 -
.../LanguageIdentifierUpdateProcessor.java | 1 -
.../solr/hadoop/MapReduceIndexerTool.java | 3 --
.../apache/solr/hadoop/SolrOutputFormat.java | 1 -
.../apache/solr/hadoop/MorphlineMapperTest.java | 1 -
.../src/java/org/apache/solr/cloud/Assign.java | 1 -
.../org/apache/solr/cloud/DistributedMap.java | 1 -
.../solr/cloud/SizeLimitedDistributedMap.java | 2 --
.../apache/solr/cloud/overseer/NodeMutator.java | 1 -
.../solr/cloud/overseer/OverseerAction.java | 2 --
.../solr/cloud/overseer/SliceMutator.java | 2 --
.../solr/cloud/overseer/ZkStateWriter.java | 2 --
.../apache/solr/cloud/rule/ReplicaAssigner.java | 1 -
.../org/apache/solr/core/BlobRepository.java | 6 ----
.../org/apache/solr/core/ConfigOverlay.java | 4 ---
.../org/apache/solr/core/ConfigSetService.java | 1 -
.../org/apache/solr/core/CoreContainer.java | 1 -
.../apache/solr/core/HdfsDirectoryFactory.java | 1 -
.../solr/core/SimpleFSDirectoryFactory.java | 1 -
.../src/java/org/apache/solr/core/SolrCore.java | 1 -
.../java/org/apache/solr/core/SolrCores.java | 2 --
.../solr/handler/ContentStreamHandlerBase.java | 1 -
.../org/apache/solr/handler/GraphHandler.java | 2 --
.../solr/handler/MoreLikeThisHandler.java | 2 --
.../apache/solr/handler/RealTimeGetHandler.java | 1 -
.../apache/solr/handler/RequestHandlerBase.java | 2 --
.../solr/handler/admin/ConfigSetsHandler.java | 1 -
.../solr/handler/admin/CoreAdminHandler.java | 2 --
.../handler/admin/ShowFileRequestHandler.java | 2 --
.../handler/admin/SolrInfoMBeanHandler.java | 1 -
.../handler/component/HighlightComponent.java | 1 -
.../solr/handler/component/QueryComponent.java | 2 --
.../handler/component/RealTimeGetComponent.java | 1 -
.../handler/component/SpellCheckComponent.java | 2 --
.../handler/component/SpellCheckMergeData.java | 1 -
.../handler/component/StatsValuesFactory.java | 3 --
.../solr/handler/component/TermsComponent.java | 1 -
.../solr/highlight/PostingsSolrHighlighter.java | 1 -
.../solr/index/SlowCompositeReaderWrapper.java | 1 -
.../apache/solr/index/SortingMergePolicy.java | 21 ------------
.../org/apache/solr/internal/csv/CSVParser.java | 2 --
.../apache/solr/internal/csv/CSVPrinter.java | 2 --
.../org/apache/solr/parser/QueryParser.java | 6 ----
.../solr/parser/QueryParserTokenManager.java | 13 --------
.../apache/solr/parser/SolrQueryParserBase.java | 1 -
.../apache/solr/request/SolrRequestInfo.java | 1 -
.../org/apache/solr/request/json/JSONUtil.java | 6 ----
.../apache/solr/request/json/ObjectUtil.java | 3 --
.../solr/response/BinaryResponseWriter.java | 1 -
.../solr/response/GeoJSONResponseWriter.java | 1 -
.../solr/response/JSONResponseWriter.java | 5 ---
.../response/PHPSerializedResponseWriter.java | 1 -
.../org/apache/solr/response/ResultContext.java | 1 -
.../transform/ExcludedMarkerFactory.java | 2 --
.../org/apache/solr/rest/SolrSchemaRestApi.java | 2 --
.../schema/analysis/ManagedWordSetResource.java | 1 -
.../solr/schema/JsonPreAnalyzedParser.java | 1 -
.../solr/schema/ManagedIndexSchemaFactory.java | 2 --
.../solr/search/CollapsingQParserPlugin.java | 1 -
.../apache/solr/search/DisMaxQParserPlugin.java | 1 -
.../java/org/apache/solr/search/DocSlice.java | 1 -
.../search/ExtendedDismaxQParserPlugin.java | 1 -
.../apache/solr/search/FieldQParserPlugin.java | 1 -
.../solr/search/FunctionQParserPlugin.java | 1 -
.../solr/search/FunctionRangeQParserPlugin.java | 1 -
.../apache/solr/search/JoinQParserPlugin.java | 1 -
.../java/org/apache/solr/search/LRUCache.java | 1 -
.../apache/solr/search/LuceneQParserPlugin.java | 2 --
.../solr/search/OldLuceneQParserPlugin.java | 1 -
.../apache/solr/search/PrefixQParserPlugin.java | 3 --
.../java/org/apache/solr/search/QParser.java | 1 -
.../org/apache/solr/search/QueryContext.java | 1 -
.../org/apache/solr/search/QueryParsing.java | 3 --
.../apache/solr/search/RawQParserPlugin.java | 1 -
.../apache/solr/search/ReRankQParserPlugin.java | 1 -
.../apache/solr/search/SimpleQParserPlugin.java | 1 -
.../apache/solr/search/SolrFieldCacheMBean.java | 1 -
.../org/apache/solr/search/SolrQueryParser.java | 18 ----------
.../apache/solr/search/SolrReturnFields.java | 1 -
.../solr/search/SpatialBoxQParserPlugin.java | 1 -
.../solr/search/SpatialFilterQParserPlugin.java | 1 -
.../solr/search/SurroundQParserPlugin.java | 1 -
.../apache/solr/search/TermQParserPlugin.java | 1 -
.../apache/solr/search/TermsQParserPlugin.java | 1 -
.../apache/solr/search/XmlQParserPlugin.java | 1 -
.../solr/search/facet/AggValueSource.java | 1 -
.../org/apache/solr/search/facet/BlockJoin.java | 1 -
.../apache/solr/search/facet/FacetField.java | 1 -
.../facet/FacetFieldProcessorNumeric.java | 1 -
.../apache/solr/search/facet/FacetRequest.java | 2 --
.../org/apache/solr/search/facet/FieldUtil.java | 2 --
.../org/apache/solr/search/facet/HLLAgg.java | 5 ---
.../apache/solr/search/facet/LegacyFacet.java | 1 -
.../solr/search/facet/SimpleAggValueSource.java | 3 --
.../org/apache/solr/search/facet/SlotAcc.java | 8 -----
.../solr/search/facet/StrAggValueSource.java | 7 ----
.../solr/search/facet/UnInvertedField.java | 1 -
.../solr/search/function/FileFloatSource.java | 1 -
.../apache/solr/search/grouping/Command.java | 2 --
.../SearchGroupsResultTransformer.java | 2 --
.../join/BlockJoinParentQParserPlugin.java | 1 -
.../solr/search/join/GraphQParserPlugin.java | 1 -
.../org/apache/solr/search/join/GraphQuery.java | 3 --
.../solr/search/join/GraphQueryParser.java | 1 -
.../search/join/ScoreJoinQParserPlugin.java | 1 -
.../solr/search/mlt/MLTQParserPlugin.java | 1 -
.../SweetSpotSimilarityFactory.java | 1 -
.../apache/solr/search/stats/LRUStatsCache.java | 5 ---
.../solr/security/AuthorizationContext.java | 1 -
.../security/AutorizationEditOperation.java | 2 --
.../apache/solr/security/KerberosPlugin.java | 1 -
.../security/RuleBasedAuthorizationPlugin.java | 2 --
.../solr/servlet/DirectSolrConnection.java | 6 ----
.../org/apache/solr/servlet/HttpSolrCall.java | 5 ---
.../solr/servlet/cache/HttpCacheHeaderUtil.java | 2 --
.../spelling/AbstractLuceneSpellChecker.java | 6 ----
.../solr/spelling/DirectSolrSpellChecker.java | 6 ----
.../solr/store/blockcache/BlockCache.java | 1 -
.../apache/solr/store/blockcache/Metrics.java | 1 -
.../solr/update/DeleteByQueryWrapper.java | 1 -
.../apache/solr/update/DeleteUpdateCommand.java | 2 --
...tractDefaultValueUpdateProcessorFactory.java | 2 --
.../CountFieldValuesUpdateProcessorFactory.java | 10 ------
.../DefaultValueUpdateProcessorFactory.java | 4 ---
.../DistributingUpdateProcessorFactory.java | 2 --
.../FieldMutatingUpdateProcessorFactory.java | 1 -
.../FieldValueSubsetUpdateProcessorFactory.java | 2 --
.../FirstFieldValueUpdateProcessorFactory.java | 1 -
.../LastFieldValueUpdateProcessorFactory.java | 1 -
.../solr/update/processor/MD5Signature.java | 1 -
.../MaxFieldValueUpdateProcessorFactory.java | 1 -
.../MinFieldValueUpdateProcessorFactory.java | 1 -
.../NoOpDistributingUpdateProcessorFactory.java | 2 --
.../ParseDateFieldUpdateProcessorFactory.java | 2 --
.../update/processor/RegexpBoostProcessor.java | 1 -
.../processor/RunUpdateProcessorFactory.java | 1 -
.../TimestampUpdateProcessorFactory.java | 7 ----
.../processor/TolerantUpdateProcessor.java | 6 ----
.../TolerantUpdateProcessorFactory.java | 1 -
.../UniqFieldsUpdateProcessorFactory.java | 9 -----
.../processor/UpdateRequestProcessorChain.java | 1 -
.../org/apache/solr/util/CommandOperation.java | 3 --
.../org/apache/solr/util/PivotListEntry.java | 2 --
.../src/java/org/apache/solr/util/SolrCLI.java | 1 -
.../org/apache/solr/util/SolrPluginUtils.java | 1 -
.../solr/util/xslt/TransformerProvider.java | 1 -
.../solr/DistributedIntervalFacetingTest.java | 1 -
.../test/org/apache/solr/SolrInfoMBeanTest.java | 1 -
.../solr/TestSimpleTrackingShardHandler.java | 1 -
.../PathHierarchyTokenizerFactoryTest.java | 3 --
.../apache/solr/cloud/AliasIntegrationTest.java | 2 --
.../solr/cloud/BaseCdcrDistributedZkTest.java | 2 --
.../org/apache/solr/cloud/ClusterStateTest.java | 1 -
...ConcurrentDeleteAndCreateCollectionTest.java | 1 -
.../solr/cloud/ConnectionManagerTest.java | 5 ---
.../solr/cloud/DeleteInactiveReplicaTest.java | 1 -
.../DeleteLastCustomShardedReplicaTest.java | 1 -
.../solr/cloud/DistribCursorPagingTest.java | 3 --
.../apache/solr/cloud/HttpPartitionTest.java | 1 -
...verseerCollectionConfigSetProcessorTest.java | 1 -
.../org/apache/solr/cloud/OverseerTest.java | 1 -
.../solr/cloud/RecoveryAfterSoftCommitTest.java | 1 -
.../solr/cloud/ReplicationFactorTest.java | 1 -
.../org/apache/solr/cloud/SSLMigrationTest.java | 1 -
.../cloud/SimpleCollectionCreateDeleteTest.java | 2 --
.../apache/solr/cloud/SolrCloudExampleTest.java | 2 --
.../org/apache/solr/cloud/SyncSliceTest.java | 2 --
.../solr/cloud/TestCloudDeleteByQuery.java | 7 ----
.../apache/solr/cloud/TestCloudInspectUtil.java | 2 --
.../apache/solr/cloud/TestCollectionAPI.java | 1 -
.../apache/solr/cloud/TestConfigSetsAPI.java | 1 -
.../cloud/TestConfigSetsAPIExclusivity.java | 1 -
.../solr/cloud/TestConfigSetsAPIZkFailure.java | 1 -
.../org/apache/solr/cloud/TestCryptoKeys.java | 1 -
.../org/apache/solr/cloud/TestLockTree.java | 7 ----
.../solr/cloud/TestMiniSolrCloudClusterSSL.java | 1 -
.../apache/solr/cloud/TestSSLRandomization.java | 2 --
.../TestStressCloudBlindAtomicUpdates.java | 6 ----
.../solr/cloud/hdfs/HdfsThreadLeakTest.java | 2 --
.../solr/core/BlobRepositoryCloudTest.java | 6 ----
.../solr/core/BlobRepositoryMockingTest.java | 2 --
.../solr/core/HdfsDirectoryFactoryTest.java | 5 ---
.../org/apache/solr/core/MockInfoMBean.java | 1 -
.../apache/solr/core/TestDynamicLoading.java | 1 -
.../apache/solr/core/TestInfoStreamLogging.java | 1 -
.../apache/solr/core/TestJmxMonitoredMap.java | 3 --
.../FieldAnalysisRequestHandlerTest.java | 4 ---
.../org/apache/solr/handler/JsonLoaderTest.java | 4 ---
.../handler/StandardRequestHandlerTest.java | 8 -----
.../apache/solr/handler/TestBlobHandler.java | 1 -
.../org/apache/solr/handler/TestCSVLoader.java | 1 -
.../apache/solr/handler/TestConfigReload.java | 1 -
.../apache/solr/handler/TestReqParamsAPI.java | 1 -
.../handler/TestSolrConfigHandlerCloud.java | 1 -
.../TestSolrConfigHandlerConcurrent.java | 2 --
.../handler/ThrowErrorOnInitRequestHandler.java | 1 -
.../admin/CoreMergeIndexesAdminHandlerTest.java | 3 --
.../component/DistributedMLTComponentTest.java | 1 -
.../handler/component/TestExpandComponent.java | 1 -
.../handler/component/TestPivotHelperCode.java | 3 --
.../highlight/HighlighterMaxOffsetTest.java | 1 -
.../solr/internal/csv/CSVPrinterTest.java | 3 --
.../solr/internal/csv/CSVStrategyTest.java | 2 --
.../csv/ExtendedBufferedReaderTest.java | 2 --
.../org/apache/solr/request/JSONWriterTest.java | 4 ---
.../solr/request/TestBinaryResponseWriter.java | 1 -
.../org/apache/solr/request/TestFaceting.java | 1 -
.../solr/request/TestIntervalFaceting.java | 1 -
.../TestPHPSerializedResponseWriter.java | 1 -
.../solr/response/TestRawResponseWriter.java | 4 ---
.../schema/CurrencyFieldOpenExchangeTest.java | 10 ------
.../solr/schema/CurrencyFieldXmlFileTest.java | 9 -----
.../org/apache/solr/schema/EnumFieldTest.java | 1 -
.../org/apache/solr/schema/PolyFieldTest.java | 1 -
.../solr/schema/TestBulkSchemaConcurrent.java | 1 -
.../TestCloudManagedSchemaConcurrent.java | 1 -
.../apache/solr/schema/TestCloudSchemaless.java | 2 --
.../apache/solr/schema/TestCollationField.java | 1 -
.../apache/solr/search/AnalyticsQueryTest.java | 1 -
.../solr/search/DelayingSearchComponent.java | 1 -
.../apache/solr/search/FooQParserPlugin.java | 1 -
.../apache/solr/search/QueryParsingTest.java | 8 -----
.../org/apache/solr/search/RankQueryTest.java | 1 -
.../apache/solr/search/SortSpecParsingTest.java | 1 -
.../solr/search/TestCollapseQParserPlugin.java | 1 -
.../search/TestGraphTermsQParserPlugin.java | 12 -------
.../solr/search/TestHashQParserPlugin.java | 5 ---
.../org/apache/solr/search/TestLRUCache.java | 5 ---
.../apache/solr/search/TestMissingGroups.java | 2 --
.../org/apache/solr/search/TestQueryUtils.java | 2 --
.../search/TestRandomCollapseQParserPlugin.java | 3 --
.../solr/search/TestReRankQParserPlugin.java | 1 -
.../org/apache/solr/search/TestRealTimeGet.java | 1 -
.../apache/solr/search/TestRecoveryHdfs.java | 1 -
.../test/org/apache/solr/search/TestReload.java | 2 --
.../org/apache/solr/search/TestSearchPerf.java | 1 -
.../solr/search/TestSimpleQParserPlugin.java | 3 --
.../apache/solr/search/TestSolrQueryParser.java | 1 -
.../test/org/apache/solr/search/TestSort.java | 1 -
.../solr/search/facet/TestJsonFacets.java | 3 --
.../solr/search/function/TestFunctionQuery.java | 1 -
.../function/TestMinMaxOnMultiValuedField.java | 4 ---
.../function/TestSortByMinMaxFunction.java | 2 --
.../apache/solr/search/join/BJQParserTest.java | 1 -
.../solr/search/mlt/SimpleMLTQParserTest.java | 4 ---
.../TestClassicSimilarityFactory.java | 1 -
.../TestNonDefinedSimilarityFactory.java | 1 -
...stPerFieldSimilarityWithDefaultOverride.java | 2 --
.../TestSweetSpotSimilarityFactory.java | 1 -
.../solr/search/stats/TestDistribIDF.java | 1 -
.../security/TestPKIAuthenticationPlugin.java | 6 ----
.../apache/solr/servlet/ResponseHeaderTest.java | 4 ---
.../spelling/FileBasedSpellCheckerTest.java | 1 -
.../solr/spelling/SimpleQueryConverter.java | 2 --
.../spelling/TestSuggestSpellingConverter.java | 1 -
.../suggest/TestFreeTextSuggestions.java | 1 -
.../apache/solr/uninverting/TestFieldCache.java | 10 ------
.../apache/solr/update/AddBlockUpdateTest.java | 2 --
.../update/DirectUpdateHandlerOptimizeTest.java | 1 -
.../solr/update/TestExceedMaxTermLength.java | 1 -
.../org/apache/solr/update/VersionInfoTest.java | 2 --
.../processor/CustomUpdateRequestProcessor.java | 4 ---
.../DefaultValueUpdateProcessorTest.java | 5 ---
...DocExpirationUpdateProcessorFactoryTest.java | 1 -
...ommitOptimizeUpdateProcessorFactoryTest.java | 5 ---
.../RecordingUpdateProcessorFactory.java | 3 --
...atelessScriptUpdateProcessorFactoryTest.java | 5 ---
.../processor/TestNamedUpdateProcessors.java | 1 -
.../TestPartialUpdateDeduplication.java | 3 --
.../processor/TolerantUpdateProcessorTest.java | 2 --
.../UniqFieldsUpdateProcessorFactoryTest.java | 1 -
.../processor/UpdateProcessorTestBase.java | 1 -
.../org/apache/solr/util/TestFastWriter.java | 3 --
.../solrj/impl/InputStreamResponseParser.java | 4 ---
.../solrj/impl/Krb5HttpClientBuilder.java | 7 ----
.../solr/client/solrj/io/comp/HashKey.java | 2 --
.../solrj/io/comp/MultipleFieldComparator.java | 1 -
.../client/solrj/io/stream/BiJoinStream.java | 8 -----
.../solrj/io/stream/LeftOuterJoinStream.java | 4 ---
.../client/solrj/io/stream/StreamContext.java | 2 --
.../solrj/io/stream/expr/StreamExplanation.java | 2 --
.../solr/client/solrj/response/FacetField.java | 1 -
.../solr/client/solrj/response/PivotField.java | 2 --
.../solr/common/cloud/ClusterStateUtil.java | 2 --
.../apache/solr/common/cloud/SolrZkClient.java | 1 -
.../solr/common/cloud/ZkConfigManager.java | 1 -
.../apache/solr/client/solrj/GetByIdTest.java | 2 --
.../solrj/MergeIndexesExampleTestBase.java | 1 -
.../client/solrj/SolrSchemalessExampleTest.java | 1 -
.../solrj/beans/TestDocumentObjectBinder.java | 2 --
.../embedded/LargeVolumeBinaryJettyTest.java | 1 -
.../solrj/embedded/LargeVolumeEmbeddedTest.java | 1 -
.../solrj/embedded/LargeVolumeJettyTest.java | 1 -
.../solrj/embedded/SolrExampleEmbeddedTest.java | 1 -
.../solr/client/solrj/io/graph/GraphTest.java | 2 --
.../client/solrj/io/sql/JdbcDriverTest.java | 1 -
.../solrj/io/stream/RecordCountStream.java | 1 -
.../StreamExpressionToExplanationTest.java | 1 -
.../io/stream/ops/ConcatOperationTest.java | 1 -
.../solrj/request/TestUpdateRequestCodec.java | 2 --
.../solr/common/cloud/TestZkConfigManager.java | 1 -
.../solr/common/util/TestJsonRecordReader.java | 1 -
.../solr/analysis/MockTokenizerFactory.java | 1 -
.../java/org/apache/solr/cloud/ChaosMonkey.java | 1 -
.../org/apache/solr/cloud/MockSolrZkClient.java | 1 -
.../org/apache/solr/util/BaseTestHarness.java | 1 -
.../org/apache/solr/util/ExternalPaths.java | 4 ---
.../org/apache/solr/util/RandomMergePolicy.java | 8 -----
.../org/apache/solr/util/SSLTestConfig.java | 4 ---
622 files changed, 1320 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java
index ae827e0..0beadfb 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java
@@ -30,7 +30,6 @@ import org.apache.lucene.analysis.util.CharArraySet;
import org.apache.lucene.analysis.util.StopwordAnalyzerBase;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.util.Version;
/**
* {@link Analyzer} for Arabic.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java
index 1f681a8..fea84d8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.charfilter;
import java.io.IOException;
import java.io.Reader;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java
index e724374..ffc832f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java
@@ -22,9 +22,7 @@ import java.util.Map;
import java.util.TreeMap;
import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
-import org.apache.lucene.util.fst.Builder;
import org.apache.lucene.util.fst.CharSequenceOutputs;
import org.apache.lucene.util.fst.FST;
import org.apache.lucene.util.fst.Outputs;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java
index ef29c2f..f1697b7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java
@@ -34,7 +34,6 @@ import org.apache.lucene.analysis.util.CharArraySet;
import org.apache.lucene.analysis.util.StopwordAnalyzerBase;
import org.apache.lucene.analysis.util.WordlistLoader;
import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.Version;
/**
* {@link Analyzer} for Sorani Kurdish.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java
index c047358..bef438c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java
@@ -23,7 +23,6 @@ import org.apache.lucene.analysis.compound.hyphenation.HyphenationTree;
import org.apache.lucene.analysis.util.CharArraySet;
import org.xml.sax.InputSource;
-import java.io.File;
import java.io.IOException;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java
index 3b8d0b7..9ffe405 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java
@@ -30,7 +30,6 @@ import java.util.Map;
import java.io.IOException;
import java.io.InputStream;
-import org.apache.lucene.util.Version;
import org.xml.sax.InputSource;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java
index 9f4b05a..0c8fdc8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java
@@ -17,7 +17,6 @@
package org.apache.lucene.analysis.core;
-import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.nio.file.Path;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java
index ef239b1..897798b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java
@@ -44,10 +44,6 @@ package org.apache.lucene.analysis.en;
*/
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.FileInputStream;
-
import org.apache.lucene.util.ArrayUtil;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
index 36a9d5f..4014d82 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
@@ -30,7 +30,6 @@ import org.apache.lucene.analysis.core.StopFilter;
import org.apache.lucene.analysis.standard.StandardTokenizer;
import org.apache.lucene.analysis.util.CharArraySet;
import org.apache.lucene.analysis.util.StopwordAnalyzerBase;
-import org.apache.lucene.util.Version;
/**
* {@link Analyzer} for Persian.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java
index 4947ed9..9fffe23 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java
@@ -30,7 +30,6 @@ import org.apache.lucene.analysis.core.DecimalDigitFilter;
import org.apache.lucene.analysis.core.LowerCaseFilter;
import org.apache.lucene.analysis.core.StopFilter;
import org.apache.lucene.analysis.in.IndicNormalizationFilter;
-import org.apache.lucene.util.Version;
/**
* Analyzer for Hindi.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java
index a7e58bf..2f51a2b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java
@@ -23,8 +23,6 @@ import org.apache.lucene.analysis.util.CharArraySet;
import org.apache.lucene.analysis.util.ResourceLoader;
import org.apache.lucene.analysis.util.ResourceLoaderAware;
import org.apache.lucene.analysis.util.TokenFilterFactory;
-import org.apache.lucene.util.Version;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java
index 5356c9a..3d253b5 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java
@@ -19,7 +19,6 @@ package org.apache.lucene.analysis.ngram;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.util.AttributeFactory;
-import org.apache.lucene.util.Version;
/**
* Tokenizes the input from an edge into n-grams of given size(s).
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java
index e955067..e8b152d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java
@@ -31,7 +31,6 @@ import org.apache.lucene.analysis.standard.StandardTokenizer;
import org.apache.lucene.analysis.util.CharArrayMap;
import org.apache.lucene.analysis.util.CharArraySet;
import org.apache.lucene.analysis.util.WordlistLoader;
-import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.CharsRefBuilder;
import org.apache.lucene.util.IOUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java
index 5563c23..f5c203c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java
@@ -24,7 +24,6 @@ import org.apache.lucene.analysis.TokenFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
-import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.CharsRefBuilder;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
index 3ba7927..61475d2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
@@ -30,7 +30,6 @@ import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRefBuilder;
-import org.apache.lucene.util.UnicodeUtil;
/**
* An {@link Analyzer} used primarily at query time to wrap another analyzer and provide a layer of protection
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java
index 48365ff..7311459 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java
@@ -18,7 +18,6 @@
*/
package org.apache.lucene.analysis.standard;
-import java.io.Reader;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java
index ee0bf45..c7c5214 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.standard;
import org.apache.lucene.analysis.util.TokenizerFactory;
import org.apache.lucene.util.AttributeFactory;
-import java.io.Reader;
import java.util.Map;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java
index b9c5529..2488665 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.synonym;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
-import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CodingErrorAction;
import java.nio.charset.StandardCharsets;
@@ -39,7 +38,6 @@ import org.apache.lucene.analysis.util.ResourceLoader;
import org.apache.lucene.analysis.util.ResourceLoaderAware;
import org.apache.lucene.analysis.util.TokenFilterFactory;
import org.apache.lucene.analysis.util.TokenizerFactory;
-import org.apache.lucene.util.Version;
/**
* Factory for {@link SynonymFilter}.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java
index fea5b69..fc8703f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java
@@ -36,9 +36,7 @@ import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.BytesRefHash;
import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.CharsRefBuilder;
-import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
-import org.apache.lucene.util.UnicodeUtil;
import org.apache.lucene.util.fst.ByteSequenceOutputs;
import org.apache.lucene.util.fst.FST;
import org.apache.lucene.util.fst.Util;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java
index ba4010a..cd5ea3b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java
@@ -27,7 +27,6 @@ import org.apache.lucene.analysis.core.LowerCaseFilter;
import org.apache.lucene.analysis.core.StopFilter;
import org.apache.lucene.analysis.util.CharArraySet;
import org.apache.lucene.analysis.util.StopwordAnalyzerBase;
-import org.apache.lucene.util.Version;
/**
* {@link Analyzer} for Thai language. It uses {@link java.text.BreakIterator} to break words.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java
index 539b203..c9ed471 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java
@@ -30,7 +30,6 @@ import org.apache.lucene.analysis.standard.StandardFilter;
import org.apache.lucene.analysis.standard.StandardTokenizer;
import org.apache.lucene.analysis.util.CharArraySet;
import org.apache.lucene.analysis.util.StopwordAnalyzerBase;
-import org.apache.lucene.util.Version;
import org.tartarus.snowball.ext.TurkishStemmer;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java
index ead4e35..4b662e9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java
@@ -26,7 +26,6 @@ import org.apache.lucene.util.AttributeFactory;
import org.apache.lucene.util.AttributeSource;
import java.io.IOException;
-import java.io.Reader;
import java.util.*;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java
index 08501b9..f7b15f6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java
@@ -20,8 +20,6 @@ package org.apache.lucene.collation;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.core.KeywordTokenizer;
-import org.apache.lucene.util.Version;
-
import java.text.Collator;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
index 579943a..d60b5f2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
import org.apache.lucene.analysis.util.CharArraySet;
-import org.apache.lucene.util.Version;
/**
* Test the Arabic Analyzer
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
index 03d13e3..a040901 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
@@ -18,7 +18,6 @@ package org.apache.lucene.analysis.ar;
import java.io.IOException;
-import java.io.Reader;
import java.io.StringReader;
import org.apache.lucene.analysis.Analyzer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
index 4b19c94..2cd8e84 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.bg;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
index 6158b33..a05dd0b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
@@ -18,7 +18,6 @@ package org.apache.lucene.analysis.br;
import java.io.IOException;
-import java.io.Reader;
import java.io.StringReader;
import org.apache.lucene.analysis.Analyzer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
index 75b3e87..bb5eff3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.charfilter;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
index d4882a9..a7e1422 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.cjk;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
index 6231f3d..e8dd4cf 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
@@ -22,7 +22,6 @@ import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
import org.apache.lucene.analysis.util.CharArraySet;
-import org.apache.lucene.util.Version;
/**
* Test the Sorani analyzer
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
index 510b83c..61ef7b4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.ckb;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java
index 409adf7..1171574 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/CommonGramsFilterTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.lucene.analysis.commongrams;
-import java.io.Reader;
import java.io.StringReader;
import java.util.Arrays;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
index 7c826a9..776365e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
@@ -17,7 +17,6 @@
package org.apache.lucene.analysis.commongrams;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.core.TestStopFilter;
@@ -27,8 +26,6 @@ import org.apache.lucene.analysis.util.ClasspathResourceLoader;
import org.apache.lucene.analysis.util.ResourceLoader;
import org.apache.lucene.util.Version;
-import java.io.StringReader;
-
/**
* Tests pretty much copied from StopFilterFactoryTest We use the test files
* used by the StopFilterFactoryTest TODO: consider creating separate test files
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
index d45b1e3..eeff4d6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
@@ -32,7 +32,6 @@ import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.MultiFields;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
index 5c25471..bf02ccd 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
@@ -42,7 +42,6 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.IdentityHashMap;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import java.util.Random;
import java.util.Set;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
index 5bf6ed0..df71a95 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.de;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
index 7bf8661..c0c522f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
@@ -25,7 +25,6 @@ import org.apache.lucene.analysis.BaseTokenStreamTestCase;
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.analysis.Analyzer.TokenStreamComponents;
import org.apache.lucene.analysis.core.KeywordTokenizer;
import org.apache.lucene.analysis.core.LowerCaseFilter;
import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
index cedc9ab..d5c56fb 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.el;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
index 13830e9..4a4f25f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.el;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
index e3dc81d..6c248b2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.en;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
index 79fa7cf..a4ad23c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.en;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
index a7739b2..ccb2e76 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.en;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
index 70f0a4f..7ecaca1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.fa;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
import org.apache.lucene.analysis.util.CharArraySet;
-import org.apache.lucene.util.Version;
/**
* Test the Persian Analyzer
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
index 5bffb71..bb23571 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.fa;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
index 15a2b96..eaf3c3c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.fr;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
index 6cd399b..820b5d0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.fr;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
index 2014936..4a106ef 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.ga;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
index ddc60f0..a396130 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.gl;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
index e02fc5c..270151a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.gl;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
index 6fa1d7c..5b61686 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
@@ -19,7 +19,6 @@ package org.apache.lucene.analysis.hi;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
import org.apache.lucene.analysis.util.CharArraySet;
-import org.apache.lucene.util.Version;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
index 8caf700..7bf5f05 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
@@ -21,9 +21,7 @@ import java.io.Reader;
import java.io.StringReader;
import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.util.TokenizerFactory;
/**
* Simple tests to ensure the Hindi filter Factories are working.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
index 0462911..f4c0ba6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
@@ -18,12 +18,8 @@ package org.apache.lucene.analysis.hi;
import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenFilter;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.core.KeywordTokenizer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
index b595067..63f235b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.hu;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
index c72d033..8ee4c2f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
@@ -25,10 +25,8 @@ import java.nio.file.Path;
import java.util.List;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
/** Tests that > 64k affixes actually works and doesnt overflow some internal int */
public class Test64kAffixes extends LuceneTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
index e345e9d..c1a5e09 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
@@ -23,7 +23,6 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
[46/50] [abbrv] lucene-solr:apiv2: SOLR-8048: bin/solr script should
support basic auth credentials provided in solr.in.sh
Posted by no...@apache.org.
SOLR-8048: bin/solr script should support basic auth credentials provided in solr.in.sh
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/5ee4e8a6
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/5ee4e8a6
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/5ee4e8a6
Branch: refs/heads/apiv2
Commit: 5ee4e8a6141b6d9ac0016e82b6561bca9587faf0
Parents: 2e101c4
Author: Noble Paul <no...@apache.org>
Authored: Tue Jun 14 19:47:18 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Tue Jun 14 19:47:18 2016 +0530
----------------------------------------------------------------------
solr/core/src/java/org/apache/solr/util/SolrCLI.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5ee4e8a6/solr/core/src/java/org/apache/solr/util/SolrCLI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/SolrCLI.java b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
index 5e6908a..474d1fc 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
@@ -104,6 +104,7 @@ import org.noggit.ObjectBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.solr.common.params.CommonParams.NAME;
/**
* Command-line utility for working with Solr.
@@ -164,8 +165,8 @@ public class SolrCLI {
HttpClientUtil.addRequestInterceptor((httpRequest, httpContext) -> {
String pair = ss.get(0) + ":" + ss.get(1);
- byte[] encodedBytes = Base64.encodeBase64(pair.getBytes(StandardCharsets.UTF_8));
- httpRequest.addHeader(new BasicHeader("Authorization", "Basic "+ new String(encodedBytes)));
+ byte[] encodedBytes = Base64.encodeBase64(pair.getBytes(UTF_8));
+ httpRequest.addHeader(new BasicHeader("Authorization", "Basic "+ new String(encodedBytes, UTF_8)));
});
}
}
@@ -2344,7 +2345,7 @@ public class SolrCLI {
echo("\nWelcome to the SolrCloud example!\n");
- Scanner readInput = prompt ? new Scanner(userInput, StandardCharsets.UTF_8.name()) : null;
+ Scanner readInput = prompt ? new Scanner(userInput, UTF_8.name()) : null;
if (prompt) {
echo("This interactive session will help you launch a SolrCloud cluster on your local workstation.");
[48/50] [abbrv] lucene-solr:apiv2: Merge branch 'master' into apiv2
Posted by no...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/core/CoreContainer.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/core/PluginBag.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
----------------------------------------------------------------------
diff --cc solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
index 288c96c,063c3d4..529c695
--- a/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
@@@ -28,12 -25,14 +28,13 @@@ import java.util.Locale
import java.util.Map;
import java.util.Set;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
import org.apache.solr.cloud.ZkSolrResourceLoader;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.MapSolrParams;
-import org.apache.solr.common.params.SolrParams;
+ import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.common.util.StrUtils;
-import org.apache.solr.common.util.Utils;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestHandler;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
----------------------------------------------------------------------
diff --cc solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
index c0ca223,6d501a1..769db01
--- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
@@@ -33,9 -33,9 +33,10 @@@ import com.google.common.collect.Immuta
import com.google.common.collect.ImmutableSet;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
+import org.apache.solr.api.Api;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
+ import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
import org.apache.solr.client.solrj.request.CoreAdminRequest;
import org.apache.solr.client.solrj.request.CoreAdminRequest.RequestSyncShard;
import org.apache.solr.client.solrj.response.RequestStatusState;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
----------------------------------------------------------------------
diff --cc solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
index d969a0c46,49da174..b06bba1
--- a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
@@@ -45,9 -44,9 +45,11 @@@ import org.apache.solr.core.CoreDescrip
import org.apache.solr.handler.RequestHandlerBase;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
+ import org.apache.solr.security.AuthorizationContext;
+ import org.apache.solr.security.PermissionNameProvider;
import org.apache.solr.util.DefaultSolrThreadFactory;
+import org.apache.solr.api.Api;
+import org.apache.solr.api.ApiSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
@@@ -82,11 -82,10 +86,11 @@@ public class CoreAdminHandler extends R
// should happen in the constructor...
this.coreContainer = null;
HashMap<String, Map<String, TaskObject>> map = new HashMap<>(3, 1.0f);
- map.put(RUNNING, Collections.synchronizedMap(new LinkedHashMap<>()));
- map.put(COMPLETED, Collections.synchronizedMap(new LinkedHashMap<>()));
- map.put(FAILED, Collections.synchronizedMap(new LinkedHashMap<>()));
+ map.put(RUNNING, Collections.synchronizedMap(new LinkedHashMap<String, TaskObject>()));
+ map.put(COMPLETED, Collections.synchronizedMap(new LinkedHashMap<String, TaskObject>()));
+ map.put(FAILED, Collections.synchronizedMap(new LinkedHashMap<String, TaskObject>()));
requestStatusMap = Collections.unmodifiableMap(map);
+ coreAdminHandlerApi = new CoreAdminHandlerApi(this);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/schema/SchemaManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java
----------------------------------------------------------------------
diff --cc solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java
index 330a3b9,ed5a05c..1b4ec13
--- a/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java
@@@ -24,17 -24,10 +24,17 @@@ import java.util.HashMap
import java.util.HashSet;
import java.util.List;
import java.util.Map;
- import java.util.Objects;
import java.util.Set;
+ import java.util.function.Function;
+import com.google.common.collect.ImmutableSet;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.params.CollectionParams;
+import org.apache.solr.common.util.Map2;
+import org.apache.solr.common.util.Utils;
import org.apache.solr.util.CommandOperation;
+import org.apache.solr.api.ApiBag;
+import org.apache.solr.api.SpecProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java
----------------------------------------------------------------------
diff --cc solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java
index 12a6c41,9d7e7d9..9f613d9
--- a/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java
+++ b/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java
@@@ -42,9 -42,8 +43,10 @@@ import java.util.Map
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
+ import org.apache.commons.io.input.CloseShieldInputStream;
import org.apache.lucene.util.IOUtils;
+import org.apache.solr.api.ApiBag;
+import org.apache.solr.api.V2HttpCall;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.params.CommonParams;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/java/org/apache/solr/util/CommandOperation.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/resources/ImplicitPlugins.json
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/test/org/apache/solr/core/TestDynamicLoading.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/core/src/test/org/apache/solr/security/TestRuleBasedAuthorizationPlugin.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/solrj/src/java/org/apache/solr/common/cloud/Replica.java
----------------------------------------------------------------------
diff --cc solr/solrj/src/java/org/apache/solr/common/cloud/Replica.java
index 19beed5,b47cf00..4968cf2
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/Replica.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/Replica.java
@@@ -105,10 -108,11 +108,14 @@@ public class Replica extends ZkNodeProp
public String getCoreUrl() {
return ZkCoreNodeProps.getCoreUrl(getStr(BASE_URL_PROP), getStr(CORE_NAME_PROP));
}
+ public String getBaseUrl(){
+ return getStr(ZkStateReader.BASE_URL_PROP);
+ }
+ public String getCoreName() {
+ return getStr(CORE_NAME_PROP);
+ }
+
/** The name of the node this replica resides on */
public String getNodeName() {
return nodeName;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/solrj/src/java/org/apache/solr/common/util/StrUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/solrj/src/java/org/apache/solr/common/util/Utils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b48f4d69/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
----------------------------------------------------------------------
[16/50] [abbrv] lucene-solr:apiv2: SOLR-9187: Support dates and
booleans in /export handler, support boolean DocValues fields
Posted by no...@apache.org.
SOLR-9187: Support dates and booleans in /export handler, support boolean DocValues fields
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/79d1b8c2
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/79d1b8c2
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/79d1b8c2
Branch: refs/heads/apiv2
Commit: 79d1b8c22768b6c902a4e880698733277796820c
Parents: 32c8dfa
Author: Erick Erickson <er...@apache.org>
Authored: Sat Jun 11 10:25:07 2016 -0700
Committer: Erick Erickson <er...@apache.org>
Committed: Sat Jun 11 17:33:25 2016 -0700
----------------------------------------------------------------------
.../apache/solr/schema/BooleanFieldTest.java | 78 ++++++++++++++++++++
1 file changed, 78 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/79d1b8c2/solr/core/src/test/org/apache/solr/schema/BooleanFieldTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/BooleanFieldTest.java b/solr/core/src/test/org/apache/solr/schema/BooleanFieldTest.java
new file mode 100644
index 0000000..8f13204
--- /dev/null
+++ b/solr/core/src/test/org/apache/solr/schema/BooleanFieldTest.java
@@ -0,0 +1,78 @@
+package org.apache.solr.schema;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.solr.SolrTestCaseJ4;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class BooleanFieldTest extends SolrTestCaseJ4 {
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig-basic.xml", "schema15.xml");
+ }
+
+ // Note, docValues-based boolean tests are tested elsewhere refering to more appropriate schemas
+ @Test
+ public void testBoolField() {
+
+ // found an odd case when adding booleans to docValues and noticed that we didn't have any boolean
+ // specific tests. Only caught the odd case by accident so let's have a place for explicit tests
+ assertU(adoc("id", "0")); // missing
+ assertU(adoc("id", "1", "bind", "true", "bsto", "true", "bindsto", "true", "bindstom", "true", "bindstom", "false"));
+ assertU(adoc("id", "2", "bind", "false", "bsto", "false", "bindsto", "false", "bindstom", "false", "bindstom", "true"));
+ assertU(adoc("id", "3", "bind", "false"));
+ assertU(adoc("id", "4", "bsto", "false"));
+ assertU(adoc("id", "5", "bindsto", "true"));
+ assertU(adoc("id", "6", "bindstom", "true"));
+ assertU(commit());
+
+ assertQ(req("q", "*:*", "sort", "id asc", "fl", "id,bind,bsto,bindsto,bindstom")
+ ,"count(//result/doc[1]/bool[@name='bind'])=0"
+ ,"count(//result/doc[1]/bool[@name='bsto'])=0"
+ ,"count(//result/doc[1]/bool[@name='bindsto'])=0"
+ ,"count(//result/doc[2]/bool[@name='bind'])=0"
+ ,"count(//result/doc[3]/bool[@name='bind'])=0"
+ ,"//result/doc[2]/bool[@name='bsto'][.='true']"
+ ,"//result/doc[2]/bool[@name='bindsto'][.='true']"
+ ,"//result/doc[3]/bool[@name='bsto'][.='false']"
+ ,"//result/doc[3]/bool[@name='bindsto'][.='false']"
+ ,"//result/doc[2]/arr[@name='bindstom']/bool[1][.='true']"
+ ,"//result/doc[2]/arr[@name='bindstom']/bool[2][.='false']"
+ ,"//result/doc[3]/arr[@name='bindstom']/bool[1][.='false']"
+ ,"//result/doc[3]/arr[@name='bindstom']/bool[2][.='true']"
+
+ );
+
+ // Make sure faceting is behaving.
+ assertQ(req("q", "*:*", "facet", "true",
+ "facet.field", "bind",
+ "facet.field", "bsto",
+ "facet.field", "bindsto",
+ "facet.field", "bindstom"),
+ "//lst[@name='bind']/int[@name='false'][.='2']",
+ "//lst[@name='bind']/int[@name='true'][.='1']",
+ "//lst[@name='bsto'][not(node())]",
+ "//lst[@name='bsto'][not(node())]",
+ "//lst[@name='bindsto']/int[@name='false'][.='1']",
+ "//lst[@name='bindsto']/int[@name='true'][.='2']",
+ "//lst[@name='bindstom']/int[@name='false'][.='2']",
+ "//lst[@name='bindstom']/int[@name='true'][.='3']");
+ }
+
+}
[37/50] [abbrv] lucene-solr:apiv2: SOLR-9204: Improve performance of
getting directory size with hdfs.
Posted by no...@apache.org.
SOLR-9204: Improve performance of getting directory size with hdfs.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/08c14f13
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/08c14f13
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/08c14f13
Branch: refs/heads/apiv2
Commit: 08c14f135639beddc0c33c0c087962f8b5f88f33
Parents: 7291419
Author: markrmiller <ma...@apache.org>
Authored: Mon Jun 13 12:22:50 2016 -0400
Committer: markrmiller <ma...@apache.org>
Committed: Mon Jun 13 12:22:50 2016 -0400
----------------------------------------------------------------------
solr/CHANGES.txt | 2 ++
.../solr/core/CachingDirectoryFactory.java | 6 +++-
.../org/apache/solr/core/DirectoryFactory.java | 25 +++++++++++++++
.../apache/solr/core/HdfsDirectoryFactory.java | 33 ++++++++++++++++++++
.../apache/solr/handler/ReplicationHandler.java | 2 +-
.../solr/handler/admin/CoreAdminOperation.java | 2 +-
.../HdfsWriteToMultipleCollectionsTest.java | 19 +++++++++++
7 files changed, 86 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/08c14f13/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index c886fd0..82b8760 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -254,6 +254,8 @@ Optimizations
* SOLR-8744: Overseer operations performed with fine grained mutual exclusion (noble, Scott Blum)
+* SOLR-9204: Improve performance of getting directory size with hdfs. (Mark Miller)
+
Other Changes
----------------------
* SOLR-8860: Remove back-compat handling of router format made in SOLR-4221 in 4.5.0. (shalin)
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/08c14f13/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
index 11cf479..5b7ad1b 100644
--- a/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
@@ -497,7 +497,7 @@ public abstract class CachingDirectoryFactory extends DirectoryFactory {
}
return livePaths;
}
-
+
@Override
protected boolean deleteOldIndexDirectory(String oldDirPath) throws IOException {
Set<String> livePaths = getLivePaths();
@@ -508,4 +508,8 @@ public abstract class CachingDirectoryFactory extends DirectoryFactory {
return super.deleteOldIndexDirectory(oldDirPath);
}
+
+ protected synchronized String getPath(Directory directory) {
+ return byDirectoryCache.get(directory).path;
+ }
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/08c14f13/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
index 8cc9e7d..f953913 100644
--- a/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
@@ -146,6 +146,31 @@ public abstract class DirectoryFactory implements NamedListInitializedPlugin,
public abstract void remove(String path) throws IOException;
/**
+ * @param directory to calculate size of
+ * @return size in bytes
+ * @throws IOException on low level IO error
+ */
+ public long size(Directory directory) throws IOException {
+ return sizeOfDirectory(directory);
+ }
+
+ /**
+ * @param path to calculate size of
+ * @return size in bytes
+ * @throws IOException on low level IO error
+ */
+ public long size(String path) throws IOException {
+ Directory dir = get(path, DirContext.DEFAULT, null);
+ long size;
+ try {
+ size = sizeOfDirectory(dir);
+ } finally {
+ release(dir);
+ }
+ return size;
+ }
+
+ /**
* Override for more efficient moves.
*
* Intended for use with replication - use
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/08c14f13/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
index 25f094e..ada4af3 100644
--- a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
@@ -31,6 +31,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.FsStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathFilter;
import org.apache.hadoop.security.UserGroupInformation;
@@ -410,6 +411,38 @@ public class HdfsDirectoryFactory extends CachingDirectoryFactory implements Sol
+ cd.getDataDir()));
}
+ /**
+ * @param directory to calculate size of
+ * @return size in bytes
+ * @throws IOException on low level IO error
+ */
+ @Override
+ public long size(Directory directory) throws IOException {
+ String hdfsDirPath = getPath(directory);
+ return size(hdfsDirPath);
+ }
+
+ /**
+ * @param path to calculate size of
+ * @return size in bytes
+ * @throws IOException on low level IO error
+ */
+ @Override
+ public long size(String path) throws IOException {
+ Path hdfsDirPath = new Path(path);
+ FileSystem fileSystem = null;
+ try {
+ fileSystem = FileSystem.newInstance(hdfsDirPath.toUri(), getConf());
+ long size = fileSystem.getContentSummary(hdfsDirPath).getLength();
+ return size;
+ } catch (IOException e) {
+ LOG.error("Error checking if hdfs path exists", e);
+ throw new SolrException(ErrorCode.SERVER_ERROR, "Error checking if hdfs path exists", e);
+ } finally {
+ IOUtils.closeQuietly(fileSystem);
+ }
+ }
+
public String getConfDir() {
return confDir;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/08c14f13/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
index 3785db7..14898d7 100644
--- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
@@ -761,7 +761,7 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
try {
dir = core.getDirectoryFactory().get(core.getIndexDir(), DirContext.DEFAULT, core.getSolrConfig().indexConfig.lockType);
try {
- size = DirectoryFactory.sizeOfDirectory(dir);
+ size = core.getDirectoryFactory().size(dir);
} finally {
core.getDirectoryFactory().release(dir);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/08c14f13/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminOperation.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminOperation.java b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminOperation.java
index 51e776d..3fdf3ef 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminOperation.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminOperation.java
@@ -988,7 +988,7 @@ enum CoreAdminOperation {
dir = core.getDirectoryFactory().get(core.getIndexDir(), DirectoryFactory.DirContext.DEFAULT, core.getSolrConfig().indexConfig.lockType);
try {
- size = DirectoryFactory.sizeOfDirectory(dir);
+ size = core.getDirectoryFactory().size(dir);
} finally {
core.getDirectoryFactory().release(dir);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/08c14f13/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsWriteToMultipleCollectionsTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsWriteToMultipleCollectionsTest.java b/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsWriteToMultipleCollectionsTest.java
index ddf6e51..043cdec 100644
--- a/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsWriteToMultipleCollectionsTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsWriteToMultipleCollectionsTest.java
@@ -22,8 +22,13 @@ import java.util.Collection;
import java.util.List;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.store.Directory;
import org.apache.lucene.store.NRTCachingDirectory;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase.Nightly;
@@ -130,6 +135,20 @@ public class HdfsWriteToMultipleCollectionsTest extends BasicDistributedZkTest {
if (core.getCoreDescriptor().getCloudDescriptor().getCollectionName()
.startsWith(ACOLLECTION)) {
assertTrue(core.getDirectoryFactory() instanceof HdfsDirectoryFactory);
+ Directory dir = core.getDirectoryFactory().get(core.getDataDir(), null, null);
+ try {
+ long dataDirSize = core.getDirectoryFactory().size(dir);
+ FileSystem fileSystem = null;
+
+ fileSystem = FileSystem.newInstance(
+ new Path(core.getDataDir()).toUri(), new Configuration());
+ long size = fileSystem.getContentSummary(
+ new Path(core.getDataDir())).getLength();
+ assertEquals(size, dataDirSize);
+ } finally {
+ core.getDirectoryFactory().release(dir);
+ }
+
RefCounted<IndexWriter> iwRef = core.getUpdateHandler()
.getSolrCoreState().getIndexWriter(core);
try {
[25/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: remove unused imports
Posted by no...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
index 6bd7952..cced17e 100644
--- a/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
@@ -33,7 +33,6 @@ import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.LocalSolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/mlt/MLTQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/mlt/MLTQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/mlt/MLTQParserPlugin.java
index 708ae61..3c1a0c1 100644
--- a/solr/core/src/java/org/apache/solr/search/mlt/MLTQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/mlt/MLTQParserPlugin.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.search.mlt;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.QParser;
import org.apache.solr.search.QParserPlugin;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/similarities/SweetSpotSimilarityFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/similarities/SweetSpotSimilarityFactory.java b/solr/core/src/java/org/apache/solr/search/similarities/SweetSpotSimilarityFactory.java
index 6452d91..e91bf06 100644
--- a/solr/core/src/java/org/apache/solr/search/similarities/SweetSpotSimilarityFactory.java
+++ b/solr/core/src/java/org/apache/solr/search/similarities/SweetSpotSimilarityFactory.java
@@ -20,7 +20,6 @@ import org.apache.lucene.misc.SweetSpotSimilarity;
import org.apache.lucene.search.similarities.ClassicSimilarity; // jdoc
import org.apache.lucene.search.similarities.Similarity;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.schema.SimilarityFactory;
import org.apache.solr.common.SolrException;
import static org.apache.solr.common.SolrException.ErrorCode.*;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/stats/LRUStatsCache.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/stats/LRUStatsCache.java b/solr/core/src/java/org/apache/solr/search/stats/LRUStatsCache.java
index 2c7abbd..ffcc99d 100644
--- a/solr/core/src/java/org/apache/solr/search/stats/LRUStatsCache.java
+++ b/solr/core/src/java/org/apache/solr/search/stats/LRUStatsCache.java
@@ -19,7 +19,6 @@ package org.apache.solr.search.stats;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
@@ -28,12 +27,8 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermContext;
import org.apache.lucene.search.CollectionStatistics;
import org.apache.lucene.search.TermStatistics;
-import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.params.ShardParams;
import org.apache.solr.core.PluginInfo;
import org.apache.solr.handler.component.ResponseBuilder;
-import org.apache.solr.handler.component.ShardRequest;
-import org.apache.solr.handler.component.ShardResponse;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.FastLRUCache;
import org.apache.solr.search.SolrCache;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java b/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java
index 8f0fa57..65363a7 100644
--- a/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java
+++ b/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java
@@ -21,7 +21,6 @@ import java.util.Enumeration;
import java.util.List;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.request.SolrRequestHandler;
/**
* Request context for Solr to be used by Authorization plugin.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/security/AutorizationEditOperation.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/security/AutorizationEditOperation.java b/solr/core/src/java/org/apache/solr/security/AutorizationEditOperation.java
index 9deae6d..f60b6dd 100644
--- a/solr/core/src/java/org/apache/solr/security/AutorizationEditOperation.java
+++ b/solr/core/src/java/org/apache/solr/security/AutorizationEditOperation.java
@@ -5,12 +5,10 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.function.Predicate;
import java.util.stream.Collectors;
import org.apache.solr.util.CommandOperation;
-import static org.apache.solr.common.params.CommonParams.NAME;
import static org.apache.solr.common.util.Utils.getDeepCopy;
import static org.apache.solr.handler.admin.SecurityConfHandler.getListValue;
import static org.apache.solr.handler.admin.SecurityConfHandler.getMapValue;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java b/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java
index 2ef7fb8..7a83ab5 100644
--- a/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java
@@ -43,7 +43,6 @@ import javax.servlet.SessionTrackingMode;
import javax.servlet.descriptor.JspConfigDescriptor;
import org.apache.commons.collections.iterators.IteratorEnumeration;
-import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder;
import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder;
import org.apache.solr.common.SolrException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java b/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java
index 9f6d4b8..ed5a05c 100644
--- a/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java
@@ -24,7 +24,6 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
import java.util.Set;
import java.util.function.Function;
@@ -33,7 +32,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static java.util.Arrays.asList;
-import static java.util.Collections.emptyIterator;
import static java.util.Collections.unmodifiableMap;
import static java.util.function.Function.identity;
import static java.util.stream.Collectors.toMap;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/servlet/DirectSolrConnection.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/servlet/DirectSolrConnection.java b/solr/core/src/java/org/apache/solr/servlet/DirectSolrConnection.java
index d72c4af..2d3d683 100644
--- a/solr/core/src/java/org/apache/solr/servlet/DirectSolrConnection.java
+++ b/solr/core/src/java/org/apache/solr/servlet/DirectSolrConnection.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.servlet;
-import java.io.File;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
@@ -28,17 +27,12 @@ import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.ContentStreamBase;
-import org.apache.solr.core.CoreContainer;
-import org.apache.solr.core.CoreDescriptor;
-import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestHandler;
import org.apache.solr.request.SolrRequestInfo;
import org.apache.solr.response.QueryResponseWriter;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.schema.IndexSchema;
/**
* DirectSolrConnection provides an interface to Solr that is similar to
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
index 57a4d7b..bc5edd5 100644
--- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
+++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.servlet;
-import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -35,13 +34,10 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import java.util.Random;
import java.util.Set;
-import com.google.common.collect.ImmutableSet;
-
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.CloseShieldInputStream;
import org.apache.commons.io.output.CloseShieldOutputStream;
@@ -91,7 +87,6 @@ import org.apache.solr.request.SolrRequestInfo;
import org.apache.solr.response.QueryResponseWriter;
import org.apache.solr.response.QueryResponseWriterUtil;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.schema.IndexSchema;
import org.apache.solr.security.AuthenticationPlugin;
import org.apache.solr.security.AuthorizationContext;
import org.apache.solr.security.AuthorizationContext.CollectionRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java b/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java
index 222ab92..41824a9 100644
--- a/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java
+++ b/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java
@@ -19,8 +19,6 @@ package org.apache.solr.servlet.cache;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Collections;
-import java.util.Map;
-import java.util.WeakHashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java b/solr/core/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java
index 3d7392a..22da107 100644
--- a/solr/core/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java
+++ b/solr/core/src/java/org/apache/solr/spelling/AbstractLuceneSpellChecker.java
@@ -24,13 +24,11 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
-import org.apache.lucene.search.spell.SuggestMode;
import org.apache.lucene.search.spell.SuggestWord;
import org.apache.lucene.search.spell.SuggestWordFrequencyComparator;
import org.apache.lucene.search.spell.SuggestWordQueue;
import org.apache.lucene.analysis.Token;
-import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.spell.Dictionary;
@@ -40,12 +38,8 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FilterDirectory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.RAMDirectory;
-import org.apache.solr.common.params.ShardParams;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.params.SpellingParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.schema.FieldType;
import org.apache.solr.search.SolrIndexSearcher;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/spelling/DirectSolrSpellChecker.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/spelling/DirectSolrSpellChecker.java b/solr/core/src/java/org/apache/solr/spelling/DirectSolrSpellChecker.java
index c38b266..bbde74a 100644
--- a/solr/core/src/java/org/apache/solr/spelling/DirectSolrSpellChecker.java
+++ b/solr/core/src/java/org/apache/solr/spelling/DirectSolrSpellChecker.java
@@ -23,20 +23,14 @@ import java.util.Comparator;
import java.util.List;
import org.apache.lucene.analysis.Token;
-import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.spell.DirectSpellChecker;
import org.apache.lucene.search.spell.StringDistance;
-import org.apache.lucene.search.spell.SuggestMode;
import org.apache.lucene.search.spell.SuggestWord;
import org.apache.lucene.search.spell.SuggestWordFrequencyComparator;
import org.apache.lucene.search.spell.SuggestWordQueue;
-import org.apache.solr.common.params.ShardParams;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.params.SpellingParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.schema.FieldType;
import org.apache.solr.search.SolrIndexSearcher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java b/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java
index 88325ff..8b3fbcb 100644
--- a/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java
+++ b/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java
@@ -17,7 +17,6 @@
package org.apache.solr.store.blockcache;
import java.nio.ByteBuffer;
-import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicInteger;
import com.github.benmanes.caffeine.cache.Cache;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/store/blockcache/Metrics.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/store/blockcache/Metrics.java b/solr/core/src/java/org/apache/solr/store/blockcache/Metrics.java
index 75dc4ea..cfab89e 100644
--- a/solr/core/src/java/org/apache/solr/store/blockcache/Metrics.java
+++ b/solr/core/src/java/org/apache/solr/store/blockcache/Metrics.java
@@ -24,7 +24,6 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
-import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrInfoMBean;
import org.apache.solr.search.SolrCacheBase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java b/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
index 778e4c6..330e767 100644
--- a/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
+++ b/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
@@ -31,7 +31,6 @@ import org.apache.lucene.search.Scorer;
import org.apache.lucene.search.Weight;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.uninverting.UninvertingReader;
-import org.apache.solr.uninverting.UninvertingReader;
/**
* Allows access to uninverted docvalues by delete-by-queries.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/DeleteUpdateCommand.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/DeleteUpdateCommand.java b/solr/core/src/java/org/apache/solr/update/DeleteUpdateCommand.java
index bf41ab3..1c3c4f2 100644
--- a/solr/core/src/java/org/apache/solr/update/DeleteUpdateCommand.java
+++ b/solr/core/src/java/org/apache/solr/update/DeleteUpdateCommand.java
@@ -18,9 +18,7 @@ package org.apache.solr.update;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.CharsRefBuilder;
-import org.apache.solr.common.SolrInputField;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/AbstractDefaultValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/AbstractDefaultValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/AbstractDefaultValueUpdateProcessorFactory.java
index 51989e3..8a41160 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/AbstractDefaultValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/AbstractDefaultValueUpdateProcessorFactory.java
@@ -22,8 +22,6 @@ import org.apache.solr.common.SolrException;
import static org.apache.solr.common.SolrException.ErrorCode.*;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.update.AddUpdateCommand;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java
index 26655d8..92aea48 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java
@@ -16,20 +16,10 @@
*/
package org.apache.solr.update.processor;
-import org.apache.solr.core.SolrCore;
-import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.schema.FieldType;
-import org.apache.solr.schema.SchemaField;
-import org.apache.solr.schema.TextField;
-import org.apache.solr.schema.StrField;
-
import org.apache.solr.common.SolrInputField;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.commons.lang.StringUtils;
-
/**
* <p>
* Replaces any list of values for a field matching the specified
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/DefaultValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DefaultValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/DefaultValueUpdateProcessorFactory.java
index 225bf1c..281ec9b 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DefaultValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DefaultValueUpdateProcessorFactory.java
@@ -16,15 +16,11 @@
*/
package org.apache.solr.update.processor;
-import java.io.IOException;
-
import org.apache.solr.common.SolrException;
import static org.apache.solr.common.SolrException.ErrorCode.*;
-import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.update.AddUpdateCommand;
/**
* <p>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/DistributingUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributingUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/DistributingUpdateProcessorFactory.java
index 1a2c8e0..8bbc088 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DistributingUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DistributingUpdateProcessorFactory.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.update.processor;
-import org.apache.solr.common.SolrException;
-
/**
* A marker interface for denoting that a factory is responsible for handling
* distributed communication of updates across a SolrCloud cluster.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
index 26fe2d7..ba4cd8a 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
@@ -17,7 +17,6 @@
package org.apache.solr.update.processor;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java
index d468412..9a25308 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.update.processor;
-import org.apache.solr.core.SolrCore;
-
import org.apache.solr.common.SolrInputField;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java
index fef1f6a..f2cf0b8 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java
@@ -20,7 +20,6 @@ import org.apache.solr.core.SolrCore;
import java.util.Collections;
import java.util.Collection;
-import java.util.Iterator;
/**
* Keeps only the first value of fields matching the specified
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java
index 371f4f2..576a9ef 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java
@@ -22,7 +22,6 @@ import java.util.Collections;
import java.util.Collection;
import java.util.List;
import java.util.SortedSet;
-import java.util.Iterator;
/**
* Keeps only the last value of fields matching the specified
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/MD5Signature.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/MD5Signature.java b/solr/core/src/java/org/apache/solr/update/processor/MD5Signature.java
index 78baf10..7146fb7 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/MD5Signature.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/MD5Signature.java
@@ -15,7 +15,6 @@
* limitations under the License.
*/
package org.apache.solr.update.processor;
-import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java
index 7315fd2..5b7d8c8 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java
@@ -24,7 +24,6 @@ import org.apache.solr.core.SolrCore;
import java.util.Collections;
import java.util.Collection;
-import java.util.Iterator;
/**
* An update processor that keeps only the the maximum value from any selected
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java
index 380e4e2..9499e3b 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java
@@ -24,7 +24,6 @@ import org.apache.solr.core.SolrCore;
import java.util.Collections;
import java.util.Collection;
-import java.util.Iterator;
/**
* An update processor that keeps only the the minimum value from any selected
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/NoOpDistributingUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/NoOpDistributingUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/NoOpDistributingUpdateProcessorFactory.java
index b2e8ba8..b68b58b 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/NoOpDistributingUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/NoOpDistributingUpdateProcessorFactory.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.update.processor;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java
index a0aba58..c111917 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java
@@ -32,11 +32,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.invoke.MethodHandles;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.LinkedHashMap;
-import java.util.List;
import java.util.Locale;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessor.java
index 8e5a8ca..3f41a94 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/RegexpBoostProcessor.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.invoke.MethodHandles;
-import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/RunUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/RunUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/RunUpdateProcessorFactory.java
index c301b17..6f59abc 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/RunUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/RunUpdateProcessorFactory.java
@@ -18,7 +18,6 @@ package org.apache.solr.update.processor;
import java.io.IOException;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.update.*;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/TimestampUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/TimestampUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/TimestampUpdateProcessorFactory.java
index 792ee20..2970d53 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/TimestampUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/TimestampUpdateProcessorFactory.java
@@ -16,18 +16,11 @@
*/
package org.apache.solr.update.processor;
-import java.io.IOException;
import java.util.Date;
-import org.apache.solr.common.SolrException;
-import static org.apache.solr.common.SolrException.ErrorCode.*;
-import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrRequestInfo;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.update.AddUpdateCommand;
-
import org.apache.solr.common.params.CommonParams; // javadoc
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessor.java
index bf629cc..9c1a565 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessor.java
@@ -20,7 +20,6 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
-import java.util.Locale;
import java.util.Set;
import java.lang.invoke.MethodHandles;
@@ -31,12 +30,7 @@ import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.ToleratedUpdateError;
import org.apache.solr.common.ToleratedUpdateError.CmdType;
-import org.apache.solr.common.cloud.DocCollection;
-import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.params.ShardParams;
-import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.schema.SchemaField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessorFactory.java
index 8cd3500..b642d89 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/TolerantUpdateProcessorFactory.java
@@ -22,7 +22,6 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.schema.SchemaField;
import org.apache.solr.update.processor.DistributedUpdateProcessor.DistribPhase;
import org.apache.solr.util.plugin.SolrCoreAware;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java
index 67cead5..5238288 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java
@@ -16,22 +16,13 @@
*/
package org.apache.solr.update.processor;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.Map;
-
import org.apache.solr.core.SolrCore;
-import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.update.AddUpdateCommand;
-
/**
* Removes duplicate values found in fields matching the specified conditions.
* The existing field values are iterated in order, and values are removed when
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java b/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java
index 6c5567f..5efcb95 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java
@@ -30,7 +30,6 @@ import org.apache.solr.core.SolrCore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/util/CommandOperation.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/CommandOperation.java b/solr/core/src/java/org/apache/solr/util/CommandOperation.java
index b1fda00..6b8f14f 100644
--- a/solr/core/src/java/org/apache/solr/util/CommandOperation.java
+++ b/solr/core/src/java/org/apache/solr/util/CommandOperation.java
@@ -18,8 +18,6 @@ package org.apache.solr.util;
import java.io.IOException;
import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Collections;
@@ -27,7 +25,6 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import org.apache.commons.io.input.CharSequenceReader;
import org.apache.lucene.util.IOUtils;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.ContentStream;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/util/PivotListEntry.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/PivotListEntry.java b/solr/core/src/java/org/apache/solr/util/PivotListEntry.java
index f81e039..58684aa 100644
--- a/solr/core/src/java/org/apache/solr/util/PivotListEntry.java
+++ b/solr/core/src/java/org/apache/solr/util/PivotListEntry.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.util;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.util.NamedList;
import java.util.Locale;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/util/SolrCLI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/SolrCLI.java b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
index 9bc986b..3916e4a 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
@@ -88,7 +88,6 @@ import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.cloud.ClusterState;
-import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkCoreNodeProps;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java b/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java
index b30cc06..ecd48eb 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java
@@ -49,7 +49,6 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.common.util.StrUtils;
-import org.apache.solr.core.PluginInfo;
import org.apache.solr.core.RequestParams;
import org.apache.solr.handler.component.HighlightComponent;
import org.apache.solr.handler.component.ResponseBuilder;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/util/xslt/TransformerProvider.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/xslt/TransformerProvider.java b/solr/core/src/java/org/apache/solr/util/xslt/TransformerProvider.java
index d09610c..76b7285 100644
--- a/solr/core/src/java/org/apache/solr/util/xslt/TransformerProvider.java
+++ b/solr/core/src/java/org/apache/solr/util/xslt/TransformerProvider.java
@@ -17,7 +17,6 @@
package org.apache.solr.util.xslt;
import java.io.IOException;
-import java.io.InputStream;
import java.lang.invoke.MethodHandles;
import java.util.concurrent.TimeUnit;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/DistributedIntervalFacetingTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/DistributedIntervalFacetingTest.java b/solr/core/src/test/org/apache/solr/DistributedIntervalFacetingTest.java
index 8c0682b..d1cbed3 100644
--- a/solr/core/src/test/org/apache/solr/DistributedIntervalFacetingTest.java
+++ b/solr/core/src/test/org/apache/solr/DistributedIntervalFacetingTest.java
@@ -17,7 +17,6 @@
package org.apache.solr;
import java.util.Arrays;
-import java.util.Comparator;
import java.util.List;
import org.apache.lucene.util.LuceneTestCase.Slow;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java b/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java
index 057ba50..bfe2316 100644
--- a/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java
+++ b/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java
@@ -20,7 +20,6 @@ import org.apache.solr.core.SolrInfoMBean;
import org.apache.solr.handler.StandardRequestHandler;
import org.apache.solr.handler.admin.LukeRequestHandler;
import org.apache.solr.handler.component.SearchComponent;
-import org.apache.solr.handler.component.SearchHandler;
import org.apache.solr.highlight.DefaultSolrHighlighter;
import org.apache.solr.search.LRUCache;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/TestSimpleTrackingShardHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/TestSimpleTrackingShardHandler.java b/solr/core/src/test/org/apache/solr/TestSimpleTrackingShardHandler.java
index 059ec6a..127b1bb 100644
--- a/solr/core/src/test/org/apache/solr/TestSimpleTrackingShardHandler.java
+++ b/solr/core/src/test/org/apache/solr/TestSimpleTrackingShardHandler.java
@@ -17,7 +17,6 @@
package org.apache.solr;
import org.apache.solr.client.solrj.response.QueryResponse;
-import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.handler.component.TrackingShardHandlerFactory;
import org.apache.solr.handler.component.TrackingShardHandlerFactory.ShardRequestAndParams;
import org.apache.solr.handler.component.TrackingShardHandlerFactory.RequestTrackingQueue;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/analysis/PathHierarchyTokenizerFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/analysis/PathHierarchyTokenizerFactoryTest.java b/solr/core/src/test/org/apache/solr/analysis/PathHierarchyTokenizerFactoryTest.java
index 1a8cef5..d079166 100644
--- a/solr/core/src/test/org/apache/solr/analysis/PathHierarchyTokenizerFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/analysis/PathHierarchyTokenizerFactoryTest.java
@@ -16,9 +16,6 @@
*/
package org.apache.solr.analysis;
-import java.util.HashMap;
-import java.util.Map;
-
import org.apache.solr.SolrTestCaseJ4;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java b/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
index fa3f861..18172e9 100644
--- a/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
@@ -32,8 +32,6 @@ import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.CollectionParams.CollectionAction;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/BaseCdcrDistributedZkTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/BaseCdcrDistributedZkTest.java b/solr/core/src/test/org/apache/solr/cloud/BaseCdcrDistributedZkTest.java
index e262d25..c53532f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/BaseCdcrDistributedZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/BaseCdcrDistributedZkTest.java
@@ -29,7 +29,6 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import org.apache.http.params.CoreConnectionPNames;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrRequest;
@@ -49,7 +48,6 @@ import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionParams;
import org.apache.solr.common.params.CommonParams;
-import org.apache.solr.common.params.CoreAdminParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.StrUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/ClusterStateTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/ClusterStateTest.java b/solr/core/src/test/org/apache/solr/cloud/ClusterStateTest.java
index 875a7f8..704c877 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ClusterStateTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ClusterStateTest.java
@@ -33,7 +33,6 @@ import org.easymock.EasyMock;
import org.junit.Test;
import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.createStrictMock;
public class ClusterStateTest extends SolrTestCaseJ4 {
@Test
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/ConcurrentDeleteAndCreateCollectionTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/ConcurrentDeleteAndCreateCollectionTest.java b/solr/core/src/test/org/apache/solr/cloud/ConcurrentDeleteAndCreateCollectionTest.java
index c8e30eb..e9ec533 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ConcurrentDeleteAndCreateCollectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ConcurrentDeleteAndCreateCollectionTest.java
@@ -25,7 +25,6 @@ import org.apache.lucene.util.LuceneTestCase.Nightly;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
import org.apache.solr.util.TimeOut;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java b/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java
index 7eec2c0..17d4c54 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java
@@ -19,16 +19,11 @@ package org.apache.solr.cloud;
import java.io.IOException;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.cloud.ConnectionManager;
import org.apache.solr.common.cloud.DefaultConnectionStrategy;
-import org.apache.solr.common.cloud.OnReconnect;
import org.apache.solr.common.cloud.SolrZkClient;
-import org.apache.solr.common.cloud.ZkClientConnectionStrategy;
-import org.apache.solr.common.cloud.ZkClientConnectionStrategy.ZkUpdate;
import org.apache.solr.util.DefaultSolrThreadFactory;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
index 18a5f9c..1dd0275 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
@@ -28,7 +28,6 @@ import java.util.concurrent.TimeUnit;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/DeleteLastCustomShardedReplicaTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteLastCustomShardedReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteLastCustomShardedReplicaTest.java
index 5d3d604..8be64a4 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteLastCustomShardedReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteLastCustomShardedReplicaTest.java
@@ -24,7 +24,6 @@ import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.ImplicitDocRouter;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.common.params.SolrParams;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java b/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
index d9d64e5..0742ac7 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.cloud;
-import com.carrotsearch.randomizedtesting.annotations.Seed;
-
import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.lucene.util.SentinelIntSet;
import org.apache.lucene.util.TestUtil;
@@ -42,7 +40,6 @@ import static org.apache.solr.common.params.CursorMarkParams.CURSOR_MARK_PARAM;
import static org.apache.solr.common.params.CursorMarkParams.CURSOR_MARK_NEXT;
import static org.apache.solr.common.params.CursorMarkParams.CURSOR_MARK_START;
-import org.apache.solr.search.CursorMark; //jdoc
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java b/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
index 80a41dd..63dab3b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
@@ -39,7 +39,6 @@ import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
-import org.apache.solr.client.solrj.response.CollectionAdminResponse;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.ClusterState;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
index 8f4ee1e..239afa1 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
@@ -46,7 +46,6 @@ import org.apache.solr.util.TimeOut;
import org.apache.zookeeper.CreateMode;
import org.easymock.Capture;
import org.easymock.EasyMock;
-import org.easymock.IAnswer;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
index 6562398..8c9daad 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
@@ -25,7 +25,6 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/RecoveryAfterSoftCommitTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/RecoveryAfterSoftCommitTest.java b/solr/core/src/test/org/apache/solr/cloud/RecoveryAfterSoftCommitTest.java
index cb9aea2..ba40758 100644
--- a/solr/core/src/test/org/apache/solr/cloud/RecoveryAfterSoftCommitTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/RecoveryAfterSoftCommitTest.java
@@ -19,7 +19,6 @@ package org.apache.solr.cloud;
import java.io.File;
import java.util.List;
-import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.request.AbstractUpdateRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java b/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java
index a4fbba1..9441e3f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java
@@ -31,7 +31,6 @@ import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
-import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.ZkCoreNodeProps;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/SSLMigrationTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/SSLMigrationTest.java b/solr/core/src/test/org/apache/solr/cloud/SSLMigrationTest.java
index eafc74a..8d4d024 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SSLMigrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SSLMigrationTest.java
@@ -24,7 +24,6 @@ import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.embedded.JettyConfig;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.HttpClientUtil;
-import org.apache.solr.client.solrj.impl.LBHttpSolrClient;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/SimpleCollectionCreateDeleteTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/SimpleCollectionCreateDeleteTest.java b/solr/core/src/test/org/apache/solr/cloud/SimpleCollectionCreateDeleteTest.java
index 773559b..abc0819 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SimpleCollectionCreateDeleteTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SimpleCollectionCreateDeleteTest.java
@@ -17,9 +17,7 @@
package org.apache.solr.cloud;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
-import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.common.cloud.ZkStateReader;
-import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java b/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java
index a844db3..9d415bc 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java
@@ -21,14 +21,12 @@ import java.io.FilenameFilter;
import java.lang.invoke.MethodHandles;
import java.util.Arrays;
import java.util.Collections;
-import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import org.apache.commons.cli.CommandLine;
-import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java b/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
index beda3e9..e5ac96c 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
@@ -31,8 +31,6 @@ import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionParams.CollectionAction;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
import org.junit.Test;
import java.io.IOException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
index aad2473..91d5581 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
@@ -16,19 +16,13 @@
*/
package org.apache.solr.cloud;
-import java.io.File;
import java.lang.invoke.MethodHandles;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
import java.util.Map;
-import java.util.Set;
-
import org.apache.solr.cloud.SolrCloudTestCase;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
@@ -47,7 +41,6 @@ import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.SimpleOrderedMap;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestCloudInspectUtil.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudInspectUtil.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudInspectUtil.java
index c68bffd..6de9f2d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudInspectUtil.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudInspectUtil.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.cloud;
-import java.lang.invoke.MethodHandles;
-
import java.util.HashSet;
import java.util.Set;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestCollectionAPI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCollectionAPI.java b/solr/core/src/test/org/apache/solr/cloud/TestCollectionAPI.java
index dec2bf5..8905077 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCollectionAPI.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCollectionAPI.java
@@ -44,7 +44,6 @@ import org.apache.solr.common.util.NamedList;
import org.apache.zookeeper.KeeperException;
import org.junit.Test;
-import static org.apache.solr.cloud.OverseerCollectionMessageHandler.ROUTER;
import static org.apache.solr.cloud.OverseerCollectionMessageHandler.SHARD_UNIQUE;
public class TestCollectionAPI extends ReplicaPropertiesBase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
index c804329..d7c590d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
@@ -31,7 +31,6 @@ import com.google.common.collect.ImmutableMap;
import org.apache.commons.io.FileUtils;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest;
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest.Create;
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest.Delete;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIExclusivity.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIExclusivity.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIExclusivity.java
index c5a0bc5..d4a1177 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIExclusivity.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIExclusivity.java
@@ -25,7 +25,6 @@ import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest;
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest.Create;
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest.Delete;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIZkFailure.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIZkFailure.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIZkFailure.java
index 458d68a..eaade28 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIZkFailure.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIZkFailure.java
@@ -36,7 +36,6 @@ import org.apache.jute.OutputArchive;
import org.apache.jute.Record;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.impl.HttpSolrClient.RemoteSolrException;
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest.Create;
import org.apache.solr.client.solrj.response.ConfigSetAdminResponse;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestCryptoKeys.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCryptoKeys.java b/solr/core/src/test/org/apache/solr/cloud/TestCryptoKeys.java
index 72ebc5b..ccc04f1 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCryptoKeys.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCryptoKeys.java
@@ -33,7 +33,6 @@ import org.apache.solr.core.TestDynamicLoading;
import org.apache.solr.core.TestSolrConfigHandler;
import org.apache.solr.handler.TestBlobHandler;
import org.apache.solr.util.CryptoKeys;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.apache.zookeeper.CreateMode;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestLockTree.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestLockTree.java b/solr/core/src/test/org/apache/solr/cloud/TestLockTree.java
index 7e4d9b7..3d9c059 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestLockTree.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestLockTree.java
@@ -3,25 +3,18 @@ package org.apache.solr.cloud;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
import com.google.common.collect.ImmutableSet;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.cloud.OverseerMessageHandler.Lock;
-import org.apache.solr.common.cloud.ClusterState;
-import org.apache.solr.common.cloud.DocCollection;
-import org.apache.solr.common.params.CollectionParams;
import org.apache.solr.common.params.CollectionParams.CollectionAction;
import org.apache.solr.common.util.Pair;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDREPLICAPROP;
import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEREPLICA;
import static org.apache.solr.common.params.CollectionParams.CollectionAction.MODIFYCOLLECTION;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java b/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java
index e069cb8..4dc1d39 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java
@@ -46,7 +46,6 @@ import org.apache.http.config.RegistryBuilder;
import org.apache.http.config.Registry;
import org.apache.http.conn.socket.ConnectionSocketFactory;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
-import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.lucene.util.Constants;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java b/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
index 0c20a49..e846f73 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
@@ -20,12 +20,10 @@ import java.lang.invoke.MethodHandles;
import java.util.Arrays;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
import org.apache.solr.util.SSLTestConfig;
import org.apache.solr.util.RandomizeSSL;
import org.apache.solr.util.RandomizeSSL.SSLRandomizer;
-import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.slf4j.Logger;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java b/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
index 9e072ef..80bb98a 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.cloud;
-import java.io.File;
import java.lang.invoke.MethodHandles;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -36,7 +35,6 @@ import java.util.Random;
import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
import org.apache.solr.cloud.SolrCloudTestCase;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
@@ -47,15 +45,11 @@ import org.apache.solr.client.solrj.request.schema.SchemaRequest.FieldType;
import org.apache.solr.client.solrj.response.schema.SchemaResponse.FieldResponse;
import org.apache.solr.client.solrj.response.schema.SchemaResponse.FieldTypeResponse;
import org.apache.solr.common.SolrDocument;
-import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
-import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ExecutorUtil;
-import org.apache.solr.common.util.SimpleOrderedMap;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.util.DefaultSolrThreadFactory;
import org.apache.solr.util.TestInjection;
import org.apache.lucene.util.LuceneTestCase.Slow;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsThreadLeakTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsThreadLeakTest.java b/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsThreadLeakTest.java
index 8a86ee2..1cd6819 100644
--- a/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsThreadLeakTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsThreadLeakTest.java
@@ -17,8 +17,6 @@
package org.apache.solr.cloud.hdfs;
import java.io.IOException;
-import java.net.URI;
-
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java b/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
index 2ef7083..d477c3a 100644
--- a/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
+++ b/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
@@ -6,21 +6,15 @@ import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.util.HashMap;
-import java.util.Set;
-
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.cloud.SolrCloudTestCase;
-import org.apache.solr.cloud.ZkTestServer;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.handler.TestBlobHandler;
-import org.apache.zookeeper.server.DataNode;
-import org.apache.zookeeper.server.DataTree;
-import org.apache.zookeeper.server.ZKDatabase;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java b/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java
index e82915f..42454d9 100644
--- a/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java
+++ b/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java
@@ -3,10 +3,8 @@ package org.apache.solr.core;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
-import java.lang.reflect.Field;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
-import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.io.IOUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java b/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java
index 1d6c1b3..49315be 100644
--- a/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java
@@ -16,10 +16,8 @@
*/
package org.apache.solr.core;
-import java.io.IOException;
import java.nio.file.Path;
import java.text.SimpleDateFormat;
-import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
@@ -31,7 +29,6 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.store.LockFactory;
import org.apache.lucene.store.NoLockFactory;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.cloud.hdfs.HdfsTestUtil;
@@ -41,9 +38,7 @@ import org.apache.solr.handler.SnapShooter;
import org.apache.solr.store.hdfs.HdfsLocalityReporter;
import org.apache.solr.util.BadHdfsThreadsFilter;
import org.apache.solr.util.MockCoreContainer.MockCoreDescriptor;
-import org.junit.After;
import org.junit.AfterClass;
-import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/core/MockInfoMBean.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/MockInfoMBean.java b/solr/core/src/test/org/apache/solr/core/MockInfoMBean.java
index b81e737..e0d566c 100644
--- a/solr/core/src/test/org/apache/solr/core/MockInfoMBean.java
+++ b/solr/core/src/test/org/apache/solr/core/MockInfoMBean.java
@@ -19,7 +19,6 @@ package org.apache.solr.core;
import java.net.URL;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.core.SolrInfoMBean.Category;
class MockInfoMBean implements SolrInfoMBean {
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/core/TestDynamicLoading.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestDynamicLoading.java b/solr/core/src/test/org/apache/solr/core/TestDynamicLoading.java
index f7832ef..bd20b1e 100644
--- a/solr/core/src/test/org/apache/solr/core/TestDynamicLoading.java
+++ b/solr/core/src/test/org/apache/solr/core/TestDynamicLoading.java
@@ -20,7 +20,6 @@ import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.cloud.AbstractFullDistribZkTestBase;
import org.apache.solr.handler.TestBlobHandler;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.apache.solr.util.SimplePostTool;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/core/TestInfoStreamLogging.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestInfoStreamLogging.java b/solr/core/src/test/org/apache/solr/core/TestInfoStreamLogging.java
index 9b65f8c..c448583 100644
--- a/solr/core/src/test/org/apache/solr/core/TestInfoStreamLogging.java
+++ b/solr/core/src/test/org/apache/solr/core/TestInfoStreamLogging.java
@@ -17,7 +17,6 @@
package org.apache.solr.core;
import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.util.PrintStreamInfoStream;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.update.LoggingInfoStream;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/core/TestJmxMonitoredMap.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestJmxMonitoredMap.java b/solr/core/src/test/org/apache/solr/core/TestJmxMonitoredMap.java
index 9f1e2ab..2cad6e8 100644
--- a/solr/core/src/test/org/apache/solr/core/TestJmxMonitoredMap.java
+++ b/solr/core/src/test/org/apache/solr/core/TestJmxMonitoredMap.java
@@ -17,7 +17,6 @@
package org.apache.solr.core;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.solr.util.AbstractSolrTestCase;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrConfig.JmxConfiguration;
import org.junit.After;
@@ -33,8 +32,6 @@ import javax.management.Query;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
-import javax.management.remote.rmi.RMIConnectorServer;
-
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.net.ServerSocket;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java
index f56b656..d2ef555 100644
--- a/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java
@@ -27,10 +27,7 @@ import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
import org.apache.lucene.analysis.tokenattributes.FlagsAttributeImpl;
import org.apache.lucene.analysis.util.TokenFilterFactory;
import org.apache.lucene.analysis.util.TokenizerFactory;
-import org.apache.lucene.util.Attribute;
import org.apache.lucene.util.AttributeFactory;
-import org.apache.lucene.util.AttributeImpl;
-import org.apache.lucene.util.AttributeReflector;
import org.apache.solr.analysis.TokenizerChain;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.AnalysisParams;
@@ -40,7 +37,6 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.client.solrj.request.FieldAnalysisRequest;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.schema.CustomAnalyzerStrField;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.TextField;
import org.junit.Before;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java b/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
index 65f2d3e..5ca51c8 100644
--- a/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
@@ -31,10 +31,6 @@ import org.apache.solr.update.processor.BufferingRequestProcessor;
import org.junit.BeforeClass;
import org.junit.Test;
import org.noggit.ObjectBuilder;
-import org.xml.sax.SAXException;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
import java.util.List;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/StandardRequestHandlerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/StandardRequestHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/StandardRequestHandlerTest.java
index 45e0e00..82e8cde 100644
--- a/solr/core/src/test/org/apache/solr/handler/StandardRequestHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/StandardRequestHandlerTest.java
@@ -16,15 +16,7 @@
*/
package org.apache.solr.handler;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.solr.common.params.CommonParams;
-import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.request.LocalSolrQueryRequest;
-import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.search.QueryParsing;
import org.apache.solr.util.AbstractSolrTestCase;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java b/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
index bd7f314..896e4de 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
@@ -35,7 +35,6 @@ import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
-import org.apache.solr.core.ConfigOverlay;
import org.apache.solr.util.RTimer;
import org.apache.solr.util.SimplePostTool;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java b/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java
index 36adb14..2fde95a 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.handler;
-import org.apache.lucene.util.TestUtil;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.common.params.CommonParams;
[21/50] [abbrv] lucene-solr:apiv2: SOLR-2199: DataImportHandler (DIH)
JdbcDataSource supports multiple resultsets per query
Posted by no...@apache.org.
SOLR-2199: DataImportHandler (DIH) JdbcDataSource supports multiple resultsets per query
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/fce10ae1
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/fce10ae1
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/fce10ae1
Branch: refs/heads/apiv2
Commit: fce10ae1097fa7f764516f2b343365e86afc273d
Parents: 664e392
Author: Mikhail Khludnev <mk...@apache.org>
Authored: Sun Jun 12 23:50:06 2016 +0300
Committer: Mikhail Khludnev <mk...@apache.org>
Committed: Mon Jun 13 00:11:27 2016 +0300
----------------------------------------------------------------------
solr/CHANGES.txt | 2 +
.../solr/handler/dataimport/JdbcDataSource.java | 33 ++++++--
.../handler/dataimport/TestJdbcDataSource.java | 89 +++++++++++++++++++-
3 files changed, 116 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fce10ae1/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 659a1d7..2146539 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -315,6 +315,8 @@ Other Changes
* SOLR-8445: fix line separator in log4j.properties files (Ahmet Arslan via Mikhail Khludnev)
+* SOLR-2199: DataImportHandler (DIH) JdbcDataSource supports multiple resultsets per query (Kristine Jetzke, Mark Waddle via Mikhail Khludnev)
+
================== 6.0.1 ==================
Upgrade Notes
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fce10ae1/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/JdbcDataSource.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/JdbcDataSource.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/JdbcDataSource.java
index e1eabeb..09ad775 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/JdbcDataSource.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/JdbcDataSource.java
@@ -342,7 +342,16 @@ public class JdbcDataSource extends
}
protected ResultSet executeStatement(Statement statement, String query) throws SQLException {
- if (statement.execute(query)) {
+ boolean resultSetReturned = statement.execute(query);
+ return getNextResultSet(resultSetReturned, statement);
+ }
+
+ protected ResultSet getNextResultSet(final boolean initialResultSetAvailable, final Statement statement) throws SQLException {
+ boolean resultSetAvailable = initialResultSetAvailable;
+ while (!resultSetAvailable && statement.getUpdateCount() != -1) {
+ resultSetAvailable = statement.getMoreResults();
+ }
+ if (resultSetAvailable) {
return statement.getResultSet();
}
return null;
@@ -441,8 +450,10 @@ public class JdbcDataSource extends
if (getResultSet().next()) {
return true;
} else {
- close();
- return false;
+ closeResultSet();
+ setResultSet(getNextResultSet(getStatement().getMoreResults(), getStatement()));
+ setColNames(getResultSet());
+ return hasnext();
}
} catch (SQLException e) {
close();
@@ -452,16 +463,26 @@ public class JdbcDataSource extends
}
protected void close() {
+ closeResultSet();
try {
- if (getResultSet() != null)
- getResultSet().close();
if (getStatement() != null)
getStatement().close();
} catch (Exception e) {
+ logError("Exception while closing statement", e);
+ } finally {
+ setStatement(null);
+ }
+ }
+
+ protected void closeResultSet() {
+ try {
+ if (getResultSet() != null) {
+ getResultSet().close();
+ }
+ } catch (Exception e) {
logError("Exception while closing result set", e);
} finally {
setResultSet(null);
- setStatement(null);
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fce10ae1/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSource.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSource.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSource.java
index 38ca83e..b6d05c4 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSource.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSource.java
@@ -19,7 +19,6 @@ package org.apache.solr.handler.dataimport;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
@@ -27,7 +26,12 @@ import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
import javax.sql.DataSource;
@@ -276,6 +280,7 @@ public class TestJdbcDataSource extends AbstractDataImportHandlerTestCase {
statement.setFetchSize(500);
statement.setMaxRows(0);
EasyMock.expect(statement.execute("query")).andReturn(false);
+ EasyMock.expect(statement.getUpdateCount()).andReturn(-1);
statement.close();
mockControl.replay();
@@ -388,6 +393,7 @@ public class TestJdbcDataSource extends AbstractDataImportHandlerTestCase {
statement.setFetchSize(500);
statement.setMaxRows(0);
EasyMock.expect(statement.execute("other query")).andReturn(false);
+ EasyMock.expect(statement.getUpdateCount()).andReturn(-1);
statement.close();
mockControl.replay();
@@ -399,6 +405,85 @@ public class TestJdbcDataSource extends AbstractDataImportHandlerTestCase {
}
@Test
+ public void testMultipleResultsSets_UpdateCountUpdateCountResultSet() throws Exception {
+ MockInitialContextFactory.bind("java:comp/env/jdbc/JndiDB", dataSource);
+ props.put(JdbcDataSource.JNDI_NAME, "java:comp/env/jdbc/JndiDB");
+ EasyMock.expect(dataSource.getConnection()).andReturn(connection);
+ jdbcDataSource.init(context, props);
+ connection.setAutoCommit(false);
+
+ Statement statement = mockControl.createMock(Statement.class);
+ EasyMock.expect(connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY))
+ .andReturn(statement);
+ statement.setFetchSize(500);
+ statement.setMaxRows(0);
+ EasyMock.expect(statement.execute("query")).andReturn(false);
+ EasyMock.expect(statement.getUpdateCount()).andReturn(1);
+ EasyMock.expect(statement.getMoreResults()).andReturn(false);
+ EasyMock.expect(statement.getUpdateCount()).andReturn(1);
+ EasyMock.expect(statement.getMoreResults()).andReturn(true);
+ ResultSet resultSet = mockControl.createMock(ResultSet.class);
+ EasyMock.expect(statement.getResultSet()).andReturn(resultSet);
+ ResultSetMetaData metaData = mockControl.createMock(ResultSetMetaData.class);
+ EasyMock.expect(resultSet.getMetaData()).andReturn(metaData);
+ EasyMock.expect(metaData.getColumnCount()).andReturn(0);
+
+ mockControl.replay();
+
+ final ResultSetIterator resultSetIterator = jdbcDataSource.new ResultSetIterator("query");
+ assertSame(resultSet, resultSetIterator.getResultSet());
+
+ mockControl.verify();
+
+ }
+
+ @Test
+ public void testMultipleResultsSets_ResultSetResultSet() throws Exception {
+ MockInitialContextFactory.bind("java:comp/env/jdbc/JndiDB", dataSource);
+ props.put(JdbcDataSource.JNDI_NAME, "java:comp/env/jdbc/JndiDB");
+ EasyMock.expect(dataSource.getConnection()).andReturn(connection);
+ jdbcDataSource.init(context, props);
+ connection.setAutoCommit(false);
+
+ Statement statement = mockControl.createMock(Statement.class);
+ EasyMock.expect(connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY))
+ .andReturn(statement);
+ statement.setFetchSize(500);
+ statement.setMaxRows(0);
+ EasyMock.expect(statement.execute("query")).andReturn(true);
+ ResultSet resultSet1 = mockControl.createMock(ResultSet.class);
+ EasyMock.expect(statement.getResultSet()).andReturn(resultSet1);
+ ResultSetMetaData metaData1 = mockControl.createMock(ResultSetMetaData.class);
+ EasyMock.expect(resultSet1.getMetaData()).andReturn(metaData1);
+ EasyMock.expect(metaData1.getColumnCount()).andReturn(0);
+ EasyMock.expect(resultSet1.next()).andReturn(false);
+ resultSet1.close();
+ EasyMock.expect(statement.getMoreResults()).andReturn(true);
+ ResultSet resultSet2 = mockControl.createMock(ResultSet.class);
+ EasyMock.expect(statement.getResultSet()).andReturn(resultSet2);
+ ResultSetMetaData metaData2 = mockControl.createMock(ResultSetMetaData.class);
+ EasyMock.expect(resultSet2.getMetaData()).andReturn(metaData2);
+ EasyMock.expect(metaData2.getColumnCount()).andReturn(0);
+ EasyMock.expect(resultSet2.next()).andReturn(true);
+ EasyMock.expect(resultSet2.next()).andReturn(false);
+ resultSet2.close();
+ EasyMock.expect(statement.getMoreResults()).andReturn(false);
+ EasyMock.expect(statement.getUpdateCount()).andReturn(-1);
+ statement.close();
+
+ mockControl.replay();
+
+ final ResultSetIterator resultSetIterator = jdbcDataSource.new ResultSetIterator("query");
+ assertSame(resultSet1, resultSetIterator.getResultSet());
+ assertTrue(resultSetIterator.hasnext());
+ assertSame(resultSet2, resultSetIterator.getResultSet());
+ assertFalse(resultSetIterator.hasnext());
+
+ mockControl.verify();
+
+ }
+
+ @Test
public void testRetrieveFromDriverManager() throws Exception {
DriverManager.registerDriver(driver);
try {
[14/50] [abbrv] lucene-solr:apiv2: LUCENE-6766: add changes
Posted by no...@apache.org.
LUCENE-6766: add changes
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/8bd27977
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/8bd27977
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/8bd27977
Branch: refs/heads/apiv2
Commit: 8bd27977dd993d4443be359a6f7ec92c7f012247
Parents: cc7cede
Author: Mike McCandless <mi...@apache.org>
Authored: Sat Jun 11 11:50:47 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Sat Jun 11 11:50:47 2016 -0400
----------------------------------------------------------------------
lucene/CHANGES.txt | 5 +++++
1 file changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8bd27977/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 501f2ee..f104ac6 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -25,6 +25,11 @@ Improvements
sub-files' checkums and segment IDs, to catch hardware issues or
filesytem bugs earlier (Robert Muir, Mike McCandless)
+* LUCENE-6766: Index time sorting has graduated from the misc module
+ to core, is much simpler to use, via
+ IndexWriter.setIndexSort, and now works with dimensional points.
+ (Adrien Grand, Mike McCandless)
+
Other
* LUCENE-4787: Fixed some highlighting javadocs. (Michael Dodsworth via Adrien
[11/50] [abbrv] lucene-solr:apiv2: LUCENE-7331: Remove
GeoPointTestUtil from TestGeoPointQuery.
Posted by no...@apache.org.
LUCENE-7331: Remove GeoPointTestUtil from TestGeoPointQuery.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/f767855d
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/f767855d
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/f767855d
Branch: refs/heads/apiv2
Commit: f767855da30e8d8b070b7566cb6eebb29af63334
Parents: b33d717
Author: Nicholas Knize <nk...@gmail.com>
Authored: Fri Jun 10 12:30:46 2016 -0500
Committer: Nicholas Knize <nk...@gmail.com>
Committed: Fri Jun 10 12:49:52 2016 -0500
----------------------------------------------------------------------
.../geopoint/search/TestGeoPointQuery.java | 37 ++++++++++----------
1 file changed, 19 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f767855d/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java b/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java
index 1ac9ffe..a657fd0 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java
@@ -17,11 +17,14 @@
package org.apache.lucene.spatial.geopoint.search;
import org.apache.lucene.document.Document;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.geo.BaseGeoPointTestCase;
import org.apache.lucene.geo.Polygon;
-import org.apache.lucene.geo.Rectangle;
import org.apache.lucene.spatial.geopoint.document.GeoPointField;
+import org.apache.lucene.store.Directory;
/**
* random testing for GeoPoint query logic
@@ -60,25 +63,23 @@ public class TestGeoPointQuery extends BaseGeoPointTestCase {
return new GeoPointInPolygonQuery(field, polygons);
}
- // TODO: remove these once we get tests passing!
+ /** explicit test failure for LUCENE-7325 */
+ public void testInvalidShift() throws Exception {
+ Directory dir = newDirectory();
+ RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- @Override
- protected double nextLongitude() {
- return GeoPointTestUtil.nextLongitude();
- }
-
- @Override
- protected double nextLatitude() {
- return GeoPointTestUtil.nextLatitude();
- }
+ // add a doc with a point
+ Document document = new Document();
+ addPointToDoc("field", document, 80, -65);
+ writer.addDocument(document);
- @Override
- protected Rectangle nextBox() {
- return GeoPointTestUtil.nextBox();
- }
+ // search and verify we found our doc
+ IndexReader reader = writer.getReader();
+ IndexSearcher searcher = newSearcher(reader);
+ assertEquals(0, searcher.count(newRectQuery("field", 90, 90, -180, 0)));
- @Override
- protected Polygon nextPolygon() {
- return GeoPointTestUtil.nextPolygon();
+ reader.close();
+ writer.close();
+ dir.close();
}
}
[33/50] [abbrv] lucene-solr:apiv2: SOLR-9161: change
SolrPluginUtils.invokeSetters implementation to accommodate setter variants
Posted by no...@apache.org.
SOLR-9161: change SolrPluginUtils.invokeSetters implementation to accommodate setter variants
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/038fe937
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/038fe937
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/038fe937
Branch: refs/heads/apiv2
Commit: 038fe9378dab18d0e16b34c26dc802c6560e77e7
Parents: 95c7e6d
Author: Christine Poerschke <cp...@apache.org>
Authored: Mon Jun 13 13:05:08 2016 +0100
Committer: Christine Poerschke <cp...@apache.org>
Committed: Mon Jun 13 13:05:08 2016 +0100
----------------------------------------------------------------------
solr/CHANGES.txt | 3 +++
.../org/apache/solr/util/SolrPluginUtils.java | 25 +++++++++++++----
.../apache/solr/util/SolrPluginUtilsTest.java | 28 ++++++++++++++++++++
3 files changed, 51 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/038fe937/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 2146539..c886fd0 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -67,6 +67,9 @@ Bug Fixes
* SOLR-9199: ZkController#publishAndWaitForDownStates logic is inefficient (Hrishikesh Gadre)
+* SOLR-9161: Change SolrPluginUtils.invokeSetters implementation to accommodate setter variants.
+ (Christine Poerschke, Steve Rowe, Uwe Schindler)
+
================== 6.1.0 ==================
Upgrading from Solr any prior release
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/038fe937/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java b/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java
index ecd48eb..1e5a183 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java
@@ -16,6 +16,10 @@
*/
package org.apache.solr.util;
+import java.beans.BeanInfo;
+import java.beans.IntrospectionException;
+import java.beans.Introspector;
+import java.beans.MethodDescriptor;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.lang.reflect.InvocationTargetException;
@@ -1065,8 +1069,8 @@ public class SolrPluginUtils {
String key = entry.getKey();
String setterName = "set" + String.valueOf(Character.toUpperCase(key.charAt(0))) + key.substring(1);
try {
- final Method method = findSetter(clazz, setterName, key);
final Object val = entry.getValue();
+ final Method method = findSetter(clazz, setterName, key, val.getClass());
method.invoke(bean, val);
} catch (InvocationTargetException | IllegalAccessException e1) {
throw new RuntimeException("Error invoking setter " + setterName + " on class : " + clazz.getName(), e1);
@@ -1074,10 +1078,21 @@ public class SolrPluginUtils {
}
}
- private static Method findSetter(Class<?> clazz, String setterName, String key) {
- for (Method m : clazz.getMethods()) {
- if (m.getName().equals(setterName) && m.getParameterTypes().length == 1) {
- return m;
+ private static Method findSetter(Class<?> clazz, String setterName, String key, Class<?> paramClazz) {
+ BeanInfo beanInfo;
+ try {
+ beanInfo = Introspector.getBeanInfo(clazz);
+ } catch (IntrospectionException ie) {
+ throw new RuntimeException("Error getting bean info for class : " + clazz.getName(), ie);
+ }
+ for (final boolean matchParamClazz: new boolean[]{true, false}) {
+ for (final MethodDescriptor desc : beanInfo.getMethodDescriptors()) {
+ final Method m = desc.getMethod();
+ final Class<?> p[] = m.getParameterTypes();
+ if (m.getName().equals(setterName) && p.length == 1 &&
+ (!matchParamClazz || paramClazz.equals(p[0]))) {
+ return m;
+ }
}
}
throw new RuntimeException("No setter corrresponding to '" + key + "' in " + clazz.getName());
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/038fe937/solr/core/src/test/org/apache/solr/util/SolrPluginUtilsTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/util/SolrPluginUtilsTest.java b/solr/core/src/test/org/apache/solr/util/SolrPluginUtilsTest.java
index 33e9291..fc50680 100644
--- a/solr/core/src/test/org/apache/solr/util/SolrPluginUtilsTest.java
+++ b/solr/core/src/test/org/apache/solr/util/SolrPluginUtilsTest.java
@@ -455,6 +455,34 @@ public class SolrPluginUtilsTest extends SolrTestCaseJ4 {
assertEquals(3, q.build().getMinimumNumberShouldMatch());
}
+ private class InvokeSettersTestClass {
+ private float aFloat = random().nextFloat();
+ public float getAFloat() {
+ return aFloat;
+ }
+ public void setAFloat(float aFloat) {
+ this.aFloat = aFloat;
+ }
+ public void setAFloat(String aFloat) {
+ this.aFloat = Float.parseFloat(aFloat);
+ }
+ }
+
+ @Test
+ public void testInvokeSetters() {
+ final Float theFloat = new Float(random().nextFloat());
+ implTestInvokeSetters(theFloat, theFloat);
+ implTestInvokeSetters(theFloat, theFloat.toString());
+ }
+
+ public void implTestInvokeSetters(final Float theFloat, final Object theFloatObject) {
+ final InvokeSettersTestClass bean = new InvokeSettersTestClass();
+ final Map<String,Object> initArgs = new HashMap<>();
+ initArgs.put("aFloat", theFloatObject);
+ SolrPluginUtils.invokeSetters(bean, initArgs.entrySet());
+ assertEquals(bean.getAFloat(), theFloat.floatValue(), 0.0);
+ }
+
/** macro */
public String pe(CharSequence s) {
return SolrPluginUtils.partialEscape(s).toString();
[05/50] [abbrv] lucene-solr:apiv2: LUCENE-7286: Added support for
highlighting SynonymQuery.
Posted by no...@apache.org.
LUCENE-7286: Added support for highlighting SynonymQuery.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e418bd0e
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e418bd0e
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e418bd0e
Branch: refs/heads/apiv2
Commit: e418bd0eb33eb058c0403dfcdaef8733bd6f4fc1
Parents: 3871439
Author: Adrien Grand <jp...@gmail.com>
Authored: Fri Jun 10 09:11:15 2016 +0200
Committer: Adrien Grand <jp...@gmail.com>
Committed: Fri Jun 10 09:11:15 2016 +0200
----------------------------------------------------------------------
lucene/CHANGES.txt | 2 ++
.../highlight/WeightedSpanTermExtractor.java | 3 ++-
.../search/highlight/HighlighterTest.java | 21 +++++++++++++++++++-
3 files changed, 24 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e418bd0e/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 20df7b2..279fc4d 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -134,6 +134,8 @@ Bug Fixes
other ranges had more than one clause matching (Ahmet Arslan,
hossman, Mike McCandless)
+* LUCENE-7286: Added support for highlighting SynonymQuery. (Adrien Grand)
+
Other
* LUCENE-7295: TermAutomatonQuery.hashCode calculates Automaton.toDot().hash,
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e418bd0e/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
index 43f75cc..7507bdd 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
@@ -53,6 +53,7 @@ import org.apache.lucene.search.MultiPhraseQuery;
import org.apache.lucene.search.MultiTermQuery;
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.Query;
+import org.apache.lucene.search.SynonymQuery;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.join.ToChildBlockJoinQuery;
import org.apache.lucene.search.join.ToParentBlockJoinQuery;
@@ -138,7 +139,7 @@ public class WeightedSpanTermExtractor {
SpanNearQuery sp = new SpanNearQuery(clauses, phraseQuery.getSlop() + positionGaps, inorder);
extractWeightedSpanTerms(terms, sp, boost);
}
- } else if (query instanceof TermQuery) {
+ } else if (query instanceof TermQuery || query instanceof SynonymQuery) {
extractWeightedTerms(terms, query, boost);
} else if (query instanceof SpanQuery) {
extractWeightedSpanTerms(terms, (SpanQuery) query, boost);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e418bd0e/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
index 3c6f108..cf727d7 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
@@ -71,6 +71,7 @@ import org.apache.lucene.search.PhraseQuery.Builder;
import org.apache.lucene.search.PrefixQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.RegexpQuery;
+import org.apache.lucene.search.SynonymQuery;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TermRangeQuery;
import org.apache.lucene.search.TopDocs;
@@ -223,6 +224,24 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte
assertEquals("This piece of text refers to Kennedy at the beginning then has a longer piece of text that is <B>very</B>", fragment);
}
+ public void testHighlightingSynonymQuery() throws Exception {
+ searcher = newSearcher(reader);
+ Query query = new SynonymQuery(new Term(FIELD_NAME, "jfk"), new Term(FIELD_NAME, "kennedy"));
+ QueryScorer scorer = new QueryScorer(query, FIELD_NAME);
+ Highlighter highlighter = new Highlighter(scorer);
+ TokenStream stream = getAnyTokenStream(FIELD_NAME, 2);
+ Fragmenter fragmenter = new SimpleSpanFragmenter(scorer);
+ highlighter.setTextFragmenter(fragmenter);
+ String storedField = searcher.doc(2).get(FIELD_NAME);
+ String fragment = highlighter.getBestFragment(stream, storedField);
+ assertEquals("<B>JFK</B> has been shot", fragment);
+
+ stream = getAnyTokenStream(FIELD_NAME, 3);
+ storedField = searcher.doc(3).get(FIELD_NAME);
+ fragment = highlighter.getBestFragment(stream, storedField);
+ assertEquals("John <B>Kennedy</B> has been shot", fragment);
+ }
+
public void testHighlightUnknownQueryAfterRewrite() throws IOException, InvalidTokenOffsetsException {
Query query = new Query() {
@@ -2093,7 +2112,7 @@ public class HighlighterTest extends BaseTokenStreamTestCase implements Formatte
analyzer = new MockAnalyzer(random(), MockTokenizer.SIMPLE, true, MockTokenFilter.ENGLISH_STOPSET);
ramDir = newDirectory();
fieldType = random().nextBoolean() ? FIELD_TYPE_TV : TextField.TYPE_STORED;
- IndexWriter writer = new IndexWriter(ramDir, newIndexWriterConfig(analyzer));
+ IndexWriter writer = new IndexWriter(ramDir, newIndexWriterConfig(analyzer).setMergePolicy(newLogMergePolicy()));
for (String text : texts) {
writer.addDocument(doc(FIELD_NAME, text));
[38/50] [abbrv] lucene-solr:apiv2: LUCENE-7338: Fix javadocs package
and overview description section anchor names to the Java8 style:
s/*_description/*.description/
Posted by no...@apache.org.
LUCENE-7338: Fix javadocs package and overview description section anchor names to the Java8 style: s/*_description/*.description/
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a2a1bd2a
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a2a1bd2a
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a2a1bd2a
Branch: refs/heads/apiv2
Commit: a2a1bd2a4ae91e6b990a3b7f9df62802acddf40e
Parents: 08c14f1
Author: Steve Rowe <sa...@apache.org>
Authored: Mon Jun 13 16:10:49 2016 -0400
Committer: Steve Rowe <sa...@apache.org>
Committed: Mon Jun 13 16:10:49 2016 -0400
----------------------------------------------------------------------
.../org/apache/lucene/index/memory/MemoryIndex.java | 2 +-
.../lucene/queryparser/classic/QueryParser.java | 2 +-
.../apache/lucene/queryparser/classic/QueryParser.jj | 2 +-
.../flexible/standard/StandardQueryParser.java | 2 +-
lucene/site/xsl/index.xsl | 14 +++++++-------
5 files changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a2a1bd2a/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
----------------------------------------------------------------------
diff --git a/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java b/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
index e3aa4b1..cde20e5 100644
--- a/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
+++ b/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
@@ -80,7 +80,7 @@ import org.apache.lucene.util.IntBlockPool.SliceWriter;
* <a target="_blank" href="http://today.java.net/pub/a/today/2003/07/30/LuceneIntro.html">Lucene Analyzer Intro</a>.
* <p>
* Arbitrary Lucene queries can be run against this class - see <a target="_blank"
- * href="{@docRoot}/../queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package_description">
+ * href="{@docRoot}/../queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package.description">
* Lucene Query Syntax</a>
* as well as <a target="_blank"
* href="http://today.java.net/pub/a/today/2003/11/07/QueryParserRules.html">Query Parser Rules</a>.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a2a1bd2a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java
index 8f8294a..08a477e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java
@@ -42,7 +42,7 @@ import org.apache.lucene.search.TermRangeQuery;
*
* <p>
* Examples of appropriately formatted queries can be found in the <a
- * href="{@docRoot}/org/apache/lucene/queryparser/classic/package-summary.html#package_description">query syntax
+ * href="{@docRoot}/org/apache/lucene/queryparser/classic/package-summary.html#package.description">query syntax
* documentation</a>.
* </p>
*
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a2a1bd2a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.jj
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.jj b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.jj
index c809f2c..9bf154d 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.jj
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.jj
@@ -67,7 +67,7 @@ import org.apache.lucene.search.TermQuery;
*
* <p>
* Examples of appropriately formatted queries can be found in the <a
- * href="{@docRoot}/org/apache/lucene/queryparser/classic/package-summary.html#package_description">query syntax
+ * href="{@docRoot}/org/apache/lucene/queryparser/classic/package-summary.html#package.description">query syntax
* documentation</a>.
* </p>
*
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a2a1bd2a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
index 2774cf0..2cd8084 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
@@ -84,7 +84,7 @@ import org.apache.lucene.search.Query;
*
* <p>
* Examples of appropriately formatted queries can be found in the <a
- * href="{@docRoot}/org/apache/lucene/queryparser/classic/package-summary.html#package_description">
+ * href="{@docRoot}/org/apache/lucene/queryparser/classic/package-summary.html#package.description">
* query syntax documentation</a>.
* </p>
* <p>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a2a1bd2a/lucene/site/xsl/index.xsl
----------------------------------------------------------------------
diff --git a/lucene/site/xsl/index.xsl b/lucene/site/xsl/index.xsl
index db424bb..df3edfe 100644
--- a/lucene/site/xsl/index.xsl
+++ b/lucene/site/xsl/index.xsl
@@ -65,11 +65,11 @@
development of Lucene. The goal is to help you "get started". It does not go into great depth
on some of the conceptual or inner details of Lucene:</p>
<ul>
- <li><a href="demo/overview-summary.html#overview_description">Lucene demo, its usage, and sources</a>:
+ <li><a href="demo/overview-summary.html#overview.description">Lucene demo, its usage, and sources</a>:
Tutorial and walk-through of the command-line Lucene demo.</li>
- <li><a href="core/overview-summary.html#overview_description">Introduction to Lucene's APIs</a>:
+ <li><a href="core/overview-summary.html#overview.description">Introduction to Lucene's APIs</a>:
High-level summary of the different Lucene packages. </li>
- <li><a href="core/org/apache/lucene/analysis/package-summary.html#package_description">Analysis overview</a>:
+ <li><a href="core/org/apache/lucene/analysis/package-summary.html#package.description">Analysis overview</a>:
Introduction to Lucene's analysis API. See also the
<a href="core/org/apache/lucene/analysis/TokenStream.html">TokenStream consumer workflow</a>.</li>
</ul>
@@ -79,10 +79,10 @@
<li><a href="SYSTEM_REQUIREMENTS.html">System Requirements</a>: Minimum and supported Java versions.</li>
<li><a href="MIGRATE.html">Migration Guide</a>: What changed in Lucene 6; how to migrate code from Lucene 5.x.</li>
<li><a href="JRE_VERSION_MIGRATION.html">JRE Version Migration</a>: Information about upgrading between major JRE versions.</li>
- <li><a href="core/org/apache/lucene/codecs/{$defaultCodecPackage}/package-summary.html#package_description">File Formats</a>: Guide to the supported index format used by Lucene. This can be customized by using <a href="core/org/apache/lucene/codecs/package-summary.html#package_description">an alternate codec</a>.</li>
- <li><a href="core/org/apache/lucene/search/package-summary.html#package_description">Search and Scoring in Lucene</a>: Introduction to how Lucene scores documents.</li>
- <li><a href="core/org/apache/lucene/search/similarities/TFIDFSimilarity.html">Classic Scoring Formula</a>: Formula of Lucene's classic <a href="http://en.wikipedia.org/wiki/Vector_Space_Model">Vector Space</a> implementation. (look <a href="core/org/apache/lucene/search/similarities/package-summary.html#package_description">here</a> for other models)</li>
- <li><a href="queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package_description">Classic QueryParser Syntax</a>: Overview of the Classic QueryParser's syntax and features.</li>
+ <li><a href="core/org/apache/lucene/codecs/{$defaultCodecPackage}/package-summary.html#package.description">File Formats</a>: Guide to the supported index format used by Lucene. This can be customized by using <a href="core/org/apache/lucene/codecs/package-summary.html#package.description">an alternate codec</a>.</li>
+ <li><a href="core/org/apache/lucene/search/package-summary.html#package.description">Search and Scoring in Lucene</a>: Introduction to how Lucene scores documents.</li>
+ <li><a href="core/org/apache/lucene/search/similarities/TFIDFSimilarity.html">Classic Scoring Formula</a>: Formula of Lucene's classic <a href="http://en.wikipedia.org/wiki/Vector_Space_Model">Vector Space</a> implementation. (look <a href="core/org/apache/lucene/search/similarities/package-summary.html#package.description">here</a> for other models)</li>
+ <li><a href="queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package.description">Classic QueryParser Syntax</a>: Overview of the Classic QueryParser's syntax and features.</li>
</ul>
<h2>API Javadocs</h2>
<xsl:call-template name="modules"/>
[24/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: remove unused imports
Posted by no...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java b/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java
index 832ee1f..1839881 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java
@@ -42,7 +42,6 @@ import org.apache.solr.common.cloud.ZkConfigManager;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.core.SolrConfig;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/TestReqParamsAPI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/TestReqParamsAPI.java b/solr/core/src/test/org/apache/solr/handler/TestReqParamsAPI.java
index aca6227..d555a2d 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestReqParamsAPI.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestReqParamsAPI.java
@@ -31,7 +31,6 @@ import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.core.RequestParams;
import org.apache.solr.core.TestSolrConfigHandler;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
index 8448ec7..ab2f467 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
@@ -37,7 +37,6 @@ import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
import org.apache.solr.core.RequestParams;
import org.apache.solr.core.TestSolrConfigHandler;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
index 003900c..3fdf78a 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
@@ -44,8 +44,6 @@ import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
-import org.apache.solr.core.ConfigOverlay;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.junit.Test;
import org.noggit.JSONParser;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/ThrowErrorOnInitRequestHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/ThrowErrorOnInitRequestHandler.java b/solr/core/src/test/org/apache/solr/handler/ThrowErrorOnInitRequestHandler.java
index f0748b1..594a3f1 100644
--- a/solr/core/src/test/org/apache/solr/handler/ThrowErrorOnInitRequestHandler.java
+++ b/solr/core/src/test/org/apache/solr/handler/ThrowErrorOnInitRequestHandler.java
@@ -20,7 +20,6 @@ import java.io.IOException;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.request.SolrRequestHandler;
import org.apache.solr.response.SolrQueryResponse;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/admin/CoreMergeIndexesAdminHandlerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/CoreMergeIndexesAdminHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/CoreMergeIndexesAdminHandlerTest.java
index c6f9520..6f1a802 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/CoreMergeIndexesAdminHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/CoreMergeIndexesAdminHandlerTest.java
@@ -19,11 +19,8 @@ package org.apache.solr.handler.admin;
import java.io.File;
import java.io.IOException;
-import org.apache.commons.io.FileUtils;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.LockFactory;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.params.CoreAdminParams;
import org.apache.solr.core.CoreContainer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java b/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
index 64f0e38..dd1d5c8 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
@@ -25,7 +25,6 @@ import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.params.MoreLikeThisParams;
import org.apache.solr.common.util.NamedList;
-import org.junit.Ignore;
import org.junit.Test;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/component/TestExpandComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/component/TestExpandComponent.java b/solr/core/src/test/org/apache/solr/handler/component/TestExpandComponent.java
index cda4058..7d38d62 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/TestExpandComponent.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/TestExpandComponent.java
@@ -23,7 +23,6 @@ import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import java.io.IOException;
import java.util.*;
public class TestExpandComponent extends SolrTestCaseJ4 {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/handler/component/TestPivotHelperCode.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/component/TestPivotHelperCode.java b/solr/core/src/test/org/apache/solr/handler/component/TestPivotHelperCode.java
index 8d9a2bd..0d33d11 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/TestPivotHelperCode.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/TestPivotHelperCode.java
@@ -18,14 +18,11 @@ package org.apache.solr.handler.component;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.handler.component.PivotFacetField;
-
import org.apache.lucene.util.TestUtil;
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
-import java.util.Collections;
/**
* A light weight test of various helper methods used in pivot faceting
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/highlight/HighlighterMaxOffsetTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/highlight/HighlighterMaxOffsetTest.java b/solr/core/src/test/org/apache/solr/highlight/HighlighterMaxOffsetTest.java
index 60c11f1..fb47f6e 100644
--- a/solr/core/src/test/org/apache/solr/highlight/HighlighterMaxOffsetTest.java
+++ b/solr/core/src/test/org/apache/solr/highlight/HighlighterMaxOffsetTest.java
@@ -17,7 +17,6 @@
package org.apache.solr.highlight;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.request.SolrQueryRequest;
import org.junit.After;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/internal/csv/CSVPrinterTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/internal/csv/CSVPrinterTest.java b/solr/core/src/test/org/apache/solr/internal/csv/CSVPrinterTest.java
index a141efb..199717b 100644
--- a/solr/core/src/test/org/apache/solr/internal/csv/CSVPrinterTest.java
+++ b/solr/core/src/test/org/apache/solr/internal/csv/CSVPrinterTest.java
@@ -19,12 +19,9 @@ package org.apache.solr.internal.csv;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
-import java.util.Arrays;
import java.util.Random;
-import junit.framework.Test;
import junit.framework.TestCase;
-import junit.framework.TestSuite;
/**
* CSVPrinterTest
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/internal/csv/CSVStrategyTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/internal/csv/CSVStrategyTest.java b/solr/core/src/test/org/apache/solr/internal/csv/CSVStrategyTest.java
index 0a10d7f..3a69821 100644
--- a/solr/core/src/test/org/apache/solr/internal/csv/CSVStrategyTest.java
+++ b/solr/core/src/test/org/apache/solr/internal/csv/CSVStrategyTest.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.internal.csv;
-import java.io.StringReader;
-
import junit.framework.TestCase;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/internal/csv/ExtendedBufferedReaderTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/internal/csv/ExtendedBufferedReaderTest.java b/solr/core/src/test/org/apache/solr/internal/csv/ExtendedBufferedReaderTest.java
index 8607e1c..804c36b 100644
--- a/solr/core/src/test/org/apache/solr/internal/csv/ExtendedBufferedReaderTest.java
+++ b/solr/core/src/test/org/apache/solr/internal/csv/ExtendedBufferedReaderTest.java
@@ -19,9 +19,7 @@ package org.apache.solr.internal.csv;
import java.io.StringReader;
import java.util.Arrays;
-import junit.framework.Test;
import junit.framework.TestCase;
-import junit.framework.TestSuite;
/**
* ExtendedBufferedReaderTest
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java b/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java
index 9c4e298..f989cf1 100644
--- a/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java
+++ b/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java
@@ -19,9 +19,6 @@ package org.apache.solr.request;
import java.io.IOException;
import java.io.StringWriter;
import java.nio.charset.StandardCharsets;
-import java.util.HashSet;
-import java.util.Set;
-
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
@@ -29,7 +26,6 @@ import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.search.ReturnFields;
import org.apache.solr.response.JSONResponseWriter;
-import org.apache.solr.response.PHPSerializedResponseWriter;
import org.apache.solr.response.PythonResponseWriter;
import org.apache.solr.response.QueryResponseWriter;
import org.apache.solr.response.RubyResponseWriter;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/request/TestBinaryResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/request/TestBinaryResponseWriter.java b/solr/core/src/test/org/apache/solr/request/TestBinaryResponseWriter.java
index d16f3ea..41bd67e 100644
--- a/solr/core/src/test/org/apache/solr/request/TestBinaryResponseWriter.java
+++ b/solr/core/src/test/org/apache/solr/request/TestBinaryResponseWriter.java
@@ -30,7 +30,6 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.response.BinaryQueryResponseWriter;
import org.apache.solr.response.BinaryResponseWriter.Resolver;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.search.ReturnFields;
import org.apache.solr.search.SolrReturnFields;
import org.apache.solr.util.AbstractSolrTestCase;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/request/TestFaceting.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/request/TestFaceting.java b/solr/core/src/test/org/apache/solr/request/TestFaceting.java
index cee9f52..8fdac58 100644
--- a/solr/core/src/test/org/apache/solr/request/TestFaceting.java
+++ b/solr/core/src/test/org/apache/solr/request/TestFaceting.java
@@ -27,7 +27,6 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.params.FacetParams;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.uninverting.DocTermOrds;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java b/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
index b3698e1..68eac48 100644
--- a/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
+++ b/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
@@ -39,7 +39,6 @@ import org.slf4j.LoggerFactory;
import java.lang.invoke.MethodHandles;
import java.util.Arrays;
-import java.util.Comparator;
public class TestIntervalFaceting extends SolrTestCaseJ4 {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/response/TestPHPSerializedResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/response/TestPHPSerializedResponseWriter.java b/solr/core/src/test/org/apache/solr/response/TestPHPSerializedResponseWriter.java
index fda7629..5932d69 100644
--- a/solr/core/src/test/org/apache/solr/response/TestPHPSerializedResponseWriter.java
+++ b/solr/core/src/test/org/apache/solr/response/TestPHPSerializedResponseWriter.java
@@ -22,7 +22,6 @@ import java.util.Arrays;
import java.util.LinkedHashMap;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.response.PHPSerializedResponseWriter;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.QueryResponseWriter;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/response/TestRawResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/response/TestRawResponseWriter.java b/solr/core/src/test/org/apache/solr/response/TestRawResponseWriter.java
index bf1d8f6..0f95f79 100644
--- a/solr/core/src/test/org/apache/solr/response/TestRawResponseWriter.java
+++ b/solr/core/src/test/org/apache/solr/response/TestRawResponseWriter.java
@@ -20,7 +20,6 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.StringWriter;
-import java.util.Collections;
import java.nio.charset.StandardCharsets;
import org.apache.lucene.util.TestUtil;
@@ -28,10 +27,7 @@ import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.impl.BinaryResponseParser;
import org.apache.solr.common.util.ContentStreamBase.ByteArrayStream;
import org.apache.solr.common.util.ContentStreamBase.StringStream;
-import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.request.SolrQueryRequest;
-
import org.junit.BeforeClass;
import org.junit.AfterClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/schema/CurrencyFieldOpenExchangeTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/CurrencyFieldOpenExchangeTest.java b/solr/core/src/test/org/apache/solr/schema/CurrencyFieldOpenExchangeTest.java
index eb79e09..fed51eb 100644
--- a/solr/core/src/test/org/apache/solr/schema/CurrencyFieldOpenExchangeTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/CurrencyFieldOpenExchangeTest.java
@@ -15,16 +15,6 @@
* limitations under the License.
*/
package org.apache.solr.schema;
-import org.apache.lucene.index.IndexableField;
-import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.core.SolrCore;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import java.util.List;
-import java.util.Random;
-import java.util.Set;
/**
* Tests currency field type using OpenExchangeRatesOrgProvider.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/schema/CurrencyFieldXmlFileTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/CurrencyFieldXmlFileTest.java b/solr/core/src/test/org/apache/solr/schema/CurrencyFieldXmlFileTest.java
index 7c27faa..f3872d0 100644
--- a/solr/core/src/test/org/apache/solr/schema/CurrencyFieldXmlFileTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/CurrencyFieldXmlFileTest.java
@@ -15,17 +15,8 @@
* limitations under the License.
*/
package org.apache.solr.schema;
-import org.apache.lucene.index.IndexableField;
-import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.core.SolrCore;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
import org.junit.Test;
-import java.util.List;
-import java.util.Random;
-import java.util.Set;
-
/**
* Tests currency field type using FileExchangeRateProvider
*/
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/schema/EnumFieldTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/EnumFieldTest.java b/solr/core/src/test/org/apache/solr/schema/EnumFieldTest.java
index 8abbce7..aa5a8a9 100644
--- a/solr/core/src/test/org/apache/solr/schema/EnumFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/EnumFieldTest.java
@@ -17,7 +17,6 @@
package org.apache.solr.schema;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.request.SolrQueryRequest;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java b/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java
index ba59344..56eb7e0 100644
--- a/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java
@@ -19,7 +19,6 @@ import java.util.List;
import org.apache.lucene.index.IndexableField;
import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.Query;
import org.apache.solr.SolrTestCaseJ4;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/schema/TestBulkSchemaConcurrent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/TestBulkSchemaConcurrent.java b/solr/core/src/test/org/apache/solr/schema/TestBulkSchemaConcurrent.java
index 24b073f..42e72ee 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestBulkSchemaConcurrent.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestBulkSchemaConcurrent.java
@@ -35,7 +35,6 @@ import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.cloud.AbstractFullDistribZkTestBase;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/schema/TestCloudManagedSchemaConcurrent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/TestCloudManagedSchemaConcurrent.java b/solr/core/src/test/org/apache/solr/schema/TestCloudManagedSchemaConcurrent.java
index d22f11b..e724da9 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestCloudManagedSchemaConcurrent.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestCloudManagedSchemaConcurrent.java
@@ -32,7 +32,6 @@ import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.util.BaseTestHarness;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.apache.zookeeper.data.Stat;
import org.eclipse.jetty.servlet.ServletHolder;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/schema/TestCloudSchemaless.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/TestCloudSchemaless.java b/solr/core/src/test/org/apache/solr/schema/TestCloudSchemaless.java
index e8a2f85..de774f7 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestCloudSchemaless.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestCloudSchemaless.java
@@ -24,11 +24,9 @@ import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.util.BaseTestHarness;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.After;
-import org.junit.BeforeClass;
import org.junit.Test;
import org.restlet.ext.servlet.ServerServlet;
import org.slf4j.Logger;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/schema/TestCollationField.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/TestCollationField.java b/solr/core/src/test/org/apache/solr/schema/TestCollationField.java
index 8eb2bd9..6351b82 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestCollationField.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestCollationField.java
@@ -22,7 +22,6 @@ import java.text.Collator;
import java.text.RuleBasedCollator;
import java.util.Locale;
-import org.apache.lucene.util.TestUtil;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/AnalyticsQueryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/AnalyticsQueryTest.java b/solr/core/src/test/org/apache/solr/search/AnalyticsQueryTest.java
index f70dd7e..59bf95c 100644
--- a/solr/core/src/test/org/apache/solr/search/AnalyticsQueryTest.java
+++ b/solr/core/src/test/org/apache/solr/search/AnalyticsQueryTest.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.junit.Before;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/DelayingSearchComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/DelayingSearchComponent.java b/solr/core/src/test/org/apache/solr/search/DelayingSearchComponent.java
index 76b22d9..eb64063 100644
--- a/solr/core/src/test/org/apache/solr/search/DelayingSearchComponent.java
+++ b/solr/core/src/test/org/apache/solr/search/DelayingSearchComponent.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.search;
-import org.apache.solr.core.SolrInfoMBean;
import org.apache.solr.handler.component.ResponseBuilder;
import org.apache.solr.handler.component.SearchComponent;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/FooQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/FooQParserPlugin.java b/solr/core/src/test/org/apache/solr/search/FooQParserPlugin.java
index 45c6d4f..3c51a36 100644
--- a/solr/core/src/test/org/apache/solr/search/FooQParserPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/FooQParserPlugin.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java b/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java
index 2a7362d..b703846 100644
--- a/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java
+++ b/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java
@@ -16,18 +16,10 @@
*/
package org.apache.solr.search;
import org.apache.lucene.search.Query;
-import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.SortField;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.SolrException;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.schema.SchemaField;
import org.junit.BeforeClass;
-import org.junit.Test;
-
-import java.util.LinkedHashMap;
-import java.util.List;
/**
*
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/RankQueryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/RankQueryTest.java b/solr/core/src/test/org/apache/solr/search/RankQueryTest.java
index 9062070..af7ad4a 100644
--- a/solr/core/src/test/org/apache/solr/search/RankQueryTest.java
+++ b/solr/core/src/test/org/apache/solr/search/RankQueryTest.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.junit.Before;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/SortSpecParsingTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/SortSpecParsingTest.java b/solr/core/src/test/org/apache/solr/search/SortSpecParsingTest.java
index 3c15018..a7eb5ed 100644
--- a/solr/core/src/test/org/apache/solr/search/SortSpecParsingTest.java
+++ b/solr/core/src/test/org/apache/solr/search/SortSpecParsingTest.java
@@ -15,7 +15,6 @@
* limitations under the License.
*/
package org.apache.solr.search;
-import org.apache.lucene.search.Query;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
import org.apache.solr.SolrTestCaseJ4;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestCollapseQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestCollapseQParserPlugin.java b/solr/core/src/test/org/apache/solr/search/TestCollapseQParserPlugin.java
index e34f377..6eca623 100644
--- a/solr/core/src/test/org/apache/solr/search/TestCollapseQParserPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/TestCollapseQParserPlugin.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.search;
-import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestGraphTermsQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestGraphTermsQParserPlugin.java b/solr/core/src/test/org/apache/solr/search/TestGraphTermsQParserPlugin.java
index 858800a..a4d0211 100644
--- a/solr/core/src/test/org/apache/solr/search/TestGraphTermsQParserPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/TestGraphTermsQParserPlugin.java
@@ -17,21 +17,9 @@ package org.apache.solr.search;
* limitations under the License.
*/
-import java.util.Collections;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Iterator;
-
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.search.CollapsingQParserPlugin.GroupHeadSelector;
-import org.apache.solr.search.CollapsingQParserPlugin.GroupHeadSelectorType;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestHashQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestHashQParserPlugin.java b/solr/core/src/test/org/apache/solr/search/TestHashQParserPlugin.java
index 8431588..46b7b60 100644
--- a/solr/core/src/test/org/apache/solr/search/TestHashQParserPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/TestHashQParserPlugin.java
@@ -16,18 +16,13 @@
*/
package org.apache.solr.search;
-import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.response.SolrQueryResponse;
-import org.apache.lucene.util.BytesRef;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import java.io.IOException;
import java.util.*;
import java.util.Random;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestLRUCache.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestLRUCache.java b/solr/core/src/test/org/apache/solr/search/TestLRUCache.java
index 8209e55..d2f74de 100644
--- a/solr/core/src/test/org/apache/solr/search/TestLRUCache.java
+++ b/solr/core/src/test/org/apache/solr/search/TestLRUCache.java
@@ -21,11 +21,6 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.GnuParser;
-import org.apache.commons.cli.OptionBuilder;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.Parser;
import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.RamUsageEstimator;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestMissingGroups.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestMissingGroups.java b/solr/core/src/test/org/apache/solr/search/TestMissingGroups.java
index 808c21c..321296c 100644
--- a/solr/core/src/test/org/apache/solr/search/TestMissingGroups.java
+++ b/solr/core/src/test/org/apache/solr/search/TestMissingGroups.java
@@ -27,8 +27,6 @@ import java.util.Set;
import java.util.HashSet;
import java.util.List;
import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
/** Inspired by LUCENE-5790 */
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestQueryUtils.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestQueryUtils.java b/solr/core/src/test/org/apache/solr/search/TestQueryUtils.java
index d40292f..adc8058 100644
--- a/solr/core/src/test/org/apache/solr/search/TestQueryUtils.java
+++ b/solr/core/src/test/org/apache/solr/search/TestQueryUtils.java
@@ -21,12 +21,10 @@ import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.Query;
import org.apache.lucene.index.Term;
-import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.util.AbstractSolrTestCase;
import org.junit.BeforeClass;
import java.util.Collection;
-import java.util.List;
/**
*
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestRandomCollapseQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestRandomCollapseQParserPlugin.java b/solr/core/src/test/org/apache/solr/search/TestRandomCollapseQParserPlugin.java
index 0edbaaa..f4dd449 100644
--- a/solr/core/src/test/org/apache/solr/search/TestRandomCollapseQParserPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/TestRandomCollapseQParserPlugin.java
@@ -28,11 +28,8 @@ import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
-import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.params.ModifiableSolrParams;
import static org.apache.solr.search.CollapsingQParserPlugin.NULL_IGNORE;
import static org.apache.solr.search.CollapsingQParserPlugin.NULL_COLLAPSE;
import static org.apache.solr.search.CollapsingQParserPlugin.NULL_EXPAND;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestReRankQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestReRankQParserPlugin.java b/solr/core/src/test/org/apache/solr/search/TestReRankQParserPlugin.java
index 9a77c13..e4d6a5b 100644
--- a/solr/core/src/test/org/apache/solr/search/TestReRankQParserPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/TestReRankQParserPlugin.java
@@ -21,7 +21,6 @@ import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrInfoMBean;
-import org.apache.solr.util.RefCounted;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java b/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java
index fe02108..51eaf34 100644
--- a/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java
+++ b/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
-import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.util.RefCounted;
import org.noggit.ObjectBuilder;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestRecoveryHdfs.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestRecoveryHdfs.java b/solr/core/src/test/org/apache/solr/search/TestRecoveryHdfs.java
index 7de7a2b..e7e60ec 100644
--- a/solr/core/src/test/org/apache/solr/search/TestRecoveryHdfs.java
+++ b/solr/core/src/test/org/apache/solr/search/TestRecoveryHdfs.java
@@ -39,7 +39,6 @@ import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.FsStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.apache.solr.SolrTestCaseJ4;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestReload.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestReload.java b/solr/core/src/test/org/apache/solr/search/TestReload.java
index 895eca3..f721d41 100644
--- a/solr/core/src/test/org/apache/solr/search/TestReload.java
+++ b/solr/core/src/test/org/apache/solr/search/TestReload.java
@@ -18,8 +18,6 @@ package org.apache.solr.search;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.junit.Ignore;
-
import java.util.Random;
public class TestReload extends TestRTGBase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestSearchPerf.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestSearchPerf.java b/solr/core/src/test/org/apache/solr/search/TestSearchPerf.java
index dd566e0..42d13ad 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSearchPerf.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSearchPerf.java
@@ -18,7 +18,6 @@ package org.apache.solr.search;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.*;
-import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.util.AbstractSolrTestCase;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestSimpleQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestSimpleQParserPlugin.java b/solr/core/src/test/org/apache/solr/search/TestSimpleQParserPlugin.java
index 795d8b2..c06c648 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSimpleQParserPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSimpleQParserPlugin.java
@@ -16,9 +16,6 @@
*/
package org.apache.solr.search;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.PrefixQuery;
-import org.apache.lucene.search.Query;
import org.apache.solr.SolrTestCaseJ4;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java b/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
index d7683bf..5ee1f7f 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
@@ -22,7 +22,6 @@ import org.apache.lucene.search.Query;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.core.SolrInfoMBean;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.response.transform.ScoreAugmenter;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/TestSort.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestSort.java b/solr/core/src/test/org/apache/solr/search/TestSort.java
index 8590b18..18597dc 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSort.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSort.java
@@ -20,7 +20,6 @@ import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java b/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
index 8aaede1..93369be 100644
--- a/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
+++ b/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
@@ -20,7 +20,6 @@ import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -30,8 +29,6 @@ import com.tdunning.math.stats.AVLTreeDigest;
import org.apache.solr.common.SolrException;
import org.apache.solr.util.hll.HLL;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.packed.GrowableWriter;
-import org.apache.lucene.util.packed.PackedInts;
import org.apache.solr.JSONTestUtil;
import org.apache.solr.SolrTestCaseHS;
import org.apache.solr.common.SolrInputDocument;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java b/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java
index 7582801..f94a9ee 100644
--- a/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java
+++ b/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java
@@ -26,7 +26,6 @@ import java.util.List;
import java.util.Random;
import org.apache.lucene.index.FieldInvertState;
-import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.search.similarities.TFIDFSimilarity;
import org.apache.solr.SolrTestCaseJ4;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/function/TestMinMaxOnMultiValuedField.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/function/TestMinMaxOnMultiValuedField.java b/solr/core/src/test/org/apache/solr/search/function/TestMinMaxOnMultiValuedField.java
index a9ed680..f725994 100644
--- a/solr/core/src/test/org/apache/solr/search/function/TestMinMaxOnMultiValuedField.java
+++ b/solr/core/src/test/org/apache/solr/search/function/TestMinMaxOnMultiValuedField.java
@@ -24,12 +24,8 @@ import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
-
import org.junit.Before;
import org.junit.BeforeClass;
-import org.junit.Ignore;
@SuppressCodecs({"Memory", "SimpleText"}) // see TestSortedSetSelector
public class TestMinMaxOnMultiValuedField extends SolrTestCaseJ4 {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/function/TestSortByMinMaxFunction.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/function/TestSortByMinMaxFunction.java b/solr/core/src/test/org/apache/solr/search/function/TestSortByMinMaxFunction.java
index 13ac8a3..5475b59 100644
--- a/solr/core/src/test/org/apache/solr/search/function/TestSortByMinMaxFunction.java
+++ b/solr/core/src/test/org/apache/solr/search/function/TestSortByMinMaxFunction.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.search.function;
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
-import org.apache.solr.util.AbstractSolrTestCase;
-import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java b/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
index deb8a8d..39fa791 100644
--- a/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
+++ b/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
@@ -33,7 +33,6 @@ import java.util.List;
import java.util.ListIterator;
import java.util.Locale;
-import javax.xml.namespace.QName;
import javax.xml.xpath.XPathConstants;
public class BJQParserTest extends SolrTestCaseJ4 {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/mlt/SimpleMLTQParserTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/mlt/SimpleMLTQParserTest.java b/solr/core/src/test/org/apache/solr/search/mlt/SimpleMLTQParserTest.java
index a524388..6f3570f 100644
--- a/solr/core/src/test/org/apache/solr/search/mlt/SimpleMLTQParserTest.java
+++ b/solr/core/src/test/org/apache/solr/search/mlt/SimpleMLTQParserTest.java
@@ -16,13 +16,9 @@
*/
package org.apache.solr.search.mlt;
-import java.util.ArrayList;
-
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.response.SolrQueryResponse;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/similarities/TestClassicSimilarityFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/similarities/TestClassicSimilarityFactory.java b/solr/core/src/test/org/apache/solr/search/similarities/TestClassicSimilarityFactory.java
index 6bd0c88..274bf06 100644
--- a/solr/core/src/test/org/apache/solr/search/similarities/TestClassicSimilarityFactory.java
+++ b/solr/core/src/test/org/apache/solr/search/similarities/TestClassicSimilarityFactory.java
@@ -17,7 +17,6 @@
package org.apache.solr.search.similarities;
import org.apache.lucene.search.similarities.ClassicSimilarity;
-import org.apache.lucene.search.similarities.Similarity;
import org.junit.BeforeClass;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/similarities/TestNonDefinedSimilarityFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/similarities/TestNonDefinedSimilarityFactory.java b/solr/core/src/test/org/apache/solr/search/similarities/TestNonDefinedSimilarityFactory.java
index 0dda891..1560c18 100644
--- a/solr/core/src/test/org/apache/solr/search/similarities/TestNonDefinedSimilarityFactory.java
+++ b/solr/core/src/test/org/apache/solr/search/similarities/TestNonDefinedSimilarityFactory.java
@@ -18,7 +18,6 @@ package org.apache.solr.search.similarities;
import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.similarities.BM25Similarity;
-import org.apache.lucene.util.Version;
import org.junit.After;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/similarities/TestPerFieldSimilarityWithDefaultOverride.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/similarities/TestPerFieldSimilarityWithDefaultOverride.java b/solr/core/src/test/org/apache/solr/search/similarities/TestPerFieldSimilarityWithDefaultOverride.java
index 27075fe..ad06663 100644
--- a/solr/core/src/test/org/apache/solr/search/similarities/TestPerFieldSimilarityWithDefaultOverride.java
+++ b/solr/core/src/test/org/apache/solr/search/similarities/TestPerFieldSimilarityWithDefaultOverride.java
@@ -17,8 +17,6 @@
package org.apache.solr.search.similarities;
import org.apache.lucene.misc.SweetSpotSimilarity;
-import org.apache.lucene.search.similarities.BM25Similarity;
-import org.apache.lucene.search.similarities.Similarity;
import org.junit.BeforeClass;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/similarities/TestSweetSpotSimilarityFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/similarities/TestSweetSpotSimilarityFactory.java b/solr/core/src/test/org/apache/solr/search/similarities/TestSweetSpotSimilarityFactory.java
index 7acd05a..4b5503d 100644
--- a/solr/core/src/test/org/apache/solr/search/similarities/TestSweetSpotSimilarityFactory.java
+++ b/solr/core/src/test/org/apache/solr/search/similarities/TestSweetSpotSimilarityFactory.java
@@ -18,7 +18,6 @@ package org.apache.solr.search.similarities;
import org.apache.lucene.misc.SweetSpotSimilarity;
import org.apache.lucene.search.similarities.ClassicSimilarity;
-import org.apache.lucene.search.similarities.Similarity;
import org.junit.BeforeClass;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/search/stats/TestDistribIDF.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/stats/TestDistribIDF.java b/solr/core/src/test/org/apache/solr/search/stats/TestDistribIDF.java
index 4c1c104..f7f7f30 100644
--- a/solr/core/src/test/org/apache/solr/search/stats/TestDistribIDF.java
+++ b/solr/core/src/test/org/apache/solr/search/stats/TestDistribIDF.java
@@ -26,7 +26,6 @@ import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
import org.apache.solr.client.solrj.response.QueryResponse;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/security/TestPKIAuthenticationPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/security/TestPKIAuthenticationPlugin.java b/solr/core/src/test/org/apache/solr/security/TestPKIAuthenticationPlugin.java
index 2f102bf..1eb1d21 100644
--- a/solr/core/src/test/org/apache/solr/security/TestPKIAuthenticationPlugin.java
+++ b/solr/core/src/test/org/apache/solr/security/TestPKIAuthenticationPlugin.java
@@ -17,12 +17,8 @@
package org.apache.solr.security;
import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import java.io.IOException;
import java.security.Principal;
import java.security.PublicKey;
import java.util.HashMap;
@@ -40,8 +36,6 @@ import org.apache.solr.request.SolrRequestInfo;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.util.CryptoKeys;
import org.easymock.EasyMock;
-import org.easymock.IAnswer;
-
import static org.easymock.EasyMock.getCurrentArguments;
public class TestPKIAuthenticationPlugin extends SolrTestCaseJ4 {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java b/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
index f851156..2ba3650 100644
--- a/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
+++ b/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
@@ -27,7 +27,6 @@ import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.handler.component.ResponseBuilder;
import org.apache.solr.handler.component.SearchComponent;
-import org.apache.solr.response.SolrQueryResponse;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -35,9 +34,6 @@ import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.net.URI;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.Map.Entry;
public class ResponseHeaderTest extends SolrJettyTestBase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/spelling/FileBasedSpellCheckerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/spelling/FileBasedSpellCheckerTest.java b/solr/core/src/test/org/apache/solr/spelling/FileBasedSpellCheckerTest.java
index 3182a28..f107024 100644
--- a/solr/core/src/test/org/apache/solr/spelling/FileBasedSpellCheckerTest.java
+++ b/solr/core/src/test/org/apache/solr/spelling/FileBasedSpellCheckerTest.java
@@ -22,7 +22,6 @@ import java.util.Map;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
import org.apache.lucene.util.LuceneTestCase.SuppressTempFileChecks;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.util.NamedList;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/spelling/SimpleQueryConverter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/spelling/SimpleQueryConverter.java b/solr/core/src/test/org/apache/solr/spelling/SimpleQueryConverter.java
index 60140f2..d2877d9 100644
--- a/solr/core/src/test/org/apache/solr/spelling/SimpleQueryConverter.java
+++ b/solr/core/src/test/org/apache/solr/spelling/SimpleQueryConverter.java
@@ -25,8 +25,6 @@ import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
-import org.apache.lucene.util.LuceneTestCase;
-
import java.util.Collection;
import java.util.HashSet;
import java.io.IOException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/spelling/TestSuggestSpellingConverter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/spelling/TestSuggestSpellingConverter.java b/solr/core/src/test/org/apache/solr/spelling/TestSuggestSpellingConverter.java
index 1d312e0..65f3242 100644
--- a/solr/core/src/test/org/apache/solr/spelling/TestSuggestSpellingConverter.java
+++ b/solr/core/src/test/org/apache/solr/spelling/TestSuggestSpellingConverter.java
@@ -17,7 +17,6 @@
package org.apache.solr.spelling;
import java.io.IOException;
-import java.io.Reader;
import java.util.Collection;
import java.util.regex.Pattern;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/spelling/suggest/TestFreeTextSuggestions.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/spelling/suggest/TestFreeTextSuggestions.java b/solr/core/src/test/org/apache/solr/spelling/suggest/TestFreeTextSuggestions.java
index bd5d37c..a091235 100644
--- a/solr/core/src/test/org/apache/solr/spelling/suggest/TestFreeTextSuggestions.java
+++ b/solr/core/src/test/org/apache/solr/spelling/suggest/TestFreeTextSuggestions.java
@@ -17,7 +17,6 @@
package org.apache.solr.spelling.suggest;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.params.SpellingParams;
import org.junit.BeforeClass;
public class TestFreeTextSuggestions extends SolrTestCaseJ4 {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
index af9ea95..ee27f6e 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
@@ -16,9 +16,7 @@
*/
package org.apache.solr.uninverting;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
@@ -31,14 +29,9 @@ import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.BinaryDocValuesField;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.DoublePoint;
-import org.apache.lucene.document.Field.Store;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FloatPoint;
import org.apache.lucene.document.IntPoint;
-import org.apache.lucene.document.LegacyDoubleField;
-import org.apache.lucene.document.LegacyFloatField;
-import org.apache.lucene.document.LegacyIntField;
-import org.apache.lucene.document.LegacyLongField;
import org.apache.lucene.document.LongPoint;
import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.document.SortedDocValuesField;
@@ -55,13 +48,10 @@ import org.apache.lucene.index.NumericDocValues;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.SortedSetDocValues;
-import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.LegacyNumericUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
import org.apache.solr.index.SlowCompositeReaderWrapper;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java b/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
index 557e6b2..9c791c2 100644
--- a/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
+++ b/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
@@ -29,7 +29,6 @@ import java.util.Collections;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicInteger;
@@ -52,7 +51,6 @@ import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.JavaBinCodec;
import org.apache.solr.handler.loader.XMLLoader;
-import org.apache.solr.search.QueryWrapperFilter;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.DefaultSolrThreadFactory;
import org.apache.solr.util.RefCounted;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java b/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java
index dc5ab44..01e44fd 100644
--- a/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java
+++ b/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java
@@ -18,7 +18,6 @@ package org.apache.solr.update;
import java.io.File;
import java.io.FileFilter;
-import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/TestExceedMaxTermLength.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/TestExceedMaxTermLength.java b/solr/core/src/test/org/apache/solr/update/TestExceedMaxTermLength.java
index 0888121..9bf502b 100644
--- a/solr/core/src/test/org/apache/solr/update/TestExceedMaxTermLength.java
+++ b/solr/core/src/test/org/apache/solr/update/TestExceedMaxTermLength.java
@@ -18,7 +18,6 @@ package org.apache.solr.update;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.util.TestUtil;
-import org.apache.solr.common.params.SolrParams;
import org.apache.solr.SolrTestCaseJ4;
import java.util.Locale;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/VersionInfoTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/VersionInfoTest.java b/solr/core/src/test/org/apache/solr/update/VersionInfoTest.java
index b8039a8..6bccd95 100644
--- a/solr/core/src/test/org/apache/solr/update/VersionInfoTest.java
+++ b/solr/core/src/test/org/apache/solr/update/VersionInfoTest.java
@@ -21,8 +21,6 @@ import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.util.Hash;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.request.SolrQueryRequest;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
import org.junit.Test;
public class VersionInfoTest extends SolrTestCaseJ4 {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/CustomUpdateRequestProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/CustomUpdateRequestProcessor.java b/solr/core/src/test/org/apache/solr/update/processor/CustomUpdateRequestProcessor.java
index 36bf564..051614b 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/CustomUpdateRequestProcessor.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/CustomUpdateRequestProcessor.java
@@ -16,11 +16,7 @@
*/
package org.apache.solr.update.processor;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.update.processor.UpdateRequestProcessor;
-import org.apache.solr.update.processor.UpdateRequestProcessorFactory;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/DefaultValueUpdateProcessorTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/DefaultValueUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/DefaultValueUpdateProcessorTest.java
index 2f3c9c0..c90a727 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/DefaultValueUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/DefaultValueUpdateProcessorTest.java
@@ -23,12 +23,9 @@ import java.io.IOException;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.params.SolrParams;
-
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
@@ -40,9 +37,7 @@ import org.apache.solr.update.AddUpdateCommand;
import org.apache.solr.update.processor.UpdateRequestProcessor;
import org.apache.solr.update.processor.UpdateRequestProcessorChain;
-import org.junit.Before;
import org.junit.BeforeClass;
-import org.junit.Test;
public class DefaultValueUpdateProcessorTest extends SolrTestCaseJ4 {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactoryTest.java
index 281f486..1b22411 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactoryTest.java
@@ -18,7 +18,6 @@ package org.apache.solr.update.processor;
import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.update.processor.UpdateRequestProcessor;
import org.apache.solr.update.processor.UpdateRequestProcessorChain;
import org.apache.solr.update.processor.UpdateRequestProcessorFactory;
import org.apache.solr.update.UpdateCommand;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/IgnoreCommitOptimizeUpdateProcessorFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/IgnoreCommitOptimizeUpdateProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/IgnoreCommitOptimizeUpdateProcessorFactoryTest.java
index 24a6976..9d0cb8b 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/IgnoreCommitOptimizeUpdateProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/IgnoreCommitOptimizeUpdateProcessorFactoryTest.java
@@ -17,21 +17,16 @@
package org.apache.solr.update.processor;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.SolrInputField;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestInfo;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.update.AddUpdateCommand;
import org.apache.solr.update.CommitUpdateCommand;
import org.junit.BeforeClass;
import java.io.IOException;
-import java.util.Date;
-import java.util.UUID;
public class IgnoreCommitOptimizeUpdateProcessorFactoryTest extends SolrTestCaseJ4 {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/RecordingUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/RecordingUpdateProcessorFactory.java b/solr/core/src/test/org/apache/solr/update/processor/RecordingUpdateProcessorFactory.java
index 48d0596..a13fdaa 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/RecordingUpdateProcessorFactory.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/RecordingUpdateProcessorFactory.java
@@ -18,9 +18,6 @@ package org.apache.solr.update.processor;
import java.io.IOException;
-import org.apache.solr.common.SolrException;
-import static org.apache.solr.common.SolrException.ErrorCode.*;
-
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.update.UpdateCommand;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/StatelessScriptUpdateProcessorFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/StatelessScriptUpdateProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/StatelessScriptUpdateProcessorFactoryTest.java
index 4ef6041..99c41e9 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/StatelessScriptUpdateProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/StatelessScriptUpdateProcessorFactoryTest.java
@@ -16,16 +16,11 @@
*/
package org.apache.solr.update.processor;
-import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.params.UpdateParams;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.search.SolrIndexSearcher;
-import org.apache.solr.util.RefCounted;
-
import org.junit.Assume;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/TestNamedUpdateProcessors.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/TestNamedUpdateProcessors.java b/solr/core/src/test/org/apache/solr/update/processor/TestNamedUpdateProcessors.java
index 7e540c9..3242c09 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/TestNamedUpdateProcessors.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/TestNamedUpdateProcessors.java
@@ -39,7 +39,6 @@ import org.apache.solr.common.util.StrUtils;
import org.apache.solr.core.TestDynamicLoading;
import org.apache.solr.core.TestSolrConfigHandler;
import org.apache.solr.handler.TestBlobHandler;
-import org.apache.solr.util.RESTfulServerProvider;
import org.apache.solr.util.RestTestHarness;
import org.apache.solr.util.SimplePostTool;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/TestPartialUpdateDeduplication.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/TestPartialUpdateDeduplication.java b/solr/core/src/test/org/apache/solr/update/processor/TestPartialUpdateDeduplication.java
index f7e71c6..d494eb6 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/TestPartialUpdateDeduplication.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/TestPartialUpdateDeduplication.java
@@ -17,15 +17,12 @@
package org.apache.solr.update.processor;
import com.google.common.collect.Maps;
-import org.noggit.ObjectBuilder;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.core.SolrCore;
import org.junit.BeforeClass;
import org.junit.Test;
-import java.util.List;
import java.util.Map;
import static org.apache.solr.update.processor.SignatureUpdateProcessorFactoryTest.addDoc;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/TolerantUpdateProcessorTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/TolerantUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/TolerantUpdateProcessorTest.java
index 9bbead8..7b077be 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/TolerantUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/TolerantUpdateProcessorTest.java
@@ -31,8 +31,6 @@ import javax.xml.xpath.XPathExpressionException;
import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.ToleratedUpdateError;
-import org.apache.solr.common.ToleratedUpdateError.CmdType;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.SimpleOrderedMap;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactoryTest.java
index 5f25d97..6156ec9 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactoryTest.java
@@ -28,7 +28,6 @@ import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.ContentStreamBase;
import org.apache.solr.core.SolrCore;
import org.apache.solr.handler.UpdateRequestHandler;
-import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrQueryRequestBase;
import org.apache.solr.response.SolrQueryResponse;
import org.junit.Before;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/update/processor/UpdateProcessorTestBase.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/UpdateProcessorTestBase.java b/solr/core/src/test/org/apache/solr/update/processor/UpdateProcessorTestBase.java
index eb9f212..24d818e 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/UpdateProcessorTestBase.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/UpdateProcessorTestBase.java
@@ -21,7 +21,6 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
-import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrRequestInfo;
import org.apache.solr.request.LocalSolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/test/org/apache/solr/util/TestFastWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/util/TestFastWriter.java b/solr/core/src/test/org/apache/solr/util/TestFastWriter.java
index 81c8618..5857666 100644
--- a/solr/core/src/test/org/apache/solr/util/TestFastWriter.java
+++ b/solr/core/src/test/org/apache/solr/util/TestFastWriter.java
@@ -17,9 +17,6 @@
package org.apache.solr.util;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.solr.common.util.FastOutputStream;
-import org.apache.solr.update.MemOutputStream;
-
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/impl/InputStreamResponseParser.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/InputStreamResponseParser.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/InputStreamResponseParser.java
index 717b148..5f544cc 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/InputStreamResponseParser.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/InputStreamResponseParser.java
@@ -16,14 +16,10 @@
*/
package org.apache.solr.client.solrj.impl;
-import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
-import java.io.StringWriter;
-import org.apache.commons.io.IOUtils;
import org.apache.solr.client.solrj.ResponseParser;
-import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.NamedList;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java
index f9cf513..9d5a926 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.client.solrj.impl;
-import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.security.Principal;
import java.util.Arrays;
@@ -29,8 +28,6 @@ import javax.security.auth.login.Configuration;
import org.apache.http.HttpEntity;
import org.apache.http.HttpEntityEnclosingRequest;
-import org.apache.http.HttpException;
-import org.apache.http.HttpRequest;
import org.apache.http.HttpRequestInterceptor;
import org.apache.http.auth.AuthSchemeProvider;
import org.apache.http.auth.AuthScope;
@@ -43,10 +40,6 @@ import org.apache.http.cookie.CookieSpecProvider;
import org.apache.http.entity.BufferedHttpEntity;
import org.apache.http.impl.auth.SPNegoSchemeFactory;
import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.apache.http.protocol.HttpContext;
-import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder.AuthSchemeRegistryProvider;
-import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder.CookieSpecRegistryProvider;
-import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder.CredentialsProviderProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java
index 09fe30f..0eaca5c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java
@@ -17,8 +17,6 @@
package org.apache.solr.client.solrj.io.comp;
import java.io.Serializable;
-import org.apache.solr.client.solrj.io.Tuple;
-
public class HashKey implements Serializable {
private static final long serialVersionUID = 1;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/MultipleFieldComparator.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/MultipleFieldComparator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/MultipleFieldComparator.java
index 1370540..c709f4d 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/MultipleFieldComparator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/MultipleFieldComparator.java
@@ -17,7 +17,6 @@
package org.apache.solr.client.solrj.io.comp;
import java.io.IOException;
-import java.util.List;
import java.util.Map;
import java.util.UUID;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java
index 29a4a78..b4279b6 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java
@@ -17,17 +17,9 @@
package org.apache.solr.client.solrj.io.stream;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.apache.solr.client.solrj.io.Tuple;
-import org.apache.solr.client.solrj.io.comp.ComparatorOrder;
import org.apache.solr.client.solrj.io.comp.FieldComparator;
import org.apache.solr.client.solrj.io.comp.MultipleFieldComparator;
import org.apache.solr.client.solrj.io.comp.StreamComparator;
-import org.apache.solr.client.solrj.io.eq.Equalitor;
import org.apache.solr.client.solrj.io.eq.FieldEqualitor;
import org.apache.solr.client.solrj.io.eq.MultipleFieldEqualitor;
import org.apache.solr.client.solrj.io.eq.StreamEqualitor;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LeftOuterJoinStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LeftOuterJoinStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LeftOuterJoinStream.java
index aee1495..1cd763d 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LeftOuterJoinStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LeftOuterJoinStream.java
@@ -20,11 +20,7 @@ import java.io.IOException;
import java.util.LinkedList;
import org.apache.solr.client.solrj.io.Tuple;
-import org.apache.solr.client.solrj.io.comp.FieldComparator;
-import org.apache.solr.client.solrj.io.comp.MultipleFieldComparator;
import org.apache.solr.client.solrj.io.comp.StreamComparator;
-import org.apache.solr.client.solrj.io.eq.FieldEqualitor;
-import org.apache.solr.client.solrj.io.eq.MultipleFieldEqualitor;
import org.apache.solr.client.solrj.io.eq.StreamEqualitor;
import org.apache.solr.client.solrj.io.stream.expr.Expressible;
import org.apache.solr.client.solrj.io.stream.expr.StreamExpression;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StreamContext.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StreamContext.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StreamContext.java
index 87e3035..8ca808f 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StreamContext.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StreamContext.java
@@ -19,8 +19,6 @@ package org.apache.solr.client.solrj.io.stream;
import java.io.Serializable;
import java.util.Map;
import java.util.HashMap;
-import java.util.concurrent.ConcurrentHashMap;
-
import org.apache.solr.client.solrj.io.SolrClientCache;
import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExplanation.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExplanation.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExplanation.java
index fdf8749..ffb407a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExplanation.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExplanation.java
@@ -17,10 +17,8 @@
package org.apache.solr.client.solrj.io.stream.expr;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.UUID;
/**
* Explanation containing details about a stream expression
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/response/FacetField.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/FacetField.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/FacetField.java
index 342d835..2877354 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/FacetField.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/FacetField.java
@@ -19,7 +19,6 @@ package org.apache.solr.client.solrj.response;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Date;
import java.util.List;
import org.apache.solr.client.solrj.util.ClientUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/client/solrj/response/PivotField.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/PivotField.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/PivotField.java
index 6b07392..f5216d6 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/PivotField.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/PivotField.java
@@ -21,8 +21,6 @@ import java.io.Serializable;
import java.util.List;
import java.util.Map;
-import org.apache.solr.common.util.NamedList;
-
public class PivotField implements Serializable
{
final String _field;
[31/50] [abbrv] lucene-solr:apiv2: LUCENE-7320: fail precommit on
unusedImport
Posted by no...@apache.org.
LUCENE-7320: fail precommit on unusedImport
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/c8911ccc
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/c8911ccc
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/c8911ccc
Branch: refs/heads/apiv2
Commit: c8911ccc772cae252c03099dc8711509a1bede34
Parents: 52f5c50
Author: Christine Poerschke <cp...@apache.org>
Authored: Mon Jun 13 10:44:30 2016 +0100
Committer: Christine Poerschke <cp...@apache.org>
Committed: Mon Jun 13 10:44:30 2016 +0100
----------------------------------------------------------------------
lucene/tools/javadoc/ecj.javadocs.prefs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/c8911ccc/lucene/tools/javadoc/ecj.javadocs.prefs
----------------------------------------------------------------------
diff --git a/lucene/tools/javadoc/ecj.javadocs.prefs b/lucene/tools/javadoc/ecj.javadocs.prefs
index bd98c99..c81d8e3 100644
--- a/lucene/tools/javadoc/ecj.javadocs.prefs
+++ b/lucene/tools/javadoc/ecj.javadocs.prefs
@@ -82,7 +82,7 @@ org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
org.eclipse.jdt.core.compiler.problem.unusedLabel=ignore
org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
[47/50] [abbrv] lucene-solr:apiv2: SOLR-8048: bin/solr script should
support basic auth credentials provided in solr.in.sh
Posted by no...@apache.org.
SOLR-8048: bin/solr script should support basic auth credentials provided in solr.in.sh
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/5eabffc7
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/5eabffc7
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/5eabffc7
Branch: refs/heads/apiv2
Commit: 5eabffc79754f533654bcbc73ab6441e6059d45f
Parents: 5ee4e8a
Author: Noble Paul <no...@apache.org>
Authored: Tue Jun 14 20:08:08 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Tue Jun 14 20:08:08 2016 +0530
----------------------------------------------------------------------
solr/core/src/java/org/apache/solr/util/SolrCLI.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5eabffc7/solr/core/src/java/org/apache/solr/util/SolrCLI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/SolrCLI.java b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
index 474d1fc..34fda54 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
@@ -26,7 +26,6 @@ import java.net.ConnectException;
import java.net.Socket;
import java.net.SocketException;
import java.net.URL;
-import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
[34/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: Remove more unused
imports.
Posted by no...@apache.org.
LUCENE-7319: Remove more unused imports.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/5e2677e0
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/5e2677e0
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/5e2677e0
Branch: refs/heads/apiv2
Commit: 5e2677e0fb357c89408005e49b9d55981f884f73
Parents: 038fe93
Author: Adrien Grand <jp...@gmail.com>
Authored: Mon Jun 13 15:22:36 2016 +0200
Committer: Adrien Grand <jp...@gmail.com>
Committed: Mon Jun 13 15:24:10 2016 +0200
----------------------------------------------------------------------
.../src/java/org/apache/solr/cloud/OverseerTaskProcessor.java | 2 --
solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java | 1 -
solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java | 2 --
.../core/src/test/org/apache/solr/cloud/DistributedQueueTest.java | 1 -
.../core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java | 1 -
.../src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java | 3 ---
6 files changed, 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e2677e0/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
index 9c739c1..e3bc1f3 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
@@ -19,7 +19,6 @@ package org.apache.solr.cloud;
import java.io.Closeable;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
@@ -42,7 +41,6 @@ import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
-import org.apache.solr.handler.component.ShardHandlerFactory;
import org.apache.solr.util.DefaultSolrThreadFactory;
import org.apache.solr.util.stats.TimerContext;
import org.apache.zookeeper.KeeperException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e2677e0/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
index 5719aa9..8e0c49a 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
@@ -19,7 +19,6 @@ package org.apache.solr.cloud;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.List;
-import java.util.Set;
import java.util.TreeSet;
import java.util.function.Predicate;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e2677e0/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java b/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
index ab7771a..2041d2f 100644
--- a/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
+++ b/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
@@ -28,8 +28,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.UUID;
-import java.util.stream.Collector;
-import java.util.stream.Collectors;
import org.apache.commons.io.IOUtils;
import org.apache.solr.common.SolrException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e2677e0/solr/core/src/test/org/apache/solr/cloud/DistributedQueueTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/DistributedQueueTest.java b/solr/core/src/test/org/apache/solr/cloud/DistributedQueueTest.java
index 66a7ed8..cb904a7 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistributedQueueTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistributedQueueTest.java
@@ -23,7 +23,6 @@ import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import com.google.common.base.Predicates;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.util.ExecutorUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e2677e0/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java b/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java
index ec8a6c4..c0f29d2 100644
--- a/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java
@@ -30,7 +30,6 @@ import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
import org.apache.solr.client.solrj.response.RequestStatusState;
import org.apache.solr.common.params.CollectionParams;
-import org.apache.solr.common.params.CommonAdminParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.Utils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e2677e0/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java
index 6380aac..54b66a0 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java
@@ -16,12 +16,9 @@
*/
package org.apache.solr.cloud;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.function.Function;
-import java.util.function.Predicate;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.response.SolrResponseBase;
[15/50] [abbrv] lucene-solr:apiv2: LUCENE-7302: move CHANGES entry to
the right place
Posted by no...@apache.org.
LUCENE-7302: move CHANGES entry to the right place
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/32c8dfaa
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/32c8dfaa
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/32c8dfaa
Branch: refs/heads/apiv2
Commit: 32c8dfaad5c6d8f79b7d0d7d917db0605f27a9ea
Parents: 8bd2797
Author: Mike McCandless <mi...@apache.org>
Authored: Sat Jun 11 15:39:14 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Sat Jun 11 15:39:14 2016 -0400
----------------------------------------------------------------------
lucene/CHANGES.txt | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/32c8dfaa/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index f104ac6..fb46c5f 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -15,6 +15,12 @@ Other
======================= Lucene 6.2.0 =======================
+New Features
+
+* LUCENE-7302: IndexWriter methods that change the index now return a
+ long "sequence number" indicating the effective equivalent
+ single-threaded execution order (Mike McCandless)
+
Bug Fixes
* LUCENE-6662: Fixed potential resource leaks. (Rishabh Patel via Adrien Grand)
@@ -55,10 +61,6 @@ New Features
applicable and supported when copying files from another FSDirectory in
Directory#copyFrom. (Simon Willnauer)
-* LUCENE-7302: IndexWriter methods that change the index now return a
- long "sequence number" indicating the effective equivalent
- single-threaded execution order (Mike McCandless)
-
API Changes
* LUCENE-7184: Refactor LatLonPoint encoding methods to new GeoEncodingUtils
[26/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: remove unused imports
Posted by no...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
index 836d014..0a9aaa7 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
@@ -34,14 +34,12 @@ import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
-import org.apache.solr.common.util.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.apache.solr.cloud.OverseerCollectionMessageHandler.COLL_PROP_PREFIX;
import static org.apache.solr.cloud.overseer.CollectionMutator.checkCollectionKeyExistence;
import static org.apache.solr.common.util.Utils.makeMap;
-import static org.apache.solr.common.params.CommonParams.NAME;
public class SliceMutator {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
index 02ed873..e313e36 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
@@ -18,9 +18,7 @@ package org.apache.solr.cloud.overseer;
import java.lang.invoke.MethodHandles;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.apache.solr.cloud.Overseer;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java b/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
index efd0648..eb881be 100644
--- a/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
+++ b/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
@@ -21,7 +21,6 @@ import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.Collections;
-import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/core/BlobRepository.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/BlobRepository.java b/solr/core/src/java/org/apache/solr/core/BlobRepository.java
index 0f3d1c3..bbe7c62 100644
--- a/solr/core/src/java/org/apache/solr/core/BlobRepository.java
+++ b/solr/core/src/java/org/apache/solr/core/BlobRepository.java
@@ -19,8 +19,6 @@ package org.apache.solr.core;
import static org.apache.solr.common.SolrException.ErrorCode.SERVICE_UNAVAILABLE;
import static org.apache.solr.common.cloud.ZkStateReader.BASE_URL_PROP;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
import java.io.InputStream;
import java.lang.invoke.MethodHandles;
import java.nio.ByteBuffer;
@@ -38,7 +36,6 @@ import java.util.regex.Pattern;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
-import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.cloud.ClusterState;
import org.apache.solr.common.cloud.DocCollection;
@@ -51,9 +48,6 @@ import org.apache.zookeeper.server.ByteBufferInputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.apache.solr.common.SolrException.ErrorCode.SERVICE_UNAVAILABLE;
-import static org.apache.solr.common.cloud.ZkStateReader.BASE_URL_PROP;
-
/**
* The purpose of this class is to store the Jars loaded in memory and to keep only one copy of the Jar in a single node.
*/
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java b/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
index ae3e055..5d9bbdb 100644
--- a/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
+++ b/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.core;
-import java.io.IOException;
-import java.io.StringReader;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedList;
@@ -29,9 +27,7 @@ import org.apache.solr.common.params.CoreAdminParams;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
import org.noggit.CharArr;
-import org.noggit.JSONParser;
import org.noggit.JSONWriter;
-import org.noggit.ObjectBuilder;
/**
* This class encapsulates the config overlay json file. It is immutable
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/core/ConfigSetService.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/ConfigSetService.java b/solr/core/src/java/org/apache/solr/core/ConfigSetService.java
index 3e5c8f9..3f47f46 100644
--- a/solr/core/src/java/org/apache/solr/core/ConfigSetService.java
+++ b/solr/core/src/java/org/apache/solr/core/ConfigSetService.java
@@ -22,7 +22,6 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Locale;
-import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import com.google.common.cache.Cache;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/core/CoreContainer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index ff776b5..e5e16cb 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -37,7 +37,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
-import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
index 77d7bd9..25f094e 100644
--- a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
@@ -25,7 +25,6 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Locale;
import java.util.Set;
-import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java
index f2413c9..0784d21 100644
--- a/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java
@@ -20,7 +20,6 @@ import java.io.IOException;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.LockFactory;
-import org.apache.lucene.store.NoLockFactory;
import org.apache.lucene.store.SimpleFSDirectory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/core/SolrCore.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index b793ee7..53af3d1 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -72,7 +72,6 @@ import org.apache.solr.core.DirectoryFactory.DirContext;
import org.apache.solr.handler.IndexFetcher;
import org.apache.solr.handler.ReplicationHandler;
import org.apache.solr.handler.RequestHandlerBase;
-import org.apache.solr.handler.admin.ShowFileRequestHandler;
import org.apache.solr.handler.component.HighlightComponent;
import org.apache.solr.handler.component.SearchComponent;
import org.apache.solr.logging.MDCLoggingContext;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/core/SolrCores.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCores.java b/solr/core/src/java/org/apache/solr/core/SolrCores.java
index 8a4af9f..2bcea17 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCores.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCores.java
@@ -34,10 +34,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
-import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java b/solr/core/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java
index 1837914..409b03f 100644
--- a/solr/core/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java
+++ b/solr/core/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java
@@ -17,7 +17,6 @@
package org.apache.solr.handler;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.params.UpdateParams;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.handler.loader.ContentStreamLoader;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/GraphHandler.java b/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
index a203a4f..657e6b3 100644
--- a/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
@@ -24,7 +24,6 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import org.apache.solr.client.solrj.io.SolrClientCache;
import org.apache.solr.client.solrj.io.Tuple;
import org.apache.solr.client.solrj.io.comp.StreamComparator;
import org.apache.solr.client.solrj.io.graph.GatherNodesStream;
@@ -48,7 +47,6 @@ import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.core.CloseHook;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java b/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
index a4d9ea0..bbb6484 100644
--- a/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
@@ -23,7 +23,6 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -48,7 +47,6 @@ import org.apache.solr.common.params.MoreLikeThisParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.handler.component.FacetComponent;
import org.apache.solr.request.SimpleFacets;
import org.apache.solr.request.SolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java b/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java
index fd30d9f..6c9b0a9 100644
--- a/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java
@@ -18,7 +18,6 @@ package org.apache.solr.handler;
import org.apache.solr.handler.component.*;
-import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
index 98f6896..bb7df32 100644
--- a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
+++ b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
@@ -23,9 +23,7 @@ import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.common.util.SuppressForbidden;
import org.apache.solr.core.PluginInfo;
import org.apache.solr.core.PluginBag;
-import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrInfoMBean;
-import org.apache.solr.handler.component.SearchHandler;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestHandler;
import org.apache.solr.response.SolrQueryResponse;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java
index 4db2950..ab2b172 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java
@@ -24,7 +24,6 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.apache.solr.client.solrj.SolrResponse;
-import org.apache.solr.cloud.Overseer;
import org.apache.solr.cloud.OverseerSolrResponse;
import org.apache.solr.cloud.OverseerTaskQueue.QueueEvent;
import org.apache.solr.common.SolrException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
index 6e295f7..49da174 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
@@ -33,10 +33,8 @@ import org.apache.solr.cloud.ZkController;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.cloud.ZkStateReader;
-import org.apache.solr.common.params.CollectionParams;
import org.apache.solr.common.params.CommonAdminParams;
import org.apache.solr.common.params.CoreAdminParams;
-import org.apache.solr.common.params.CoreAdminParams.CoreAdminAction;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ExecutorUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
index b20ea26..ea08438 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
@@ -33,8 +33,6 @@ import org.apache.solr.handler.RequestHandlerBase;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.RawResponseWriter;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.schema.ManagedIndexSchema;
import org.apache.zookeeper.KeeperException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
index 3525585..4d3c2b5 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
@@ -33,7 +33,6 @@ import java.io.StringReader;
import java.net.URL;
import java.text.NumberFormat;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Set;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java b/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java
index e500c55..f63ae51 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java
@@ -41,7 +41,6 @@ import org.apache.solr.util.plugin.SolrCoreAware;
import java.io.IOException;
import java.net.URL;
import java.util.List;
-import java.util.Map;
/**
* TODO!
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
index aa08094..931d362 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
@@ -41,7 +41,6 @@ import org.apache.lucene.search.FieldComparator;
import org.apache.lucene.search.LeafFieldComparator;
import org.apache.lucene.search.MatchNoDocsQuery;
import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.Scorer;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
@@ -59,7 +58,6 @@ import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.CursorMarkParams;
import org.apache.solr.common.params.GroupParams;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.params.MoreLikeThisParams;
import org.apache.solr.common.params.ShardParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
index 0908f00..1c42b03 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
@@ -27,7 +27,6 @@ import java.util.Map;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.DocValuesType;
import org.apache.lucene.index.IndexableField;
-import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.MatchAllDocsQuery;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java b/solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
index 37f6a1a..2e1bebe 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
@@ -53,7 +53,6 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.params.SpellingParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
-import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrEventListener;
import org.apache.solr.core.SolrResourceLoader;
@@ -63,7 +62,6 @@ import org.apache.solr.search.DocSet;
import org.apache.solr.search.QParser;
import org.apache.solr.search.QParserPlugin;
import org.apache.solr.search.SyntaxError;
-import org.apache.solr.search.SolrCache;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.spelling.AbstractLuceneSpellChecker;
import org.apache.solr.spelling.ConjunctionSolrSpellChecker;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/component/SpellCheckMergeData.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/SpellCheckMergeData.java b/solr/core/src/java/org/apache/solr/handler/component/SpellCheckMergeData.java
index 4b8310a..4a70101 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/SpellCheckMergeData.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/SpellCheckMergeData.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.handler.component;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java b/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
index c96a2eb..a2e4a4e 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
@@ -19,8 +19,6 @@ package org.apache.solr.handler.component;
import java.io.IOException;
import java.util.*;
import java.nio.ByteBuffer;
-import java.nio.charset.StandardCharsets;
-
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
@@ -33,7 +31,6 @@ import org.apache.solr.handler.component.StatsField.Stat;
import org.apache.solr.schema.*;
import com.tdunning.math.stats.AVLTreeDigest;
-import com.google.common.hash.Hashing;
import com.google.common.hash.HashFunction;
import org.apache.solr.util.hll.HLL;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java b/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java
index 4a46e66..a949268 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java
@@ -33,7 +33,6 @@ import org.apache.solr.client.solrj.response.TermsResponse;
import java.io.IOException;
import java.util.Arrays;
-import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/highlight/PostingsSolrHighlighter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/highlight/PostingsSolrHighlighter.java b/solr/core/src/java/org/apache/solr/highlight/PostingsSolrHighlighter.java
index a5816cd..d005f4e 100644
--- a/solr/core/src/java/org/apache/solr/highlight/PostingsSolrHighlighter.java
+++ b/solr/core/src/java/org/apache/solr/highlight/PostingsSolrHighlighter.java
@@ -37,7 +37,6 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.core.PluginInfo;
-import org.apache.solr.core.SolrConfig;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/index/SlowCompositeReaderWrapper.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/index/SlowCompositeReaderWrapper.java b/solr/core/src/java/org/apache/solr/index/SlowCompositeReaderWrapper.java
index fd18850..0502739 100644
--- a/solr/core/src/java/org/apache/solr/index/SlowCompositeReaderWrapper.java
+++ b/solr/core/src/java/org/apache/solr/index/SlowCompositeReaderWrapper.java
@@ -29,7 +29,6 @@ import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.FieldInfos;
import org.apache.lucene.index.Fields;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.LeafReader.CoreClosedListener;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.MultiDocValues.MultiSortedDocValues;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/index/SortingMergePolicy.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/index/SortingMergePolicy.java b/solr/core/src/java/org/apache/solr/index/SortingMergePolicy.java
index 7b334b1..313b662 100644
--- a/solr/core/src/java/org/apache/solr/index/SortingMergePolicy.java
+++ b/solr/core/src/java/org/apache/solr/index/SortingMergePolicy.java
@@ -16,30 +16,9 @@
*/
package org.apache.solr.index;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.MergePolicy;
import org.apache.lucene.index.MergePolicyWrapper;
-import org.apache.lucene.index.MergeState;
-import org.apache.lucene.index.MergeTrigger;
-import org.apache.lucene.index.MultiReader;
-import org.apache.lucene.index.SegmentCommitInfo;
-import org.apache.lucene.index.SegmentInfo;
-import org.apache.lucene.index.SegmentInfos;
-import org.apache.lucene.index.SegmentReader;
import org.apache.lucene.search.Sort;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.InfoStream;
-import org.apache.lucene.util.packed.PackedInts;
-import org.apache.lucene.util.packed.PackedLongValues;
-import org.apache.solr.index.SlowCompositeReaderWrapper;
// TODO: remove this and add indexSort specification directly to solrconfig.xml? But for BWC, also accept SortingMergePolicy specifiction?
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/internal/csv/CSVParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/internal/csv/CSVParser.java b/solr/core/src/java/org/apache/solr/internal/csv/CSVParser.java
index 7bd918f..4ccb1af 100644
--- a/solr/core/src/java/org/apache/solr/internal/csv/CSVParser.java
+++ b/solr/core/src/java/org/apache/solr/internal/csv/CSVParser.java
@@ -18,8 +18,6 @@ package org.apache.solr.internal.csv;
import java.io.IOException;
import java.io.Reader;
-import java.io.InputStreamReader;
-import java.io.InputStream;
import java.util.ArrayList;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/internal/csv/CSVPrinter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/internal/csv/CSVPrinter.java b/solr/core/src/java/org/apache/solr/internal/csv/CSVPrinter.java
index bf081b7..be260e0 100644
--- a/solr/core/src/java/org/apache/solr/internal/csv/CSVPrinter.java
+++ b/solr/core/src/java/org/apache/solr/internal/csv/CSVPrinter.java
@@ -17,8 +17,6 @@
package org.apache.solr.internal.csv;
import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintWriter;
import java.io.Writer;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/parser/QueryParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/parser/QueryParser.java b/solr/core/src/java/org/apache/solr/parser/QueryParser.java
index 9dd924c..b2ef500 100644
--- a/solr/core/src/java/org/apache/solr/parser/QueryParser.java
+++ b/solr/core/src/java/org/apache/solr/parser/QueryParser.java
@@ -4,14 +4,8 @@ package org.apache.solr.parser;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
-import java.util.Locale;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.document.DateTools;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermRangeQuery;
-import org.apache.lucene.search.TermQuery;
import org.apache.lucene.util.Version;
import org.apache.solr.search.SyntaxError;
import org.apache.solr.search.QParser;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/parser/QueryParserTokenManager.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/parser/QueryParserTokenManager.java b/solr/core/src/java/org/apache/solr/parser/QueryParserTokenManager.java
index d9fddd5..6251ff4 100644
--- a/solr/core/src/java/org/apache/solr/parser/QueryParserTokenManager.java
+++ b/solr/core/src/java/org/apache/solr/parser/QueryParserTokenManager.java
@@ -1,18 +1,5 @@
/* Generated By:JavaCC: Do not edit this line. QueryParserTokenManager.java */
package org.apache.solr.parser;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.document.DateTools;
-import org.apache.lucene.search.BooleanClause;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermRangeQuery;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.util.Version;
-import org.apache.solr.search.SyntaxError;
-import org.apache.solr.search.QParser;
/** Token Manager. */
public class QueryParserTokenManager implements QueryParserConstants
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/parser/SolrQueryParserBase.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/parser/SolrQueryParserBase.java b/solr/core/src/java/org/apache/solr/parser/SolrQueryParserBase.java
index 81c0fd7..24a6f3e 100644
--- a/solr/core/src/java/org/apache/solr/parser/SolrQueryParserBase.java
+++ b/solr/core/src/java/org/apache/solr/parser/SolrQueryParserBase.java
@@ -39,7 +39,6 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.search.RegexpQuery;
import org.apache.lucene.search.WildcardQuery;
import org.apache.lucene.util.QueryBuilder;
-import org.apache.lucene.util.ToStringUtils;
import org.apache.lucene.util.Version;
import org.apache.lucene.util.automaton.Automata;
import org.apache.lucene.util.automaton.Automaton;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/request/SolrRequestInfo.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/request/SolrRequestInfo.java b/solr/core/src/java/org/apache/solr/request/SolrRequestInfo.java
index 237173a..ac45e31 100644
--- a/solr/core/src/java/org/apache/solr/request/SolrRequestInfo.java
+++ b/solr/core/src/java/org/apache/solr/request/SolrRequestInfo.java
@@ -27,7 +27,6 @@ import java.util.concurrent.atomic.AtomicReference;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.ExecutorUtil;
-import org.apache.solr.core.SolrCore;
import org.apache.solr.handler.component.ResponseBuilder;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.util.TimeZoneUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/request/json/JSONUtil.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/request/json/JSONUtil.java b/solr/core/src/java/org/apache/solr/request/json/JSONUtil.java
index 6c07f4a..fc0cdfb 100644
--- a/solr/core/src/java/org/apache/solr/request/json/JSONUtil.java
+++ b/solr/core/src/java/org/apache/solr/request/json/JSONUtil.java
@@ -17,12 +17,6 @@
package org.apache.solr.request.json;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
import org.noggit.JSONParser;
public class JSONUtil {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/request/json/ObjectUtil.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/request/json/ObjectUtil.java b/solr/core/src/java/org/apache/solr/request/json/ObjectUtil.java
index d29a266..fc67781 100644
--- a/solr/core/src/java/org/apache/solr/request/json/ObjectUtil.java
+++ b/solr/core/src/java/org/apache/solr/request/json/ObjectUtil.java
@@ -16,15 +16,12 @@
*/
package org.apache.solr.request.json;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import org.noggit.JSONParser;
-
public class ObjectUtil {
public static class ConflictHandler {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java b/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java
index 3802ffd..9634e63 100644
--- a/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java
@@ -37,7 +37,6 @@ import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.DocList;
import org.apache.solr.search.ReturnFields;
-import org.apache.solr.search.SolrIndexSearcher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/response/GeoJSONResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/response/GeoJSONResponseWriter.java b/solr/core/src/java/org/apache/solr/response/GeoJSONResponseWriter.java
index 896be92..43fd7b4 100644
--- a/solr/core/src/java/org/apache/solr/response/GeoJSONResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/response/GeoJSONResponseWriter.java
@@ -30,7 +30,6 @@ import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.response.transform.GeoTransformerFactory;
import org.apache.solr.response.transform.WriteableGeoJSON;
import org.apache.solr.schema.AbstractSpatialFieldType;
import org.apache.solr.schema.SchemaField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java b/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
index d257f57..cd8d07c 100644
--- a/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
@@ -18,23 +18,18 @@ package org.apache.solr.response;
import java.io.IOException;
import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.lucene.index.IndexableField;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.ReturnFields;
-import org.apache.solr.search.SolrReturnFields;
/**
*
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java b/solr/core/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java
index 9737eb4..c660aae 100644
--- a/solr/core/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java
@@ -30,7 +30,6 @@ import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.ReturnFields;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/response/ResultContext.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/response/ResultContext.java b/solr/core/src/java/org/apache/solr/response/ResultContext.java
index 56811a7..b36355f 100644
--- a/solr/core/src/java/org/apache/solr/response/ResultContext.java
+++ b/solr/core/src/java/org/apache/solr/response/ResultContext.java
@@ -20,7 +20,6 @@ import java.util.Iterator;
import org.apache.lucene.search.Query;
import org.apache.solr.common.SolrDocument;
-import org.apache.solr.handler.component.ResponseBuilder;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.DocList;
import org.apache.solr.search.ReturnFields;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/response/transform/ExcludedMarkerFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/response/transform/ExcludedMarkerFactory.java b/solr/core/src/java/org/apache/solr/response/transform/ExcludedMarkerFactory.java
index cf23a80..2d670d7 100644
--- a/solr/core/src/java/org/apache/solr/response/transform/ExcludedMarkerFactory.java
+++ b/solr/core/src/java/org/apache/solr/response/transform/ExcludedMarkerFactory.java
@@ -18,8 +18,6 @@ package org.apache.solr.response.transform;
import java.util.Set;
-import org.apache.lucene.document.Field;
-import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.handler.component.QueryElevationComponent;
import org.apache.solr.request.SolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/rest/SolrSchemaRestApi.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/rest/SolrSchemaRestApi.java b/solr/core/src/java/org/apache/solr/rest/SolrSchemaRestApi.java
index 1310198..aa7826a 100644
--- a/solr/core/src/java/org/apache/solr/rest/SolrSchemaRestApi.java
+++ b/solr/core/src/java/org/apache/solr/rest/SolrSchemaRestApi.java
@@ -19,11 +19,9 @@ package org.apache.solr.rest;
import java.lang.invoke.MethodHandles;
import java.util.Collections;
import java.util.HashSet;
-import java.util.Locale;
import java.util.Set;
import org.apache.solr.request.SolrRequestInfo;
-import org.apache.solr.schema.IndexSchema;
import org.restlet.Application;
import org.restlet.Restlet;
import org.restlet.routing.Router;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedWordSetResource.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedWordSetResource.java b/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedWordSetResource.java
index d6b41e5..a5ff38b 100644
--- a/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedWordSetResource.java
+++ b/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedWordSetResource.java
@@ -20,7 +20,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
-import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/schema/JsonPreAnalyzedParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/schema/JsonPreAnalyzedParser.java b/solr/core/src/java/org/apache/solr/schema/JsonPreAnalyzedParser.java
index b58ac91..dd2c297 100644
--- a/solr/core/src/java/org/apache/solr/schema/JsonPreAnalyzedParser.java
+++ b/solr/core/src/java/org/apache/solr/schema/JsonPreAnalyzedParser.java
@@ -41,7 +41,6 @@ import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.util.AttributeSource.State;
import org.apache.lucene.util.BytesRef;
import org.noggit.JSONUtil;
-import org.noggit.JSONWriter;
import org.noggit.ObjectBuilder;
import org.apache.solr.common.util.Base64;
import org.apache.solr.schema.PreAnalyzedField.ParseResult;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchemaFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchemaFactory.java b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchemaFactory.java
index d5b0564..6140a0f 100644
--- a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchemaFactory.java
+++ b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchemaFactory.java
@@ -30,8 +30,6 @@ import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkCmdExecutor;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.core.CloseHook;
-import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrResourceLoader;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
index 0cb6682..b9d292e 100644
--- a/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
@@ -55,7 +55,6 @@ import org.apache.lucene.util.LongValues;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.handler.component.QueryElevationComponent;
import org.apache.solr.handler.component.ResponseBuilder;
import org.apache.solr.request.LocalSolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/DisMaxQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/DisMaxQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/DisMaxQParserPlugin.java
index f8bfecf..3945445 100644
--- a/solr/core/src/java/org/apache/solr/search/DisMaxQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/DisMaxQParserPlugin.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/DocSlice.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/DocSlice.java b/solr/core/src/java/org/apache/solr/search/DocSlice.java
index b5d2946..fd9553a 100644
--- a/solr/core/src/java/org/apache/solr/search/DocSlice.java
+++ b/solr/core/src/java/org/apache/solr/search/DocSlice.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.search;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java
index 67784f2..cc5a697 100644
--- a/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/FieldQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/FieldQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/FieldQParserPlugin.java
index 151647d..7b44245 100644
--- a/solr/core/src/java/org/apache/solr/search/FieldQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/FieldQParserPlugin.java
@@ -18,7 +18,6 @@ package org.apache.solr.search;
import org.apache.lucene.search.Query;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.SchemaField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/FunctionQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/FunctionQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/FunctionQParserPlugin.java
index 561c532..979823b 100644
--- a/solr/core/src/java/org/apache/solr/search/FunctionQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/FunctionQParserPlugin.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java
index 8db8bbc..1b37a97 100644
--- a/solr/core/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java
@@ -21,7 +21,6 @@ import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.QueryValueSource;
import org.apache.lucene.search.*;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.function.*;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
index 1571652..2adec48 100644
--- a/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
@@ -45,7 +45,6 @@ import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.StringHelper;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrCore;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/LRUCache.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/LRUCache.java b/solr/core/src/java/org/apache/solr/search/LRUCache.java
index 4b7fc78..8e030fd 100644
--- a/solr/core/src/java/org/apache/solr/search/LRUCache.java
+++ b/solr/core/src/java/org/apache/solr/search/LRUCache.java
@@ -31,7 +31,6 @@ import org.apache.lucene.util.RamUsageEstimator;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
-import org.apache.solr.util.NumberUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/LuceneQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/LuceneQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/LuceneQParserPlugin.java
index e92ce31..2aba02d 100644
--- a/solr/core/src/java/org/apache/solr/search/LuceneQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/LuceneQParserPlugin.java
@@ -17,10 +17,8 @@
package org.apache.solr.search;
import org.apache.lucene.search.Query;
-import org.apache.lucene.search.Sort;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.request.SolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/OldLuceneQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/OldLuceneQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/OldLuceneQParserPlugin.java
index a59f287..d2b583c 100644
--- a/solr/core/src/java/org/apache/solr/search/OldLuceneQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/OldLuceneQParserPlugin.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/PrefixQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/PrefixQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/PrefixQParserPlugin.java
index 8aa7446..8e52884 100644
--- a/solr/core/src/java/org/apache/solr/search/PrefixQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/PrefixQParserPlugin.java
@@ -16,11 +16,8 @@
*/
package org.apache.solr.search;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.PrefixQuery;
import org.apache.lucene.search.Query;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.SchemaField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/QParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/QParser.java b/solr/core/src/java/org/apache/solr/search/QParser.java
index 85bd2f0..45b698e 100644
--- a/solr/core/src/java/org/apache/solr/search/QParser.java
+++ b/solr/core/src/java/org/apache/solr/search/QParser.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.lucene.search.Query;
-import org.apache.lucene.search.Sort;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/QueryContext.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/QueryContext.java b/solr/core/src/java/org/apache/solr/search/QueryContext.java
index e8e8eae..487feb4 100644
--- a/solr/core/src/java/org/apache/solr/search/QueryContext.java
+++ b/solr/core/src/java/org/apache/solr/search/QueryContext.java
@@ -23,7 +23,6 @@ import java.util.IdentityHashMap;
import org.apache.lucene.search.IndexSearcher;
import org.apache.solr.common.SolrException;
-import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrRequestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/QueryParsing.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/QueryParsing.java b/solr/core/src/java/org/apache/solr/search/QueryParsing.java
index 2f0a9c5..0595ca8 100644
--- a/solr/core/src/java/org/apache/solr/search/QueryParsing.java
+++ b/solr/core/src/java/org/apache/solr/search/QueryParsing.java
@@ -30,7 +30,6 @@ import org.apache.lucene.search.TermRangeQuery;
import org.apache.lucene.search.WildcardQuery;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRefBuilder;
-import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.parser.QueryParser;
@@ -39,9 +38,7 @@ import org.apache.solr.schema.IndexSchema;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/**
* Collection of static utilities useful for query parsing.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/RawQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/RawQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/RawQParserPlugin.java
index 5d93fb9..c3d2dd2 100644
--- a/solr/core/src/java/org/apache/solr/search/RawQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/RawQParserPlugin.java
@@ -20,7 +20,6 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java
index f80cf34..06974f2 100644
--- a/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java
@@ -46,7 +46,6 @@ import org.apache.lucene.util.BytesRef;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.handler.component.MergeStrategy;
import org.apache.solr.handler.component.QueryElevationComponent;
import org.apache.solr.request.SolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/SimpleQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SimpleQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/SimpleQParserPlugin.java
index 3daaec2..2d4fee2 100644
--- a/solr/core/src/java/org/apache/solr/search/SimpleQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/SimpleQParserPlugin.java
@@ -27,7 +27,6 @@ import org.apache.lucene.search.Query;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SimpleParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.parser.QueryParser;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.FieldType;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/SolrFieldCacheMBean.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SolrFieldCacheMBean.java b/solr/core/src/java/org/apache/solr/search/SolrFieldCacheMBean.java
index 3f5d9e9..4c8c0c1 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrFieldCacheMBean.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrFieldCacheMBean.java
@@ -22,7 +22,6 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.core.JmxMonitoredMap.JmxAugmentedSolrInfoMBean;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.core.SolrInfoMBean;
import org.apache.solr.uninverting.UninvertingReader;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/SolrQueryParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SolrQueryParser.java b/solr/core/src/java/org/apache/solr/search/SolrQueryParser.java
index 71d661d..49a492b 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrQueryParser.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrQueryParser.java
@@ -16,25 +16,7 @@
*/
package org.apache.solr.search;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.lucene.analysis.util.TokenFilterFactory;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.*;
-import org.apache.lucene.util.ToStringUtils;
-import org.apache.lucene.util.automaton.Automata;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.solr.analysis.ReversedWildcardFilterFactory;
-import org.apache.solr.analysis.TokenizerChain;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.parser.ParseException;
import org.apache.solr.parser.QueryParser;
-import org.apache.solr.schema.FieldType;
-import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.schema.SchemaField;
-import org.apache.solr.schema.TextField;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java b/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java
index a700d7b..6382f45 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java
@@ -22,7 +22,6 @@ import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.QueryValueSource;
import org.apache.lucene.search.Query;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/SpatialBoxQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SpatialBoxQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/SpatialBoxQParserPlugin.java
index 977acd7..d65e508 100644
--- a/solr/core/src/java/org/apache/solr/search/SpatialBoxQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/SpatialBoxQParserPlugin.java
@@ -17,7 +17,6 @@
package org.apache.solr.search;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
public class SpatialBoxQParserPlugin extends SpatialFilterQParserPlugin {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/SpatialFilterQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SpatialFilterQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/SpatialFilterQParserPlugin.java
index 2042dd0..cba3133 100644
--- a/solr/core/src/java/org/apache/solr/search/SpatialFilterQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/SpatialFilterQParserPlugin.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.search;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/SurroundQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SurroundQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/SurroundQParserPlugin.java
index 6c3ebe5..a90cb25 100644
--- a/solr/core/src/java/org/apache/solr/search/SurroundQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/SurroundQParserPlugin.java
@@ -19,7 +19,6 @@ package org.apache.solr.search;
import org.apache.lucene.search.Query;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import java.lang.invoke.MethodHandles;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/TermQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/TermQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/TermQParserPlugin.java
index 2520bf5..99ef4c4 100644
--- a/solr/core/src/java/org/apache/solr/search/TermQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/TermQParserPlugin.java
@@ -21,7 +21,6 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.FieldType;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
index e6051c7..728cc01 100644
--- a/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
@@ -33,7 +33,6 @@ import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.automaton.Automata;
import org.apache.lucene.util.automaton.Automaton;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.FieldType;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/XmlQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/XmlQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/XmlQParserPlugin.java
index 566cfa6..cb6b45e 100755
--- a/solr/core/src/java/org/apache/solr/search/XmlQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/XmlQParserPlugin.java
@@ -25,7 +25,6 @@ import org.apache.lucene.search.Query;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.IndexSchema;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/AggValueSource.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/AggValueSource.java b/solr/core/src/java/org/apache/solr/search/facet/AggValueSource.java
index 6fecd3c..6457467 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/AggValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/AggValueSource.java
@@ -22,7 +22,6 @@ import java.util.Map;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
-import org.apache.solr.search.QueryContext;
public abstract class AggValueSource extends ValueSource {
protected String name;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/BlockJoin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/BlockJoin.java b/solr/core/src/java/org/apache/solr/search/facet/BlockJoin.java
index 377a370..5da7f6d 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/BlockJoin.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/BlockJoin.java
@@ -24,7 +24,6 @@ import org.apache.solr.search.BitDocSet;
import org.apache.solr.search.DocIterator;
import org.apache.solr.search.DocSet;
import org.apache.solr.search.DocSetCollector;
-import org.apache.solr.search.DocSetUtil;
import org.apache.solr.search.QueryContext;
/** @lucene.experimental */
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/FacetField.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetField.java b/solr/core/src/java/org/apache/solr/search/facet/FacetField.java
index ce7f919..0e7e82a 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetField.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetField.java
@@ -41,7 +41,6 @@ import org.apache.lucene.util.PriorityQueue;
import org.apache.lucene.util.StringHelper;
import org.apache.lucene.util.UnicodeUtil;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.SchemaField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorNumeric.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorNumeric.java b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorNumeric.java
index 1872ead..6ab4c26 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorNumeric.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorNumeric.java
@@ -31,7 +31,6 @@ import org.apache.lucene.util.PriorityQueue;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.DocIterator;
-import org.apache.solr.search.DocSetCollector;
class FacetFieldProcessorNumeric extends FacetFieldProcessor {
static int MAXIMUM_STARTING_TABLE_SIZE=1024; // must be a power of two, non-final to support setting by tests
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/FacetRequest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetRequest.java b/solr/core/src/java/org/apache/solr/search/facet/FacetRequest.java
index 5c5624f..4c14ab8 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetRequest.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetRequest.java
@@ -18,14 +18,12 @@ package org.apache.solr.search.facet;
import java.util.EnumSet;
import java.util.LinkedHashMap;
-import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.apache.lucene.search.Query;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.FacetParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.IndexSchema;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/FieldUtil.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FieldUtil.java b/solr/core/src/java/org/apache/solr/search/facet/FieldUtil.java
index a0457b6..cd37dc0 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FieldUtil.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FieldUtil.java
@@ -21,8 +21,6 @@ import java.io.IOException;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.SortedSetDocValues;
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.util.BytesRef;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.QParser;
import org.apache.solr.search.QueryContext;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java b/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java
index 4d766e3..09436c1 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java
@@ -17,11 +17,6 @@
package org.apache.solr.search.facet;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import org.apache.solr.util.hll.HLL;
import org.apache.solr.util.hll.HLLType;
import org.apache.lucene.index.DocValues;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/LegacyFacet.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/LegacyFacet.java b/solr/core/src/java/org/apache/solr/search/facet/LegacyFacet.java
index bdc274c..9457d9c 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/LegacyFacet.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/LegacyFacet.java
@@ -30,7 +30,6 @@ import org.apache.solr.common.params.FacetParams;
import org.apache.solr.common.params.RequiredSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.StrUtils;
-import org.apache.solr.core.SolrCore;
import org.apache.solr.search.QueryParsing;
import org.apache.solr.search.SolrReturnFields;
import org.apache.solr.search.StrParser;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/SimpleAggValueSource.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/SimpleAggValueSource.java b/solr/core/src/java/org/apache/solr/search/facet/SimpleAggValueSource.java
index c9e3f58..661ec83 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/SimpleAggValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/SimpleAggValueSource.java
@@ -19,9 +19,6 @@ package org.apache.solr.search.facet;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
-import org.apache.solr.search.QueryContext;
-
-
import java.io.IOException;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java b/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
index fd54901..37b9d9b 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
@@ -17,17 +17,9 @@
package org.apache.solr.search.facet;
import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.MultiDocValues;
-import org.apache.lucene.index.SortedDocValues;
-import org.apache.lucene.index.SortedSetDocValues;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.FixedBitSet;
-import org.apache.lucene.util.LongValues;
import org.apache.solr.common.util.SimpleOrderedMap;
-import org.apache.solr.schema.SchemaField;
import org.apache.solr.search.DocIterator;
import org.apache.solr.search.DocSet;
import org.apache.solr.search.SolrIndexSearcher;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/StrAggValueSource.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/StrAggValueSource.java b/solr/core/src/java/org/apache/solr/search/facet/StrAggValueSource.java
index 232188d..65a21f4 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/StrAggValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/StrAggValueSource.java
@@ -16,13 +16,6 @@
*/
package org.apache.solr.search.facet;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.solr.search.QueryContext;
-
-
-import java.io.IOException;
-
public abstract class StrAggValueSource extends AggValueSource {
protected String arg;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/facet/UnInvertedField.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/UnInvertedField.java b/solr/core/src/java/org/apache/solr/search/facet/UnInvertedField.java
index b52b333..aa8f395 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/UnInvertedField.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/UnInvertedField.java
@@ -35,7 +35,6 @@ import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRefBuilder;
import org.apache.lucene.util.FixedBitSet;
import org.apache.solr.common.SolrException;
-import org.apache.solr.core.SolrCore;
import org.apache.solr.index.SlowCompositeReaderWrapper;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.TrieField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java b/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java
index 7999541..aa26ec8 100644
--- a/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java
+++ b/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java
@@ -22,7 +22,6 @@ import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.docvalues.FloatDocValues;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.solr.core.SolrCore;
import org.apache.solr.handler.RequestHandlerBase;
import org.apache.solr.handler.RequestHandlerUtils;
import org.apache.solr.request.SolrQueryRequest;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/grouping/Command.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/Command.java b/solr/core/src/java/org/apache/solr/search/grouping/Command.java
index 1b3f1d1..d719218 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/Command.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/Command.java
@@ -18,8 +18,6 @@ package org.apache.solr.search.grouping;
import org.apache.lucene.search.Collector;
import org.apache.lucene.search.Sort;
-import org.apache.solr.schema.SchemaField;
-
import java.io.IOException;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/SearchGroupsResultTransformer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/SearchGroupsResultTransformer.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/SearchGroupsResultTransformer.java
index 2dba2a3..213414a 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/SearchGroupsResultTransformer.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/SearchGroupsResultTransformer.java
@@ -19,8 +19,6 @@ package org.apache.solr.search.grouping.distributed.shardresultserializer;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.grouping.SearchGroup;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.UnicodeUtil;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.SchemaField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/join/BlockJoinParentQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/join/BlockJoinParentQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/join/BlockJoinParentQParserPlugin.java
index b40233f..590a907 100644
--- a/solr/core/src/java/org/apache/solr/search/join/BlockJoinParentQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/join/BlockJoinParentQParserPlugin.java
@@ -18,7 +18,6 @@ package org.apache.solr.search.join;
import org.apache.lucene.search.join.ScoreMode;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.QParser;
import org.apache.solr.search.QParserPlugin;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/join/GraphQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/join/GraphQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/join/GraphQParserPlugin.java
index 5a0e0b0..fa47ec0 100644
--- a/solr/core/src/java/org/apache/solr/search/join/GraphQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/join/GraphQParserPlugin.java
@@ -17,7 +17,6 @@
package org.apache.solr.search.join;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.QParser;
import org.apache.solr.search.QParserPlugin;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java b/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java
index 9bac616..3fca05a 100644
--- a/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java
@@ -27,7 +27,6 @@ import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.queries.TermsQuery;
import org.apache.lucene.search.AutomatonQuery;
-import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.DocIdSet;
@@ -36,7 +35,6 @@ import org.apache.lucene.search.Explanation;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.Weight;
import org.apache.lucene.search.WildcardQuery;
import org.apache.lucene.util.BytesRef;
@@ -44,7 +42,6 @@ import org.apache.lucene.util.BytesRefHash;
import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.automaton.Automaton;
import org.apache.lucene.util.automaton.DaciukMihovAutomatonBuilder;
-import org.apache.solr.handler.component.ResponseBuilder;
import org.apache.solr.search.BitDocSet;
import org.apache.solr.search.DocSet;
import org.apache.solr.search.Filter;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/core/src/java/org/apache/solr/search/join/GraphQueryParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/join/GraphQueryParser.java b/solr/core/src/java/org/apache/solr/search/join/GraphQueryParser.java
index b6aae50..0ef9e6c 100644
--- a/solr/core/src/java/org/apache/solr/search/join/GraphQueryParser.java
+++ b/solr/core/src/java/org/apache/solr/search/join/GraphQueryParser.java
@@ -17,7 +17,6 @@
package org.apache.solr.search.join;
import org.apache.lucene.search.Query;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.QParser;
[13/50] [abbrv] lucene-solr:apiv2: LUCENE-7333: Fix test bug where
randomSimpleString() generated a filename that is a reserved device name on
Windows
Posted by no...@apache.org.
LUCENE-7333: Fix test bug where randomSimpleString() generated a filename that is a reserved device name on Windows
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/cc7cede7
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/cc7cede7
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/cc7cede7
Branch: refs/heads/apiv2
Commit: cc7cede7a58b4e1d0eaeb182998de69cad90c15a
Parents: c0f047a
Author: Uwe Schindler <us...@apache.org>
Authored: Sat Jun 11 11:31:12 2016 +0200
Committer: Uwe Schindler <us...@apache.org>
Committed: Sat Jun 11 11:31:12 2016 +0200
----------------------------------------------------------------------
lucene/CHANGES.txt | 3 +++
.../java/org/apache/lucene/store/BaseDirectoryTestCase.java | 7 +++----
2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/cc7cede7/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index fb5d93a..501f2ee 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -147,6 +147,9 @@ Bug Fixes
dateline and indexed non-point shapes are much bigger than the heatmap region.
(David Smiley)
+* LUCENE-7333: Fix test bug where randomSimpleString() generated a filename
+ that is a reserved device name on Windows. (Uwe Schindler, Mike McCandless)
+
Other
* LUCENE-7295: TermAutomatonQuery.hashCode calculates Automaton.toDot().hash,
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/cc7cede7/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
index 44c03ea..5ca8a86 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
@@ -33,6 +33,7 @@ import java.util.Set;
import java.util.zip.CRC32;
import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.IndexNotFoundException;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
@@ -1208,10 +1209,8 @@ public abstract class BaseDirectoryTestCase extends LuceneTestCase {
// Keep trying until virus checker refuses to delete:
final String fileName;
while (true) {
- String candidate = TestUtil.randomSimpleString(random());
- if (candidate.length() == 0) {
- continue;
- }
+ // create a random filename (segment file name style), so it cannot hit windows problem with special filenames ("con", "com1",...):
+ String candidate = IndexFileNames.segmentFileName(TestUtil.randomSimpleString(random(), 1, 6), TestUtil.randomSimpleString(random()), "test");
try (IndexOutput out = dir.createOutput(candidate, IOContext.DEFAULT)) {
out.getFilePointer(); // just fake access to prevent compiler warning
}
[42/50] [abbrv] lucene-solr:apiv2: LUCENE-6968 - MinHash filter,
thanks to Andy Hind and Cao Manh Dat for patches
Posted by no...@apache.org.
LUCENE-6968 - MinHash filter, thanks to Andy Hind and Cao Manh Dat for patches
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/82a92441
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/82a92441
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/82a92441
Branch: refs/heads/apiv2
Commit: 82a9244193ba948142b834ec08e2de0d98cfba9f
Parents: bd7ddb8
Author: Tommaso Teofili <to...@apache.org>
Authored: Tue Jun 14 11:49:53 2016 +0200
Committer: Tommaso Teofili <to...@apache.org>
Committed: Tue Jun 14 11:49:53 2016 +0200
----------------------------------------------------------------------
lucene/CHANGES.txt | 2 +
.../lucene/analysis/minhash/MinHashFilter.java | 504 +++++++++++++++++++
.../analysis/minhash/MinHashFilterFactory.java | 57 +++
.../lucene/analysis/minhash/package-info.java | 21 +
...ache.lucene.analysis.util.TokenFilterFactory | 1 +
.../analysis/minhash/MinHashFilterTest.java | 330 ++++++++++++
6 files changed, 915 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/82a92441/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 3c52440..5d97fdd 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -13,6 +13,8 @@ Other
* LUCENE-7328: Remove LegacyNumericEncoding from GeoPointField. (Nick Knize)
+* LUCENE-6968: LSH Filter (Tommaso Teofili, Andy Hind, Cao Manh Dat)
+
======================= Lucene 6.2.0 =======================
New Features
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/82a92441/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/MinHashFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/MinHashFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/MinHashFilter.java
new file mode 100644
index 0000000..60df1c0
--- /dev/null
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/MinHashFilter.java
@@ -0,0 +1,504 @@
+package org.apache.lucene.analysis.minhash;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.TreeSet;
+
+import org.apache.lucene.analysis.TokenFilter;
+import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
+import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
+import org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute;
+import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
+
+/**
+ * Generate min hash tokens from an incoming stream of tokens. The incoming tokens would typically be 5 word shingles.
+ *
+ * The number of hashes used and the number of minimum values for each hash can be set. You could have 1 hash and keep
+ * the 100 lowest values or 100 hashes and keep the lowest one for each. Hashes can also be bucketed in ranges over the
+ * 128-bit hash space,
+ *
+ * A 128-bit hash is used internally. 5 word shingles from 10e5 words generate 10e25 combinations So a 64 bit hash would
+ * have collisions (1.8e19)
+ *
+ * When using different hashes 32 bits are used for the hash position leaving scope for 8e28 unique hashes. A single
+ * hash will use all 128 bits.
+ *
+ */
+public class MinHashFilter extends TokenFilter {
+ private static final int HASH_CACHE_SIZE = 512;
+
+ private static final LongPair[] cachedIntHashes = new LongPair[HASH_CACHE_SIZE];
+
+ static final int DEFAULT_HASH_COUNT = 1;
+
+ static final int DEFAULT_HASH_SET_SIZE = 1;
+
+ static final int DEFAULT_BUCKET_COUNT = 512;
+
+ static final String MIN_HASH_TYPE = "MIN_HASH";
+
+ private final List<List<FixedSizeTreeSet<LongPair>>> minHashSets;
+
+ private int hashSetSize = DEFAULT_HASH_SET_SIZE;
+
+ private int bucketCount = DEFAULT_BUCKET_COUNT;
+
+ private int hashCount = DEFAULT_HASH_COUNT;
+
+ private boolean requiresInitialisation = true;
+
+ private State endState;
+
+ private int hashPosition = -1;
+
+ private int bucketPosition = -1;
+
+ private long bucketSize;
+
+ private final boolean withRotation;
+
+ private int endOffset;
+
+ private boolean exhausted = false;
+
+ private final CharTermAttribute termAttribute = addAttribute(CharTermAttribute.class);
+ private final OffsetAttribute offsetAttribute = addAttribute(OffsetAttribute.class);
+ private final TypeAttribute typeAttribute = addAttribute(TypeAttribute.class);
+ private final PositionIncrementAttribute posIncAttribute = addAttribute(PositionIncrementAttribute.class);
+ private final PositionLengthAttribute posLenAttribute = addAttribute(PositionLengthAttribute.class);
+
+ static {
+ for (int i = 0; i < HASH_CACHE_SIZE; i++) {
+ cachedIntHashes[i] = new LongPair();
+ murmurhash3_x64_128(getBytes(i), 0, 4, 0, cachedIntHashes[i]);
+ }
+ }
+
+ static byte[] getBytes(int i) {
+ byte[] answer = new byte[4];
+ answer[3] = (byte) (i);
+ answer[2] = (byte) (i >> 8);
+ answer[1] = (byte) (i >> 16);
+ answer[0] = (byte) (i >> 24);
+ return answer;
+ }
+
+ /**
+ * create a MinHash filter
+ *
+ * @param input the token stream
+ * @param hashCount the no. of hashes
+ * @param bucketCount the no. of buckets for hashing
+ * @param hashSetSize the no. of min hashes to keep
+ * @param withRotation whether rotate or not hashes while incrementing tokens
+ */
+ MinHashFilter(TokenStream input, int hashCount, int bucketCount, int hashSetSize, boolean withRotation) {
+ super(input);
+ this.hashCount = hashCount;
+ this.bucketCount = bucketCount;
+ this.hashSetSize = hashSetSize;
+ this.withRotation = withRotation;
+ this.bucketSize = (1L << 32) / bucketCount;
+ if((1L << 32) % bucketCount != 0)
+ {
+ bucketSize++;
+ }
+ minHashSets = new ArrayList<>(this.hashCount);
+ for (int i = 0; i < this.hashCount; i++) {
+ ArrayList<FixedSizeTreeSet<LongPair>> buckets = new ArrayList<>(this.bucketCount);
+ minHashSets.add(buckets);
+ for (int j = 0; j < this.bucketCount; j++) {
+ FixedSizeTreeSet<LongPair> minSet = new FixedSizeTreeSet<>(this.hashSetSize);
+ buckets.add(minSet);
+ }
+ }
+ doRest();
+ }
+
+ @Override
+ public final boolean incrementToken() throws IOException {
+ // Pull the underlying stream of tokens
+ // Hash each token found
+ // Generate the required number of variants of this hash
+ // Keep the minimum hash value found so far of each variant
+
+ int positionIncrement = 0;
+ if (requiresInitialisation) {
+ requiresInitialisation = false;
+ boolean found = false;
+ // First time through so we pull and hash everything
+ while (input.incrementToken()) {
+ found = true;
+ String current = new String(termAttribute.buffer(), 0, termAttribute.length());
+
+ for (int i = 0; i < hashCount; i++) {
+ byte[] bytes = current.getBytes("UTF-16LE");
+ LongPair hash = new LongPair();
+ murmurhash3_x64_128(bytes, 0, bytes.length, 0, hash);
+ LongPair rehashed = combineOrdered(hash, getIntHash(i));
+ minHashSets.get(i).get((int) ((rehashed.val2 >>> 32) / bucketSize)).add(rehashed);
+ }
+ endOffset = offsetAttribute.endOffset();
+ }
+ exhausted = true;
+ input.end();
+ // We need the end state so an underlying shingle filter can have its state restored correctly.
+ endState = captureState();
+ if (!found) {
+ return false;
+ }
+
+ positionIncrement = 1;
+ // fix up any wrap around bucket values. ...
+ if (withRotation && (hashSetSize == 1)) {
+ for (int hashLoop = 0; hashLoop < hashCount; hashLoop++) {
+ for (int bucketLoop = 0; bucketLoop < bucketCount; bucketLoop++) {
+ if (minHashSets.get(hashLoop).get(bucketLoop).size() == 0) {
+ for (int bucketOffset = 1; bucketOffset < bucketCount; bucketOffset++) {
+ if (minHashSets.get(hashLoop).get((bucketLoop + bucketOffset) % bucketCount).size() > 0) {
+ LongPair replacementHash = minHashSets.get(hashLoop).get((bucketLoop + bucketOffset) % bucketCount)
+ .first();
+ minHashSets.get(hashLoop).get(bucketLoop).add(replacementHash);
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+ clearAttributes();
+
+ while (hashPosition < hashCount) {
+ if (hashPosition == -1) {
+ hashPosition++;
+ } else {
+ while (bucketPosition < bucketCount) {
+ if (bucketPosition == -1) {
+ bucketPosition++;
+ } else {
+ LongPair hash = minHashSets.get(hashPosition).get(bucketPosition).pollFirst();
+ if (hash != null) {
+ termAttribute.setEmpty();
+ if (hashCount > 1) {
+ termAttribute.append(int0(hashPosition));
+ termAttribute.append(int1(hashPosition));
+ }
+ long high = hash.val2;
+ termAttribute.append(long0(high));
+ termAttribute.append(long1(high));
+ termAttribute.append(long2(high));
+ termAttribute.append(long3(high));
+ long low = hash.val1;
+ termAttribute.append(long0(low));
+ termAttribute.append(long1(low));
+ if (hashCount == 1) {
+ termAttribute.append(long2(low));
+ termAttribute.append(long3(low));
+ }
+ posIncAttribute.setPositionIncrement(positionIncrement);
+ offsetAttribute.setOffset(0, endOffset);
+ typeAttribute.setType(MIN_HASH_TYPE);
+ posLenAttribute.setPositionLength(1);
+ return true;
+ } else {
+ bucketPosition++;
+ }
+ }
+
+ }
+ bucketPosition = -1;
+ hashPosition++;
+ }
+ }
+ return false;
+ }
+
+ private static LongPair getIntHash(int i) {
+ if (i < HASH_CACHE_SIZE) {
+ return cachedIntHashes[i];
+ } else {
+ LongPair answer = new LongPair();
+ murmurhash3_x64_128(getBytes(i), 0, 4, 0, answer);
+ return answer;
+ }
+ }
+
+ @Override
+ public void end() throws IOException {
+ if(!exhausted) {
+ input.end();
+ }
+
+ restoreState(endState);
+ }
+
+ @Override
+ public void reset() throws IOException {
+ super.reset();
+ doRest();
+ }
+
+ private void doRest() {
+ for (int i = 0; i < hashCount; i++) {
+ for (int j = 0; j < bucketCount; j++) {
+ minHashSets.get(i).get(j).clear();
+ }
+ }
+ endState = null;
+ hashPosition = -1;
+ bucketPosition = -1;
+ requiresInitialisation = true;
+ exhausted = false;
+ }
+
+ private static char long0(long x) {
+ return (char) (x >> 48);
+ }
+
+ private static char long1(long x) {
+ return (char) (x >> 32);
+ }
+
+ private static char long2(long x) {
+ return (char) (x >> 16);
+ }
+
+ private static char long3(long x) {
+ return (char) (x);
+ }
+
+ private static char int0(int x) {
+ return (char) (x >> 16);
+ }
+
+ private static char int1(int x) {
+ return (char) (x);
+ }
+
+ static boolean isLessThanUnsigned(long n1, long n2) {
+ return (n1 < n2) ^ ((n1 < 0) != (n2 < 0));
+ }
+
+ static class FixedSizeTreeSet<E extends Comparable<E>> extends TreeSet<E> {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -8237117170340299630L;
+ private final int capacity;
+
+ FixedSizeTreeSet() {
+ this(20);
+ }
+
+ FixedSizeTreeSet(int capacity) {
+ super();
+ this.capacity = capacity;
+ }
+
+ @Override
+ public boolean add(final E toAdd) {
+ if (capacity <= size()) {
+ final E lastElm = last();
+ if (toAdd.compareTo(lastElm) > -1) {
+ return false;
+ } else {
+ pollLast();
+ }
+ }
+ return super.add(toAdd);
+ }
+ }
+
+ private static LongPair combineOrdered(LongPair... hashCodes) {
+ LongPair result = new LongPair();
+ for (LongPair hashCode : hashCodes) {
+ result.val1 = result.val1 * 37 + hashCode.val1;
+ result.val2 = result.val2 * 37 + hashCode.val2;
+
+ }
+ return result;
+ }
+
+ /** 128 bits of state */
+ static final class LongPair implements Comparable<LongPair> {
+ public long val1;
+ public long val2;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Comparable#compareTo(java.lang.Object)
+ */
+ @Override
+ public int compareTo(LongPair other) {
+ if (isLessThanUnsigned(val2, other.val2)) {
+ return -1;
+ } else if (val2 == other.val2) {
+ if (isLessThanUnsigned(val1, other.val1)) {
+ return -1;
+ } else if (val1 == other.val1) {
+ return 0;
+ } else {
+ return 1;
+ }
+ } else {
+ return 1;
+ }
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ LongPair longPair = (LongPair) o;
+
+ return val1 == longPair.val1 && val2 == longPair.val2;
+
+ }
+
+ @Override
+ public int hashCode() {
+ int result = (int) (val1 ^ (val1 >>> 32));
+ result = 31 * result + (int) (val2 ^ (val2 >>> 32));
+ return result;
+ }
+ }
+
+ /** Gets a long from a byte buffer in little endian byte order. */
+ private static long getLongLittleEndian(byte[] buf, int offset) {
+ return ((long) buf[offset + 7] << 56) // no mask needed
+ | ((buf[offset + 6] & 0xffL) << 48)
+ | ((buf[offset + 5] & 0xffL) << 40)
+ | ((buf[offset + 4] & 0xffL) << 32)
+ | ((buf[offset + 3] & 0xffL) << 24)
+ | ((buf[offset + 2] & 0xffL) << 16)
+ | ((buf[offset + 1] & 0xffL) << 8)
+ | ((buf[offset] & 0xffL)); // no shift needed
+ }
+
+ /** Returns the MurmurHash3_x64_128 hash, placing the result in "out". */
+ static void murmurhash3_x64_128(byte[] key, int offset, int len, int seed, LongPair out) {
+ // The original algorithm does have a 32 bit unsigned seed.
+ // We have to mask to match the behavior of the unsigned types and prevent sign extension.
+ long h1 = seed & 0x00000000FFFFFFFFL;
+ long h2 = seed & 0x00000000FFFFFFFFL;
+
+ final long c1 = 0x87c37b91114253d5L;
+ final long c2 = 0x4cf5ad432745937fL;
+
+ int roundedEnd = offset + (len & 0xFFFFFFF0); // round down to 16 byte block
+ for (int i = offset; i < roundedEnd; i += 16) {
+ long k1 = getLongLittleEndian(key, i);
+ long k2 = getLongLittleEndian(key, i + 8);
+ k1 *= c1;
+ k1 = Long.rotateLeft(k1, 31);
+ k1 *= c2;
+ h1 ^= k1;
+ h1 = Long.rotateLeft(h1, 27);
+ h1 += h2;
+ h1 = h1 * 5 + 0x52dce729;
+ k2 *= c2;
+ k2 = Long.rotateLeft(k2, 33);
+ k2 *= c1;
+ h2 ^= k2;
+ h2 = Long.rotateLeft(h2, 31);
+ h2 += h1;
+ h2 = h2 * 5 + 0x38495ab5;
+ }
+
+ long k1 = 0;
+ long k2 = 0;
+
+ switch (len & 15) {
+ case 15:
+ k2 = (key[roundedEnd + 14] & 0xffL) << 48;
+ case 14:
+ k2 |= (key[roundedEnd + 13] & 0xffL) << 40;
+ case 13:
+ k2 |= (key[roundedEnd + 12] & 0xffL) << 32;
+ case 12:
+ k2 |= (key[roundedEnd + 11] & 0xffL) << 24;
+ case 11:
+ k2 |= (key[roundedEnd + 10] & 0xffL) << 16;
+ case 10:
+ k2 |= (key[roundedEnd + 9] & 0xffL) << 8;
+ case 9:
+ k2 |= (key[roundedEnd + 8] & 0xffL);
+ k2 *= c2;
+ k2 = Long.rotateLeft(k2, 33);
+ k2 *= c1;
+ h2 ^= k2;
+ case 8:
+ k1 = ((long) key[roundedEnd + 7]) << 56;
+ case 7:
+ k1 |= (key[roundedEnd + 6] & 0xffL) << 48;
+ case 6:
+ k1 |= (key[roundedEnd + 5] & 0xffL) << 40;
+ case 5:
+ k1 |= (key[roundedEnd + 4] & 0xffL) << 32;
+ case 4:
+ k1 |= (key[roundedEnd + 3] & 0xffL) << 24;
+ case 3:
+ k1 |= (key[roundedEnd + 2] & 0xffL) << 16;
+ case 2:
+ k1 |= (key[roundedEnd + 1] & 0xffL) << 8;
+ case 1:
+ k1 |= (key[roundedEnd] & 0xffL);
+ k1 *= c1;
+ k1 = Long.rotateLeft(k1, 31);
+ k1 *= c2;
+ h1 ^= k1;
+ }
+
+ // ----------
+ // finalization
+
+ h1 ^= len;
+ h2 ^= len;
+
+ h1 += h2;
+ h2 += h1;
+
+ h1 = fmix64(h1);
+ h2 = fmix64(h2);
+
+ h1 += h2;
+ h2 += h1;
+
+ out.val1 = h1;
+ out.val2 = h2;
+ }
+
+ private static long fmix64(long k) {
+ k ^= k >>> 33;
+ k *= 0xff51afd7ed558ccdL;
+ k ^= k >>> 33;
+ k *= 0xc4ceb9fe1a85ec53L;
+ k ^= k >>> 33;
+ return k;
+ }
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/82a92441/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/MinHashFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/MinHashFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/MinHashFilterFactory.java
new file mode 100644
index 0000000..d951b9b
--- /dev/null
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/MinHashFilterFactory.java
@@ -0,0 +1,57 @@
+package org.apache.lucene.analysis.minhash;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import java.util.Map;
+
+import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.analysis.util.TokenFilterFactory;
+
+/**
+ * {@link TokenFilterFactory} for {@link MinHashFilter}.
+ */
+public class MinHashFilterFactory extends TokenFilterFactory {
+ private int hashCount = MinHashFilter.DEFAULT_HASH_COUNT;
+
+ private int bucketCount = MinHashFilter.DEFAULT_BUCKET_COUNT;
+
+ private int hashSetSize = MinHashFilter.DEFAULT_HASH_SET_SIZE;
+
+ private boolean withRotation;
+
+ /**
+ * Create a {@link MinHashFilterFactory}.
+ */
+ public MinHashFilterFactory(Map<String,String> args) {
+ super(args);
+ hashCount = getInt(args, "hashCount", MinHashFilter.DEFAULT_HASH_COUNT);
+ bucketCount = getInt(args, "bucketCount", MinHashFilter.DEFAULT_BUCKET_COUNT);
+ hashSetSize = getInt(args, "hashSetSize", MinHashFilter.DEFAULT_HASH_SET_SIZE);
+ withRotation = getBoolean(args, "withRotation", bucketCount > 1);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.lucene.analysis.util.TokenFilterFactory#create(org.apache.lucene.analysis.TokenStream)
+ */
+ @Override
+ public TokenStream create(TokenStream input) {
+ return new MinHashFilter(input, hashCount, bucketCount, hashSetSize, withRotation);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/82a92441/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/package-info.java
new file mode 100644
index 0000000..b476347
--- /dev/null
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/minhash/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * MinHash filtering (for LSH).
+ */
+package org.apache.lucene.analysis.minhash;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/82a92441/lucene/analysis/common/src/resources/META-INF/services/org.apache.lucene.analysis.util.TokenFilterFactory
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/resources/META-INF/services/org.apache.lucene.analysis.util.TokenFilterFactory b/lucene/analysis/common/src/resources/META-INF/services/org.apache.lucene.analysis.util.TokenFilterFactory
index 8b19cdf..70120c5 100644
--- a/lucene/analysis/common/src/resources/META-INF/services/org.apache.lucene.analysis.util.TokenFilterFactory
+++ b/lucene/analysis/common/src/resources/META-INF/services/org.apache.lucene.analysis.util.TokenFilterFactory
@@ -58,6 +58,7 @@ org.apache.lucene.analysis.id.IndonesianStemFilterFactory
org.apache.lucene.analysis.in.IndicNormalizationFilterFactory
org.apache.lucene.analysis.it.ItalianLightStemFilterFactory
org.apache.lucene.analysis.lv.LatvianStemFilterFactory
+org.apache.lucene.analysis.minhash.MinHashFilterFactory
org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilterFactory
org.apache.lucene.analysis.miscellaneous.CapitalizationFilterFactory
org.apache.lucene.analysis.miscellaneous.CodepointCountFilterFactory
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/82a92441/lucene/analysis/common/src/test/org/apache/lucene/analysis/minhash/MinHashFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/minhash/MinHashFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/minhash/MinHashFilterTest.java
new file mode 100644
index 0000000..7c02d3b
--- /dev/null
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/minhash/MinHashFilterTest.java
@@ -0,0 +1,330 @@
+package org.apache.lucene.analysis.minhash;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+
+import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.analysis.MockTokenizer;
+import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.analysis.minhash.MinHashFilter.FixedSizeTreeSet;
+import org.apache.lucene.analysis.minhash.MinHashFilter.LongPair;
+import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.util.automaton.CharacterRunAutomaton;
+import org.apache.lucene.util.automaton.RegExp;
+import org.junit.Test;
+
+/**
+ * Tests for {@link MinHashFilter}
+ */
+public class MinHashFilterTest extends BaseTokenStreamTestCase {
+
+ @Test
+ public void testIntHash() {
+ LongPair hash = new LongPair();
+ MinHashFilter.murmurhash3_x64_128(MinHashFilter.getBytes(0), 0, 4, 0, hash);
+ assertEquals(-3485513579396041028L, hash.val1);
+ assertEquals(6383328099726337777L, hash.val2);
+ }
+
+ @Test
+ public void testStringHash() throws UnsupportedEncodingException {
+ LongPair hash = new LongPair();
+ byte[] bytes = "woof woof woof woof woof".getBytes("UTF-16LE");
+ MinHashFilter.murmurhash3_x64_128(bytes, 0, bytes.length, 0, hash);
+ assertEquals(7638079586852243959L, hash.val1);
+ assertEquals(4378804943379391304L, hash.val2);
+ }
+
+ @Test
+ public void testSimpleOrder() throws UnsupportedEncodingException {
+ LongPair hash1 = new LongPair();
+ hash1.val1 = 1;
+ hash1.val2 = 2;
+ LongPair hash2 = new LongPair();
+ hash2.val1 = 2;
+ hash2.val2 = 1;
+ assert (hash1.compareTo(hash2) > 0);
+ }
+
+ @Test
+ public void testHashOrder() {
+ assertTrue(!MinHashFilter.isLessThanUnsigned(0L, 0L));
+ assertTrue(MinHashFilter.isLessThanUnsigned(0L, -1L));
+ assertTrue(MinHashFilter.isLessThanUnsigned(1L, -1L));
+ assertTrue(MinHashFilter.isLessThanUnsigned(-2L, -1L));
+ assertTrue(MinHashFilter.isLessThanUnsigned(1L, 2L));
+ assertTrue(MinHashFilter.isLessThanUnsigned(Long.MAX_VALUE, Long.MIN_VALUE));
+
+ FixedSizeTreeSet<LongPair> minSet = new FixedSizeTreeSet<LongPair>(500);
+ HashSet<LongPair> unadded = new HashSet<LongPair>();
+ for (int i = 0; i < 100; i++) {
+ LongPair hash = new LongPair();
+ MinHashFilter.murmurhash3_x64_128(MinHashFilter.getBytes(i), 0, 4, 0, hash);
+ LongPair peek = null;
+ if (minSet.size() > 0) {
+ peek = minSet.last();
+ }
+
+ if (!minSet.add(hash)) {
+ unadded.add(hash);
+ } else {
+ if (peek != null) {
+ if ((minSet.size() == 500) && !peek.equals(minSet.last())) {
+ unadded.add(peek);
+ }
+ }
+ }
+ }
+ assertEquals(100, minSet.size());
+ assertEquals(0, unadded.size());
+
+ HashSet<LongPair> collisionDetection = new HashSet<LongPair>();
+ unadded = new HashSet<LongPair>();
+ minSet = new FixedSizeTreeSet<LongPair>(500);
+ for (int i = 0; i < 1000000; i++) {
+ LongPair hash = new LongPair();
+ MinHashFilter.murmurhash3_x64_128(MinHashFilter.getBytes(i), 0, 4, 0, hash);
+ collisionDetection.add(hash);
+ LongPair peek = null;
+ if (minSet.size() > 0) {
+ peek = minSet.last();
+ }
+
+ if (!minSet.add(hash)) {
+ unadded.add(hash);
+ } else {
+ if (peek != null) {
+ if ((minSet.size() == 500) && !peek.equals(minSet.last())) {
+ unadded.add(peek);
+ }
+ }
+ }
+ }
+ assertEquals(1000000, collisionDetection.size());
+ assertEquals(500, minSet.size());
+ assertEquals(999500, unadded.size());
+
+ LongPair last = null;
+ LongPair current = null;
+ while ((current = minSet.pollLast()) != null) {
+ if (last != null) {
+ assertTrue(isLessThan(current, last));
+ }
+ last = current;
+ }
+ }
+
+ @Test
+ public void testHashNotRepeated() {
+ FixedSizeTreeSet<LongPair> minSet = new FixedSizeTreeSet<LongPair>(500);
+ HashSet<LongPair> unadded = new HashSet<LongPair>();
+ for (int i = 0; i < 10000; i++) {
+ LongPair hash = new LongPair();
+ MinHashFilter.murmurhash3_x64_128(MinHashFilter.getBytes(i), 0, 4, 0, hash);
+ LongPair peek = null;
+ if (minSet.size() > 0) {
+ peek = minSet.last();
+ }
+ if (!minSet.add(hash)) {
+ unadded.add(hash);
+ } else {
+ if (peek != null) {
+ if ((minSet.size() == 500) && !peek.equals(minSet.last())) {
+ unadded.add(peek);
+ }
+ }
+ }
+ }
+ assertEquals(500, minSet.size());
+
+ LongPair last = null;
+ LongPair current = null;
+ while ((current = minSet.pollLast()) != null) {
+ if (last != null) {
+ assertTrue(isLessThan(current, last));
+ }
+ last = current;
+ }
+ }
+
+ @Test
+ public void testMockShingleTokenizer() throws IOException {
+ Tokenizer mockShingleTokenizer = createMockShingleTokenizer(5,
+ "woof woof woof woof woof" + " " + "woof woof woof woof puff");
+ assertTokenStreamContents(mockShingleTokenizer,
+ new String[]{"woof woof woof woof woof", "woof woof woof woof puff"});
+ }
+
+ @Test
+ public void testTokenStreamSingleInput() throws IOException {
+ String[] hashes = new String[]{"\u2101\ud33d\ufa85\u8059\u219d\ua1c1\ud671\u676f"};
+ TokenStream ts = createTokenStream(5, "woof woof woof woof woof", 1, 1, 100, false);
+ assertTokenStreamContents(ts, hashes, new int[]{0},
+ new int[]{24}, new String[]{MinHashFilter.MIN_HASH_TYPE}, new int[]{1}, new int[]{1}, 24, 0, null,
+ true);
+
+ ts = createTokenStream(5, "woof woof woof woof woof", 2, 1, 1, false);
+ assertTokenStreamContents(ts, new String[]{new String(new char[]{0, 0, 8449, 54077, 64133, 32857, 8605, 41409}),
+ new String(new char[]{0, 1, 16887, 58164, 39536, 14926, 6529, 17276})}, new int[]{0, 0},
+ new int[]{24, 24}, new String[]{MinHashFilter.MIN_HASH_TYPE, MinHashFilter.MIN_HASH_TYPE}, new int[]{1, 0},
+ new int[]{1, 1}, 24, 0, null,
+ true);
+ }
+
+ @Test
+ public void testTokenStream1() throws IOException {
+ String[] hashes = new String[]{"\u2101\ud33d\ufa85\u8059\u219d\ua1c1\ud671\u676f",
+ new String(new char[]{36347, 63457, 43013, 56843, 52284, 34231, 57934, 42302})}; // String is degenerate as
+ // characters!
+
+ TokenStream ts = createTokenStream(5, "woof woof woof woof woof" + " " + "woof woof woof woof puff", 1, 1, 100,
+ false);
+ assertTokenStreamContents(ts, hashes, new int[]{0, 0},
+ new int[]{49, 49}, new String[]{MinHashFilter.MIN_HASH_TYPE, MinHashFilter.MIN_HASH_TYPE}, new int[]{1, 0},
+ new int[]{1, 1}, 49, 0, null, true);
+ }
+
+ private ArrayList<String> getTokens(TokenStream ts) throws IOException {
+ ArrayList<String> tokens = new ArrayList<>();
+ ts.reset();
+ while (ts.incrementToken()) {
+ CharTermAttribute termAttribute = ts.getAttribute(CharTermAttribute.class);
+ String token = new String(termAttribute.buffer(), 0, termAttribute.length());
+ tokens.add(token);
+ }
+ ts.end();
+ ts.close();
+
+ return tokens;
+ }
+
+ @Test
+ public void testTokenStream2() throws IOException {
+ TokenStream ts = createTokenStream(5, "woof woof woof woof woof" + " " + "woof woof woof woof puff", 100, 1, 1,
+ false);
+ ArrayList<String> tokens = getTokens(ts);
+ ts.close();
+
+ assertEquals(100, tokens.size());
+ }
+
+ @Test
+ public void testTokenStream3() throws IOException {
+ TokenStream ts = createTokenStream(5, "woof woof woof woof woof" + " " + "woof woof woof woof puff", 10, 1, 10,
+ false);
+ ArrayList<String> tokens = getTokens(ts);
+ ts.close();
+
+ assertEquals(20, tokens.size());
+ }
+
+ @Test
+ public void testTokenStream4() throws IOException {
+ TokenStream ts = createTokenStream(5, "woof woof woof woof woof" + " " + "woof woof woof woof puff", 10, 10, 1,
+ false);
+ ArrayList<String> tokens = getTokens(ts);
+ ts.close();
+
+ assertEquals(20, tokens.size());
+
+ ts = createTokenStream(5, "woof woof woof woof woof" + " " + "woof woof woof woof puff", 10, 10, 1, true);
+ tokens = getTokens(ts);
+ ts.close();
+
+ assertEquals(100, tokens.size());
+
+ }
+
+ @Test
+ public void testTokenStream5() throws IOException {
+ TokenStream ts = createTokenStream(5, "woof woof woof woof woof" + " " + "woof woof woof woof puff", 1, 100, 1,
+ false);
+ ArrayList<String> tokens = getTokens(ts);
+ ts.close();
+
+ assertEquals(2, tokens.size());
+
+ ts = createTokenStream(5, "woof woof woof woof woof" + " " + "woof woof woof woof puff", 1, 100, 1, true);
+ tokens = getTokens(ts);
+ ts.close();
+
+ assertEquals(100, tokens.size());
+ HashSet<String> set = new HashSet<>(tokens);
+ assertEquals(2, set.size());
+
+ boolean rolled = false;
+ String first = null;
+ String last = null;
+ for (String current : tokens) {
+ if (first == null) {
+ first = current;
+ }
+ if (last != null) {
+ if (!rolled) {
+ if (current.compareTo(last) >= 0) {
+ // fine
+ } else if (current.equals(first)) {
+ rolled = true;
+ } else {
+ fail("Incorrect hash order");
+ }
+ } else {
+ if (!current.equals(first)) {
+ fail("Incorrect hash order");
+ }
+ }
+ }
+ last = current;
+ }
+
+ }
+
+ public static TokenStream createTokenStream(int shingleSize, String shingles, int hashCount, int bucketCount,
+ int hashSetSize, boolean withRotation) {
+ Tokenizer tokenizer = createMockShingleTokenizer(shingleSize, shingles);
+ HashMap<String, String> lshffargs = new HashMap<>();
+ lshffargs.put("hashCount", "" + hashCount);
+ lshffargs.put("bucketCount", "" + bucketCount);
+ lshffargs.put("hashSetSize", "" + hashSetSize);
+ lshffargs.put("withRotation", "" + withRotation);
+ MinHashFilterFactory lshff = new MinHashFilterFactory(lshffargs);
+ return lshff.create(tokenizer);
+ }
+
+ private static Tokenizer createMockShingleTokenizer(int shingleSize, String shingles) {
+ MockTokenizer tokenizer = new MockTokenizer(
+ new CharacterRunAutomaton(new RegExp("[^ \t\r\n]+([ \t\r\n]+[^ \t\r\n]+){" + (shingleSize - 1) + "}").toAutomaton()),
+ true);
+ tokenizer.setEnableChecks(true);
+ if (shingles != null) {
+ tokenizer.setReader(new StringReader(shingles));
+ }
+ return tokenizer;
+ }
+
+ private boolean isLessThan(LongPair hash1, LongPair hash2) {
+ return MinHashFilter.isLessThanUnsigned(hash1.val2, hash2.val2) || hash1.val2 == hash2.val2 && (MinHashFilter.isLessThanUnsigned(hash1.val1, hash2.val1));
+ }
+}
[22/50] [abbrv] lucene-solr:apiv2: don't use MockDirectoryWrapper
here: it can cause testThreadSafety thread starvation so test times out after
2 hours
Posted by no...@apache.org.
don't use MockDirectoryWrapper here: it can cause testThreadSafety thread starvation so test times out after 2 hours
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/b9ded922
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/b9ded922
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/b9ded922
Branch: refs/heads/apiv2
Commit: b9ded922953c19a8c80a93b8082214a9feff8ead
Parents: fce10ae
Author: Mike McCandless <mi...@apache.org>
Authored: Mon Jun 13 04:42:11 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Mon Jun 13 04:42:11 2016 -0400
----------------------------------------------------------------------
.../apache/lucene/store/TestHardLinkCopyDirectoryWrapper.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b9ded922/lucene/misc/src/test/org/apache/lucene/store/TestHardLinkCopyDirectoryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/store/TestHardLinkCopyDirectoryWrapper.java b/lucene/misc/src/test/org/apache/lucene/store/TestHardLinkCopyDirectoryWrapper.java
index 388b2f0..953dc59 100644
--- a/lucene/misc/src/test/org/apache/lucene/store/TestHardLinkCopyDirectoryWrapper.java
+++ b/lucene/misc/src/test/org/apache/lucene/store/TestHardLinkCopyDirectoryWrapper.java
@@ -30,7 +30,12 @@ public class TestHardLinkCopyDirectoryWrapper extends BaseDirectoryTestCase {
@Override
protected Directory getDirectory(Path file) throws IOException {
- Directory open = random().nextBoolean() ? newFSDirectory(file) : newDirectory();
+ Directory open;
+ if (random().nextBoolean()) {
+ open = new RAMDirectory();
+ } else {
+ open = FSDirectory.open(file);
+ }
return new HardlinkCopyDirectoryWrapper(open);
}
[02/50] [abbrv] lucene-solr:apiv2: SOLR-9199:
ZkController#publishAndWaitForDownStates logic is inefficient
Posted by no...@apache.org.
SOLR-9199: ZkController#publishAndWaitForDownStates logic is inefficient
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/d55cc8f2
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/d55cc8f2
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/d55cc8f2
Branch: refs/heads/apiv2
Commit: d55cc8f293aec4ccc882b1a92ed450c9ec3877dc
Parents: 067fb25
Author: Gregory Chanan <gc...@cloudera.com>
Authored: Wed Jun 8 17:31:47 2016 -0700
Committer: Gregory Chanan <gc...@cloudera.com>
Committed: Thu Jun 9 13:24:29 2016 -0700
----------------------------------------------------------------------
solr/CHANGES.txt | 2 ++
.../src/java/org/apache/solr/cloud/ZkController.java | 11 ++++-------
2 files changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d55cc8f2/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index c8e7c1f..ceb7a4a 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -52,6 +52,8 @@ Bug Fixes
* SOLR-9191: OverseerTaskQueue.peekTopN() fatally flawed (Scott Blum, Noble Paul)
+* SOLR-9199: ZkController#publishAndWaitForDownStates logic is inefficient (Hrishikesh Gadre)
+
================== 6.1.0 ==================
Upgrading from Solr any prior release
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d55cc8f2/solr/core/src/java/org/apache/solr/cloud/ZkController.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index b36e766..1388ee5 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -686,9 +686,9 @@ public final class ZkController {
// now wait till the updates are in our state
long now = System.nanoTime();
long timeout = now + TimeUnit.NANOSECONDS.convert(WAIT_DOWN_STATES_TIMEOUT_SECONDS, TimeUnit.SECONDS);
- boolean foundStates = true;
while (System.nanoTime() < timeout) {
+ boolean foundStates = true;
ClusterState clusterState = zkStateReader.getClusterState();
Map<String, DocCollection> collections = clusterState.getCollectionsMap();
for (Map.Entry<String, DocCollection> entry : collections.entrySet()) {
@@ -704,16 +704,13 @@ public final class ZkController {
}
}
+ Thread.sleep(1000);
if (foundStates) {
- Thread.sleep(1000);
- break;
+ return;
}
- Thread.sleep(1000);
- }
- if (!foundStates) {
- log.warn("Timed out waiting to see all nodes published as DOWN in our cluster state.");
}
+ log.warn("Timed out waiting to see all nodes published as DOWN in our cluster state.");
}
/**
[09/50] [abbrv] lucene-solr:apiv2: LUCENE-7328: Remove
LegacyNumericEncoding from GeoPointField
Posted by no...@apache.org.
LUCENE-7328: Remove LegacyNumericEncoding from GeoPointField
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e4db256d
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e4db256d
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e4db256d
Branch: refs/heads/apiv2
Commit: e4db256d3f2723f6d56a9734d4c820f70455f52b
Parents: 816fae9
Author: Nicholas Knize <nk...@gmail.com>
Authored: Fri Jun 10 09:50:18 2016 -0500
Committer: Nicholas Knize <nk...@gmail.com>
Committed: Fri Jun 10 11:41:06 2016 -0500
----------------------------------------------------------------------
lucene/CHANGES.txt | 9 +-
.../geopoint/document/GeoPointField.java | 122 ++--------
.../geopoint/document/GeoPointTokenStream.java | 17 +-
.../geopoint/search/GeoPointDistanceQuery.java | 22 +-
.../search/GeoPointDistanceQueryImpl.java | 5 +-
.../geopoint/search/GeoPointInBBoxQuery.java | 27 +--
.../search/GeoPointInBBoxQueryImpl.java | 5 +-
.../geopoint/search/GeoPointInPolygonQuery.java | 38 +--
.../search/GeoPointInPolygonQueryImpl.java | 5 +-
.../geopoint/search/GeoPointMultiTermQuery.java | 7 +-
.../search/GeoPointNumericTermsEnum.java | 162 -------------
.../search/GeoPointPrefixTermsEnum.java | 235 -------------------
.../geopoint/search/GeoPointTermsEnum.java | 227 ++++++++++++++----
.../geopoint/search/TestGeoPointQuery.java | 9 +-
.../search/TestLegacyGeoPointQuery.java | 103 --------
15 files changed, 239 insertions(+), 754 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 279fc4d..b4ec596 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -4,7 +4,14 @@ For more information on past and future Lucene versions, please see:
http://s.apache.org/luceneversions
======================= Lucene 7.0.0 =======================
-(No Changes)
+
+Bug Fixes
+
+Improvements
+
+Other
+
+* LUCENE-7328: Remove LegacyNumericEncoding from GeoPointField. (Nick Knize)
======================= Lucene 6.2.0 =======================
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointField.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointField.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointField.java
index c20ad85..9bc2408 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointField.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointField.java
@@ -46,9 +46,6 @@ import static org.apache.lucene.geo.GeoUtils.MIN_LON_INCL;
* see {@link org.apache.lucene.spatial.geopoint.search.GeoPointInBBoxQuery}, {@link org.apache.lucene.spatial.geopoint.search.GeoPointInPolygonQuery},
* or {@link org.apache.lucene.spatial.geopoint.search.GeoPointDistanceQuery}
*
- * NOTE: This indexes only high precision encoded terms which may result in visiting a high number
- * of terms for large queries. See LUCENE-6481 for a future improvement.
- *
* @lucene.experimental
*/
public final class GeoPointField extends Field {
@@ -69,80 +66,30 @@ public final class GeoPointField extends Field {
private static final int BUF_SIZE_LONG = 28/8 + 1;
/**
- * <b>Expert:</b> Optional flag to select term encoding for GeoPointField types
- */
- public enum TermEncoding {
- /**
- * encodes prefix terms only resulting in a small index and faster queries - use with
- * {@code GeoPointTokenStream}
- */
- PREFIX,
- /**
- * @deprecated encodes prefix and full resolution terms - use with
- * {@link org.apache.lucene.analysis.LegacyNumericTokenStream}
- */
- @Deprecated
- NUMERIC
- }
-
- /**
- * @deprecated Type for a GeoPointField that is not stored:
- * normalization factors, frequencies, and positions are omitted.
- */
- @Deprecated
- public static final FieldType NUMERIC_TYPE_NOT_STORED = new FieldType();
- static {
- NUMERIC_TYPE_NOT_STORED.setTokenized(false);
- NUMERIC_TYPE_NOT_STORED.setOmitNorms(true);
- NUMERIC_TYPE_NOT_STORED.setIndexOptions(IndexOptions.DOCS);
- NUMERIC_TYPE_NOT_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
- NUMERIC_TYPE_NOT_STORED.setNumericType(FieldType.LegacyNumericType.LONG);
- NUMERIC_TYPE_NOT_STORED.setNumericPrecisionStep(PRECISION_STEP);
- NUMERIC_TYPE_NOT_STORED.freeze();
- }
-
- /**
- * @deprecated Type for a stored GeoPointField:
- * normalization factors, frequencies, and positions are omitted.
- */
- @Deprecated
- public static final FieldType NUMERIC_TYPE_STORED = new FieldType();
- static {
- NUMERIC_TYPE_STORED.setTokenized(false);
- NUMERIC_TYPE_STORED.setOmitNorms(true);
- NUMERIC_TYPE_STORED.setIndexOptions(IndexOptions.DOCS);
- NUMERIC_TYPE_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
- NUMERIC_TYPE_STORED.setNumericType(FieldType.LegacyNumericType.LONG);
- NUMERIC_TYPE_STORED.setNumericPrecisionStep(PRECISION_STEP);
- NUMERIC_TYPE_STORED.setStored(true);
- NUMERIC_TYPE_STORED.freeze();
- }
-
- /**
* Type for a GeoPointField that is not stored:
* normalization factors, frequencies, and positions are omitted.
*/
- public static final FieldType PREFIX_TYPE_NOT_STORED = new FieldType();
+ public static final FieldType TYPE_NOT_STORED = new FieldType();
static {
- PREFIX_TYPE_NOT_STORED.setTokenized(false);
- PREFIX_TYPE_NOT_STORED.setOmitNorms(true);
- PREFIX_TYPE_NOT_STORED.setIndexOptions(IndexOptions.DOCS);
- PREFIX_TYPE_NOT_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
- PREFIX_TYPE_NOT_STORED.freeze();
+ TYPE_NOT_STORED.setTokenized(false);
+ TYPE_NOT_STORED.setOmitNorms(true);
+ TYPE_NOT_STORED.setIndexOptions(IndexOptions.DOCS);
+ TYPE_NOT_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
+ TYPE_NOT_STORED.freeze();
}
/**
* Type for a stored GeoPointField:
* normalization factors, frequencies, and positions are omitted.
*/
- public static final FieldType PREFIX_TYPE_STORED = new FieldType();
+ public static final FieldType TYPE_STORED = new FieldType();
static {
- PREFIX_TYPE_STORED.setTokenized(false);
- PREFIX_TYPE_STORED.setOmitNorms(true);
- PREFIX_TYPE_STORED.setIndexOptions(IndexOptions.DOCS);
- PREFIX_TYPE_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
- PREFIX_TYPE_STORED.setStored(true);
- PREFIX_TYPE_STORED.freeze();
+ TYPE_STORED.setTokenized(false);
+ TYPE_STORED.setOmitNorms(true);
+ TYPE_STORED.setIndexOptions(IndexOptions.DOCS);
+ TYPE_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
+ TYPE_STORED.setStored(true);
+ TYPE_STORED.freeze();
}
/** Creates a stored or un-stored GeoPointField
@@ -156,28 +103,13 @@ public final class GeoPointField extends Field {
this(name, latitude, longitude, getFieldType(stored));
}
- /** Creates a stored or un-stored GeoPointField using the specified {@link TermEncoding} method
- * @param name field name
- * @param latitude latitude double value [-90.0 : 90.0]
- * @param longitude longitude double value [-180.0 : 180.0]
- * @param termEncoding encoding type to use ({@link TermEncoding#NUMERIC} Terms, or {@link TermEncoding#PREFIX} only Terms)
- * @param stored Store.YES if the content should also be stored
- * @throws IllegalArgumentException if the field name is null.
- */
- @Deprecated
- public GeoPointField(String name, double latitude, double longitude, TermEncoding termEncoding, Store stored) {
- this(name, latitude, longitude, getFieldType(termEncoding, stored));
- }
-
/** Expert: allows you to customize the {@link
* FieldType}.
* @param name field name
* @param latitude latitude double value [-90.0 : 90.0]
* @param longitude longitude double value [-180.0 : 180.0]
- * @param type customized field type: must have {@link FieldType#numericType()}
- * of {@link org.apache.lucene.document.FieldType.LegacyNumericType#LONG}.
- * @throws IllegalArgumentException if the field name or type is null, or
- * if the field type does not have a LONG numericType()
+ * @param type customized field type
+ * @throws IllegalArgumentException if the field name or type is null
*/
public GeoPointField(String name, double latitude, double longitude, FieldType type) {
super(name, type);
@@ -193,12 +125,6 @@ public final class GeoPointField extends Field {
if (type.docValuesType() != DocValuesType.SORTED_NUMERIC) {
throw new IllegalArgumentException("type.docValuesType() must be SORTED_NUMERIC but got " + type.docValuesType());
}
- if (type.numericType() != null) {
- // make sure numericType is a LONG
- if (type.numericType() != FieldType.LegacyNumericType.LONG) {
- throw new IllegalArgumentException("type.numericType() must be LONG but got " + type.numericType());
- }
- }
} else {
throw new IllegalArgumentException("type.indexOptions() must be one of NONE or DOCS but got " + type.indexOptions());
}
@@ -207,20 +133,14 @@ public final class GeoPointField extends Field {
fieldsData = encodeLatLon(latitude, longitude);
}
- private static FieldType getFieldType(Store stored) {
- return getFieldType(TermEncoding.PREFIX, stored);
- }
-
/**
- * @deprecated
* Static helper method for returning a valid FieldType based on termEncoding and stored options
*/
- @Deprecated
- private static FieldType getFieldType(TermEncoding termEncoding, Store stored) {
+ private static FieldType getFieldType(Store stored) {
if (stored == Store.YES) {
- return termEncoding == TermEncoding.PREFIX ? PREFIX_TYPE_STORED : NUMERIC_TYPE_STORED;
+ return TYPE_STORED;
} else if (stored == Store.NO) {
- return termEncoding == TermEncoding.PREFIX ? PREFIX_TYPE_NOT_STORED : NUMERIC_TYPE_NOT_STORED;
+ return TYPE_NOT_STORED;
} else {
throw new IllegalArgumentException("stored option must be NO or YES but got " + stored);
}
@@ -233,12 +153,6 @@ public final class GeoPointField extends Field {
return null;
}
- // if numericType is set
- if (type.numericType() != null) {
- // return numeric encoding
- return super.tokenStream(analyzer, reuse);
- }
-
if (reuse instanceof GeoPointTokenStream == false) {
reuse = new GeoPointTokenStream();
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointTokenStream.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointTokenStream.java
index cc5d8f2..b25b3ec 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointTokenStream.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/document/GeoPointTokenStream.java
@@ -35,28 +35,17 @@ import static org.apache.lucene.spatial.geopoint.document.GeoPointField.PRECISIO
/**
* <b>Expert:</b> This class provides a {@link TokenStream} used by {@link GeoPointField}
- * for encoding {@link GeoPointField.TermEncoding#PREFIX} only GeoPointTerms.
+ * for encoding GeoPoint terms.
*
- * <p><i>NOTE: This is used as the default encoding unless
- * {@code GeoPointField.setNumericType(FieldType.LegacyNumericType.LONG)} is set</i></p>
- *
- * This class is similar to {@link org.apache.lucene.analysis.LegacyNumericTokenStream} but encodes terms up to a
- * a maximum of {@link #MAX_SHIFT} using a fixed precision step defined by
+ * This class encodes terms up to a maximum of {@link #MAX_SHIFT} using a fixed precision step defined by
* {@link GeoPointField#PRECISION_STEP}. This yields a total of 4 terms per GeoPoint
* each consisting of 5 bytes (4 prefix bytes + 1 precision byte).
*
- * <p>For best performance use the provided {@link GeoPointField#PREFIX_TYPE_NOT_STORED} or
- * {@link GeoPointField#PREFIX_TYPE_STORED}</p>
- *
- * <p>If prefix terms are used then the default GeoPoint query constructors may be used, but if
- * {@link org.apache.lucene.analysis.LegacyNumericTokenStream} is used, then be sure to pass
- * {@link GeoPointField.TermEncoding#NUMERIC} to all GeoPointQuery constructors</p>
- *
* Here's an example usage:
*
* <pre class="prettyprint">
* // using prefix terms
- * GeoPointField geoPointField = new GeoPointField(fieldName1, lat, lon, GeoPointField.PREFIX_TYPE_NOT_STORED);
+ * GeoPointField geoPointField = new GeoPointField(fieldName1, lat, lon, GeoPointField.TYPE_NOT_STORED);
* document.add(geoPointField);
*
* // query by bounding box (default uses TermEncoding.PREFIX)
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQuery.java
index a6cf35c..3875ebf 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQuery.java
@@ -20,7 +20,6 @@ import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
import org.apache.lucene.geo.Rectangle;
import org.apache.lucene.geo.GeoUtils;
@@ -70,21 +69,12 @@ public class GeoPointDistanceQuery extends GeoPointInBBoxQuery {
* distance (in meters) from a given point
**/
public GeoPointDistanceQuery(final String field, final double centerLat, final double centerLon, final double radiusMeters) {
- this(field, TermEncoding.PREFIX, checkLatitude(centerLat), checkLongitude(centerLon), checkRadius(radiusMeters));
+ this(field, Rectangle.fromPointDistance(centerLat, centerLon, checkRadius(radiusMeters)), centerLat, centerLon, radiusMeters);
}
- /**
- * Constructs a Query for all {@link org.apache.lucene.spatial.geopoint.document.GeoPointField} types within a
- * distance (in meters) from a given point. Accepts optional
- * {@link org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding} parameter
- **/
- public GeoPointDistanceQuery(final String field, final TermEncoding termEncoding, final double centerLat, final double centerLon, final double radiusMeters) {
- this(field, termEncoding, Rectangle.fromPointDistance(centerLat, centerLon, checkRadius(radiusMeters)), centerLat, centerLon, radiusMeters);
- }
-
- private GeoPointDistanceQuery(final String field, final TermEncoding termEncoding, final Rectangle bbox,
+ private GeoPointDistanceQuery(final String field, final Rectangle bbox,
final double centerLat, final double centerLon, final double radiusMeters) {
- super(field, termEncoding, bbox.minLat, bbox.maxLat, bbox.minLon, bbox.maxLon);
+ super(field, bbox.minLat, bbox.maxLat, bbox.minLon, bbox.maxLon);
this.centerLat = centerLat;
this.centerLon = centerLon;
@@ -103,7 +93,7 @@ public class GeoPointDistanceQuery extends GeoPointInBBoxQuery {
// unwrap left
unwrappedLon += -360.0D;
}
- GeoPointDistanceQueryImpl left = new GeoPointDistanceQueryImpl(field, termEncoding, this, unwrappedLon,
+ GeoPointDistanceQueryImpl left = new GeoPointDistanceQueryImpl(field, this, unwrappedLon,
new Rectangle(minLat, maxLat, GeoUtils.MIN_LON_INCL, maxLon));
bqb.add(new BooleanClause(left, BooleanClause.Occur.SHOULD));
@@ -111,13 +101,13 @@ public class GeoPointDistanceQuery extends GeoPointInBBoxQuery {
// unwrap right
unwrappedLon += 360.0D;
}
- GeoPointDistanceQueryImpl right = new GeoPointDistanceQueryImpl(field, termEncoding, this, unwrappedLon,
+ GeoPointDistanceQueryImpl right = new GeoPointDistanceQueryImpl(field, this, unwrappedLon,
new Rectangle(minLat, maxLat, minLon, GeoUtils.MAX_LON_INCL));
bqb.add(new BooleanClause(right, BooleanClause.Occur.SHOULD));
return bqb.build();
}
- return new GeoPointDistanceQueryImpl(field, termEncoding, this, centerLon,
+ return new GeoPointDistanceQueryImpl(field, this, centerLon,
new Rectangle(this.minLat, this.maxLat, this.minLon, this.maxLon));
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQueryImpl.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQueryImpl.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQueryImpl.java
index a360fdb..83e87c5 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQueryImpl.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointDistanceQueryImpl.java
@@ -18,7 +18,6 @@ package org.apache.lucene.spatial.geopoint.search;
import org.apache.lucene.geo.Rectangle;
import org.apache.lucene.search.MultiTermQuery;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
import org.apache.lucene.util.SloppyMath;
/** Package private implementation for the public facing GeoPointDistanceQuery delegate class.
@@ -35,9 +34,9 @@ final class GeoPointDistanceQueryImpl extends GeoPointInBBoxQueryImpl {
// optimization, used for detecting axis cross
final double axisLat;
- GeoPointDistanceQueryImpl(final String field, final TermEncoding termEncoding, final GeoPointDistanceQuery q,
+ GeoPointDistanceQueryImpl(final String field, final GeoPointDistanceQuery q,
final double centerLonUnwrapped, final Rectangle bbox) {
- super(field, termEncoding, bbox.minLat, bbox.maxLat, bbox.minLon, bbox.maxLon);
+ super(field, bbox.minLat, bbox.maxLat, bbox.minLon, bbox.maxLon);
distanceQuery = q;
centerLon = centerLonUnwrapped;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQuery.java
index 8d66e95..5bc5861 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQuery.java
@@ -20,13 +20,10 @@ import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.FieldValueQuery;
-import org.apache.lucene.search.LegacyNumericRangeQuery;
import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
import org.apache.lucene.geo.GeoUtils;
-/** Implements a simple bounding box query on a GeoPoint field. This is inspired by
- * {@link LegacyNumericRangeQuery} and is implemented using a
+/** Implements a simple bounding box query on a GeoPoint field. This is implemented using a
* two phase approach. First, candidate terms are queried using a numeric
* range based on the morton codes of the min and max lat/lon pairs. Terms
* passing this initial filter are passed to a final check that verifies whether
@@ -53,28 +50,15 @@ public class GeoPointInBBoxQuery extends Query {
protected final double maxLat;
/** maximum longitude value (in degrees) */
protected final double maxLon;
- /** term encoding enum to define how the points are encoded (PREFIX or NUMERIC) */
- protected final TermEncoding termEncoding;
/**
* Constructs a query for all {@link org.apache.lucene.spatial.geopoint.document.GeoPointField} types that fall within a
- * defined bounding box
+ * defined bounding box.
*/
public GeoPointInBBoxQuery(final String field, final double minLat, final double maxLat, final double minLon, final double maxLon) {
- this(field, TermEncoding.PREFIX, minLat, maxLat, minLon, maxLon);
- }
-
- /**
- * Constructs a query for all {@link org.apache.lucene.spatial.geopoint.document.GeoPointField} types that fall within a
- * defined bounding box. Accepts optional {@link org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding} parameter
- */
- public GeoPointInBBoxQuery(final String field, final TermEncoding termEncoding, final double minLat, final double maxLat, final double minLon, final double maxLon) {
if (field == null) {
throw new IllegalArgumentException("field must not be null");
}
- if (termEncoding == null) {
- throw new IllegalArgumentException("termEncoding must not be null");
- }
GeoUtils.checkLatitude(minLat);
GeoUtils.checkLatitude(maxLat);
GeoUtils.checkLongitude(minLon);
@@ -84,7 +68,6 @@ public class GeoPointInBBoxQuery extends Query {
this.maxLat = maxLat;
this.minLon = minLon;
this.maxLon = maxLon;
- this.termEncoding = termEncoding;
}
@Override
@@ -99,13 +82,13 @@ public class GeoPointInBBoxQuery extends Query {
if (maxLon < minLon) {
BooleanQuery.Builder bqb = new BooleanQuery.Builder();
- GeoPointInBBoxQueryImpl left = new GeoPointInBBoxQueryImpl(field, termEncoding, minLat, maxLat, -180.0D, maxLon);
+ GeoPointInBBoxQueryImpl left = new GeoPointInBBoxQueryImpl(field, minLat, maxLat, -180.0D, maxLon);
bqb.add(new BooleanClause(left, BooleanClause.Occur.SHOULD));
- GeoPointInBBoxQueryImpl right = new GeoPointInBBoxQueryImpl(field, termEncoding, minLat, maxLat, minLon, 180.0D);
+ GeoPointInBBoxQueryImpl right = new GeoPointInBBoxQueryImpl(field, minLat, maxLat, minLon, 180.0D);
bqb.add(new BooleanClause(right, BooleanClause.Occur.SHOULD));
return bqb.build();
}
- return new GeoPointInBBoxQueryImpl(field, termEncoding, minLat, maxLat, minLon, maxLon);
+ return new GeoPointInBBoxQueryImpl(field, minLat, maxLat, minLon, maxLon);
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQueryImpl.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQueryImpl.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQueryImpl.java
index c19e6d2..fcae635 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQueryImpl.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInBBoxQueryImpl.java
@@ -19,7 +19,6 @@ package org.apache.lucene.spatial.geopoint.search;
import org.apache.lucene.search.MultiTermQuery;
import org.apache.lucene.util.SloppyMath;
import org.apache.lucene.spatial.geopoint.document.GeoPointField;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
import org.apache.lucene.spatial.util.GeoRelationUtils;
/** Package private implementation for the public facing GeoPointInBBoxQuery delegate class.
@@ -36,8 +35,8 @@ class GeoPointInBBoxQueryImpl extends GeoPointMultiTermQuery {
* @param maxLon upper longitude (x) value of the bounding box
* @param maxLat upper latitude (y) value of the bounding box
*/
- GeoPointInBBoxQueryImpl(final String field, final TermEncoding termEncoding, final double minLat, final double maxLat, final double minLon, final double maxLon) {
- super(field, termEncoding, minLat, maxLat, minLon, maxLon);
+ GeoPointInBBoxQueryImpl(final String field, final double minLat, final double maxLat, final double minLon, final double maxLon) {
+ super(field, minLat, maxLat, minLon, maxLon);
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQuery.java
index 7a0a9e9..ca61f02 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQuery.java
@@ -20,8 +20,6 @@ import java.util.Arrays;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
import org.apache.lucene.geo.Rectangle;
import org.apache.lucene.geo.Polygon;
@@ -46,47 +44,19 @@ public final class GeoPointInPolygonQuery extends GeoPointInBBoxQuery {
* that fall within or on the boundary of the polygons defined by the input parameters.
*/
public GeoPointInPolygonQuery(String field, Polygon... polygons) {
- this(field, TermEncoding.PREFIX, polygons);
- }
-
- /**
- * Constructs a new GeoPolygonQuery that will match encoded {@link org.apache.lucene.spatial.geopoint.document.GeoPointField} terms
- * that fall within or on the boundary of the polygon defined by the input parameters.
- * @deprecated Use {@link #GeoPointInPolygonQuery(String, Polygon[])}.
- */
- @Deprecated
- public GeoPointInPolygonQuery(final String field, final double[] polyLats, final double[] polyLons) {
- this(field, TermEncoding.PREFIX, polyLats, polyLons);
- }
-
- /**
- * Constructs a new GeoPolygonQuery that will match encoded {@link org.apache.lucene.spatial.geopoint.document.GeoPointField} terms
- * that fall within or on the boundary of the polygon defined by the input parameters.
- * @deprecated Use {@link #GeoPointInPolygonQuery(String, GeoPointField.TermEncoding, Polygon[])} instead.
- */
- @Deprecated
- public GeoPointInPolygonQuery(final String field, final TermEncoding termEncoding, final double[] polyLats, final double[] polyLons) {
- this(field, termEncoding, new Polygon(polyLats, polyLons));
- }
-
- /**
- * Constructs a new GeoPolygonQuery that will match encoded {@link org.apache.lucene.spatial.geopoint.document.GeoPointField} terms
- * that fall within or on the boundary of the polygons defined by the input parameters.
- */
- public GeoPointInPolygonQuery(String field, TermEncoding termEncoding, Polygon... polygons) {
- this(field, termEncoding, Rectangle.fromPolygon(polygons), polygons);
+ this(field, Rectangle.fromPolygon(polygons), polygons);
}
// internal constructor
- private GeoPointInPolygonQuery(String field, TermEncoding termEncoding, Rectangle boundingBox, Polygon... polygons) {
- super(field, termEncoding, boundingBox.minLat, boundingBox.maxLat, boundingBox.minLon, boundingBox.maxLon);
+ private GeoPointInPolygonQuery(String field, Rectangle boundingBox, Polygon... polygons) {
+ super(field, boundingBox.minLat, boundingBox.maxLat, boundingBox.minLon, boundingBox.maxLon);
this.polygons = polygons.clone();
}
/** throw exception if trying to change rewrite method */
@Override
public Query rewrite(IndexReader reader) {
- return new GeoPointInPolygonQueryImpl(field, termEncoding, this, this.minLat, this.maxLat, this.minLon, this.maxLon);
+ return new GeoPointInPolygonQueryImpl(field, this, this.minLat, this.maxLat, this.minLon, this.maxLon);
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQueryImpl.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQueryImpl.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQueryImpl.java
index 047bf27..c931b58 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQueryImpl.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointInPolygonQueryImpl.java
@@ -19,7 +19,6 @@ package org.apache.lucene.spatial.geopoint.search;
import java.util.Objects;
import org.apache.lucene.search.MultiTermQuery;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
import org.apache.lucene.geo.Polygon2D;
import org.apache.lucene.index.PointValues.Relation;
@@ -31,9 +30,9 @@ final class GeoPointInPolygonQueryImpl extends GeoPointInBBoxQueryImpl {
private final GeoPointInPolygonQuery polygonQuery;
private final Polygon2D polygons;
- GeoPointInPolygonQueryImpl(final String field, final TermEncoding termEncoding, final GeoPointInPolygonQuery q,
+ GeoPointInPolygonQueryImpl(final String field, final GeoPointInPolygonQuery q,
final double minLat, final double maxLat, final double minLon, final double maxLon) {
- super(field, termEncoding, minLat, maxLat, minLon, maxLon);
+ super(field, minLat, maxLat, minLon, maxLon);
this.polygonQuery = Objects.requireNonNull(q);
this.polygons = Polygon2D.create(q.polygons);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointMultiTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointMultiTermQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointMultiTermQuery.java
index 20026a1..4037237 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointMultiTermQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointMultiTermQuery.java
@@ -26,7 +26,6 @@ import org.apache.lucene.search.MultiTermQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.spatial.geopoint.document.GeoPointField;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
import org.apache.lucene.spatial.util.GeoRelationUtils;
import org.apache.lucene.geo.GeoUtils;
import org.apache.lucene.util.SloppyMath;
@@ -45,14 +44,13 @@ abstract class GeoPointMultiTermQuery extends MultiTermQuery {
protected final double maxLat;
protected final short maxShift;
- protected final TermEncoding termEncoding;
protected final CellComparator cellComparator;
/**
* Constructs a query matching terms that cannot be represented with a single
* Term.
*/
- public GeoPointMultiTermQuery(String field, final TermEncoding termEncoding, final double minLat, final double maxLat, final double minLon, final double maxLon) {
+ public GeoPointMultiTermQuery(String field, final double minLat, final double maxLat, final double minLon, final double maxLon) {
super(field);
GeoUtils.checkLatitude(minLat);
@@ -66,7 +64,6 @@ abstract class GeoPointMultiTermQuery extends MultiTermQuery {
this.maxLon = maxLon;
this.maxShift = computeMaxShift();
- this.termEncoding = termEncoding;
this.cellComparator = newCellComparator();
this.rewriteMethod = GEO_CONSTANT_SCORE_REWRITE;
@@ -81,7 +78,7 @@ abstract class GeoPointMultiTermQuery extends MultiTermQuery {
@Override @SuppressWarnings("unchecked")
protected TermsEnum getTermsEnum(final Terms terms, AttributeSource atts) throws IOException {
- return GeoPointTermsEnum.newInstance(terms.iterator(), this);
+ return new GeoPointTermsEnum(terms.iterator(), this);
}
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointNumericTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointNumericTermsEnum.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointNumericTermsEnum.java
deleted file mode 100644
index 06dfec7..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointNumericTermsEnum.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package org.apache.lucene.spatial.geopoint.search;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.util.LegacyNumericUtils;
-
-import static org.apache.lucene.spatial.geopoint.document.GeoPointField.BITS;
-
-/**
- * Decomposes a given {@link GeoPointMultiTermQuery} into a set of terms that represent the query criteria using
- * {@link org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding#NUMERIC} method defined by
- * {@link org.apache.lucene.analysis.LegacyNumericTokenStream}. The terms are then enumerated by the
- * {@link GeoPointTermQueryConstantScoreWrapper} and all docs whose GeoPoint fields match the prefix terms or
- * pass the {@link GeoPointMultiTermQuery.CellComparator#postFilter} criteria are returned in the resulting DocIdSet.
- *
- * @lucene.experimental
- */
-@Deprecated
-final class GeoPointNumericTermsEnum extends GeoPointTermsEnum {
- private final List<Range> rangeBounds = new LinkedList<>();
-
- // detail level should be a factor of PRECISION_STEP limiting the depth of recursion (and number of ranges)
- private final short DETAIL_LEVEL;
-
- GeoPointNumericTermsEnum(final TermsEnum tenum, final GeoPointMultiTermQuery query) {
- super(tenum, query);
- DETAIL_LEVEL = (short)(((BITS<<1)-this.maxShift)/2);
- computeRange(0L, (short) (((BITS) << 1) - 1));
- assert rangeBounds.isEmpty() == false;
- Collections.sort(rangeBounds);
- }
-
- /**
- * entry point for recursively computing ranges
- */
- private final void computeRange(long term, final short shift) {
- final long split = term | (0x1L<<shift);
- assert shift < 64;
- final long upperMax;
- if (shift < 63) {
- upperMax = term | ((1L << (shift+1))-1);
- } else {
- upperMax = 0xffffffffffffffffL;
- }
- final long lowerMax = split-1;
-
- relateAndRecurse(term, lowerMax, shift);
- relateAndRecurse(split, upperMax, shift);
- }
-
- /**
- * recurse to higher level precision cells to find ranges along the space-filling curve that fall within the
- * query box
- *
- * @param start starting value on the space-filling curve for a cell at a given res
- * @param end ending value on the space-filling curve for a cell at a given res
- * @param res spatial res represented as a bit shift (MSB is lower res)
- */
- private void relateAndRecurse(final long start, final long end, final short res) {
- final double minLon = GeoPointField.decodeLongitude(start);
- final double minLat = GeoPointField.decodeLatitude(start);
- final double maxLon = GeoPointField.decodeLongitude(end);
- final double maxLat = GeoPointField.decodeLatitude(end);
-
- final short level = (short)((BITS<<1)-res>>>1);
-
- // if cell is within and a factor of the precision step, or it crosses the edge of the shape add the range
- final boolean within = res % GeoPointField.PRECISION_STEP == 0 && relationImpl.cellWithin(minLat, maxLat, minLon, maxLon);
- if (within || (level == DETAIL_LEVEL && relationImpl.cellIntersectsShape(minLat, maxLat, minLon, maxLon))) {
- final short nextRes = (short)(res-1);
- if (nextRes % GeoPointField.PRECISION_STEP == 0) {
- rangeBounds.add(new Range(start, nextRes, !within));
- rangeBounds.add(new Range(start|(1L<<nextRes), nextRes, !within));
- } else {
- rangeBounds.add(new Range(start, res, !within));
- }
- } else if (level < DETAIL_LEVEL && relationImpl.cellIntersectsMBR(minLat, maxLat, minLon, maxLon)) {
- computeRange(start, (short) (res - 1));
- }
- }
-
- @Override
- protected final BytesRef peek() {
- rangeBounds.get(0).fillBytesRef(this.nextSubRangeBRB);
- return nextSubRangeBRB.get();
- }
-
- @Override
- protected void nextRange() {
- currentRange = rangeBounds.remove(0);
- super.nextRange();
- }
-
- @Override
- protected final BytesRef nextSeekTerm(BytesRef term) {
- while (hasNext()) {
- if (currentRange == null) {
- nextRange();
- }
- // if the new upper bound is before the term parameter, the sub-range is never a hit
- if (term != null && term.compareTo(currentCell) > 0) {
- nextRange();
- if (!rangeBounds.isEmpty()) {
- continue;
- }
- }
- // never seek backwards, so use current term if lower bound is smaller
- return (term != null && term.compareTo(currentCell) > 0) ? term : currentCell;
- }
-
- // no more sub-range enums available
- assert rangeBounds.isEmpty();
- return null;
- }
-
- @Override
- protected final boolean hasNext() {
- return rangeBounds.isEmpty() == false;
- }
-
- /**
- * Internal class to represent a range along the space filling curve
- */
- protected final class Range extends BaseRange {
- Range(final long lower, final short shift, boolean boundary) {
- super(lower, shift, boundary);
- }
-
- /**
- * Encode as a BytesRef using a reusable object. This allows us to lazily create the BytesRef (which is
- * quite expensive), only when we need it.
- */
- @Override
- protected void fillBytesRef(BytesRefBuilder result) {
- assert result != null;
- LegacyNumericUtils.longToPrefixCoded(start, shift, result);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointPrefixTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointPrefixTermsEnum.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointPrefixTermsEnum.java
deleted file mode 100644
index 6429b92..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointPrefixTermsEnum.java
+++ /dev/null
@@ -1,235 +0,0 @@
-package org.apache.lucene.spatial.geopoint.search;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField;
-
-import static org.apache.lucene.spatial.geopoint.document.GeoPointField.geoCodedToPrefixCoded;
-import static org.apache.lucene.spatial.geopoint.document.GeoPointField.prefixCodedToGeoCoded;
-import static org.apache.lucene.spatial.geopoint.document.GeoPointField.getPrefixCodedShift;
-
-/**
- * Decomposes a given {@link GeoPointMultiTermQuery} into a set of terms that represent the query criteria using
- * {@link org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding#PREFIX} method defined by
- * {@link GeoPointField}. The terms are then enumerated by the
- * {@link GeoPointTermQueryConstantScoreWrapper} and all docs whose GeoPoint fields match the prefix terms or pass
- * the {@link GeoPointMultiTermQuery.CellComparator#postFilter} criteria are returned in the
- * resulting DocIdSet.
- *
- * @lucene.experimental
- */
-final class GeoPointPrefixTermsEnum extends GeoPointTermsEnum {
- private final long start;
-
- private short shift;
-
- // current range as long
- private long currStart;
- private long currEnd;
-
- private final Range nextRange = new Range(-1, shift, true);
-
- private boolean hasNext = false;
-
- private boolean withinOnly = false;
- private long lastWithin;
-
- public GeoPointPrefixTermsEnum(final TermsEnum tenum, final GeoPointMultiTermQuery query) {
- super(tenum, query);
- this.start = GeoPointField.encodeLatLon(query.minLat, query.minLon);
- this.currentRange = new Range(0, shift, true);
- // start shift at maxShift value (from computeMaxShift)
- this.shift = maxShift;
- final long mask = (1L << shift) - 1;
- this.currStart = start & ~mask;
- this.currEnd = currStart | mask;
- }
-
- private boolean within(final double minLat, final double maxLat, final double minLon, final double maxLon) {
- return relationImpl.cellWithin(minLat, maxLat, minLon, maxLon);
- }
-
- private boolean boundary(final double minLat, final double maxLat, final double minLon, final double maxLon) {
- return shift == maxShift && relationImpl.cellIntersectsShape(minLat, maxLat, minLon, maxLon);
- }
-
- private boolean nextWithin() {
- if (withinOnly == false) {
- return false;
- }
- currStart += (1L << shift);
- setNextRange(false);
- currentRange.set(nextRange);
- hasNext = true;
-
- withinOnly = lastWithin != currStart;
- if (withinOnly == false) advanceVariables();
- return true;
- }
-
- private void nextRelation() {
- double minLon = GeoPointField.decodeLongitude(currStart);
- double minLat = GeoPointField.decodeLatitude(currStart);
- double maxLon;
- double maxLat;
- boolean isWithin;
- do {
- maxLon = GeoPointField.decodeLongitude(currEnd);
- maxLat = GeoPointField.decodeLatitude(currEnd);
-
- isWithin = false;
- // within or a boundary
- if (boundary(minLat, maxLat, minLon, maxLon) == true) {
- isWithin = within(minLat, maxLat, minLon, maxLon);
- final int m;
- if (isWithin == false || (m = shift % GeoPointField.PRECISION_STEP) == 0) {
- setNextRange(isWithin == false);
- advanceVariables();
- break;
- } else if (shift < 54) {
- withinOnly = true;
- shift = (short)(shift - m);
- lastWithin = currEnd & ~((1L << shift) - 1);
- setNextRange(false);
- break;
- }
- }
-
- // within cell but not at a depth factor of PRECISION_STEP
- if (isWithin == true || (relationImpl.cellIntersectsMBR(minLat, maxLat, minLon, maxLon) == true && shift != maxShift)) {
- // descend: currStart need not change since shift handles end of range
- currEnd = currStart | (1L<<--shift) - 1;
- } else {
- advanceVariables();
- minLon = GeoPointField.decodeLongitude(currStart);
- minLat = GeoPointField.decodeLatitude(currStart);
- }
- } while(shift < 63);
- }
-
- private void setNextRange(final boolean boundary) {
- nextRange.start = currStart;
- nextRange.shift = shift;
- nextRange.boundary = boundary;
- }
-
- private void advanceVariables() {
- /** set next variables */
- long shiftMask = 1L << shift;
- // pop-up if shift bit is set
- while ( (currStart & shiftMask) == shiftMask) {
- shiftMask = 1L << ++shift;
- }
- final long shiftMOne = shiftMask - 1;
- currStart = currStart & ~shiftMOne | shiftMask;
- currEnd = currStart | shiftMOne;
- }
-
- @Override
- protected final BytesRef peek() {
- nextRange.fillBytesRef(nextSubRangeBRB);
- return super.peek();
- }
-
- protected void seek(long term, short res) {
- if (term < currStart && res < maxShift) {
- throw new IllegalArgumentException("trying to seek backwards");
- } else if (term == currStart) {
- return;
- }
- shift = res;
- currStart = term;
- currEnd = currStart | ((1L<<shift)-1);
- withinOnly = false;
- }
-
- @Override
- protected void nextRange() {
- hasNext = false;
- super.nextRange();
- }
-
- @Override
- protected final boolean hasNext() {
- if (hasNext == true || nextWithin()) {
- return true;
- }
- nextRelation();
- if (currentRange.compareTo(nextRange) != 0) {
- currentRange.set(nextRange);
- return (hasNext = true);
- }
- return false;
- }
-
- @Override
- protected final BytesRef nextSeekTerm(BytesRef term) {
- while (hasNext()) {
- nextRange();
- if (term == null) {
- return currentCell;
- }
-
- final int comparison = term.compareTo(currentCell);
- if (comparison > 0) {
- seek(prefixCodedToGeoCoded(term), (short)(64 - getPrefixCodedShift(term)));
- continue;
- }
- return currentCell;
- }
-
- // no more sub-range enums available
- return null;
- }
-
- @Override
- protected AcceptStatus accept(BytesRef term) {
- // range < term or range is null
- while (currentCell == null || term.compareTo(currentCell) > 0) {
- // no more ranges, be gone
- if (hasNext() == false) {
- return AcceptStatus.END;
- }
-
- // peek next range, if the range > term then seek
- final int peekCompare = term.compareTo(peek());
- if (peekCompare < 0) {
- return AcceptStatus.NO_AND_SEEK;
- } else if (peekCompare > 0) {
- seek(prefixCodedToGeoCoded(term), (short)(64 - getPrefixCodedShift(term)));
- }
- nextRange();
- }
- return AcceptStatus.YES;
- }
-
- protected final class Range extends BaseRange {
- public Range(final long start, final short res, final boolean boundary) {
- super(start, res, boundary);
- }
-
- @Override
- protected void fillBytesRef(BytesRefBuilder result) {
- assert result != null;
- geoCodedToPrefixCoded(start, shift, result);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermsEnum.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermsEnum.java
index d82b340..1a3ed4b 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermsEnum.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermsEnum.java
@@ -1,3 +1,5 @@
+package org.apache.lucene.spatial.geopoint.search;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -14,64 +16,189 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.lucene.spatial.geopoint.search;
import org.apache.lucene.index.FilteredTermsEnum;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
-import org.apache.lucene.spatial.geopoint.search.GeoPointMultiTermQuery.CellComparator;
+import org.apache.lucene.spatial.geopoint.document.GeoPointField;
+
+import static org.apache.lucene.spatial.geopoint.document.GeoPointField.geoCodedToPrefixCoded;
+import static org.apache.lucene.spatial.geopoint.document.GeoPointField.prefixCodedToGeoCoded;
+import static org.apache.lucene.spatial.geopoint.document.GeoPointField.getPrefixCodedShift;
/**
- * Base class for {@link GeoPointNumericTermsEnum} and {@link GeoPointPrefixTermsEnum} which compares
- * candidate GeoPointField encoded terms against terms matching the defined query criteria.
+ * Decomposes a given {@link GeoPointMultiTermQuery} into a set of terms that represent the query criteria. The terms
+ * are then enumerated by the {@link GeoPointTermQueryConstantScoreWrapper} and all docs whose GeoPoint fields match
+ * the prefix terms or pass the {@link GeoPointMultiTermQuery.CellComparator#postFilter} criteria are returned in the
+ * resulting DocIdSet.
*
* @lucene.experimental
*/
-abstract class GeoPointTermsEnum extends FilteredTermsEnum {
- protected final short maxShift;
+final class GeoPointTermsEnum extends FilteredTermsEnum {
+ private final short maxShift;
+ private final BytesRefBuilder currentCellBRB = new BytesRefBuilder();
+ private final BytesRefBuilder nextSubRangeBRB = new BytesRefBuilder();
+ private final GeoPointMultiTermQuery.CellComparator relationImpl;
- protected BaseRange currentRange;
- protected BytesRef currentCell;
- protected final BytesRefBuilder currentCellBRB = new BytesRefBuilder();
- protected final BytesRefBuilder nextSubRangeBRB = new BytesRefBuilder();
+ private short shift; // shift mask
+ private long currStart; // range start as encoded long
+ private long currEnd; // range end as encoded long
- protected final CellComparator relationImpl;
+ private final Range currentRange = new Range(-1, shift, true);;
+ private final Range nextRange = new Range(-1, shift, true);
+ private BytesRef currentCell;
- GeoPointTermsEnum(final TermsEnum tenum, final GeoPointMultiTermQuery query) {
+ private boolean hasNext = false;
+ private boolean withinOnly = false;
+ private long lastWithin;
+
+ public GeoPointTermsEnum(final TermsEnum tenum, final GeoPointMultiTermQuery query) {
super(tenum);
this.maxShift = query.maxShift;
this.relationImpl = query.cellComparator;
+ // start shift at maxShift value (from computeMaxShift)
+ this.shift = maxShift;
+ final long mask = (1L << shift) - 1;
+ this.currStart = GeoPointField.encodeLatLon(query.minLat, query.minLon) & ~mask;
+ this.currEnd = currStart | mask;
+ }
+
+ private boolean within(final double minLat, final double maxLat, final double minLon, final double maxLon) {
+ return relationImpl.cellWithin(minLat, maxLat, minLon, maxLon);
}
- static GeoPointTermsEnum newInstance(final TermsEnum terms, final GeoPointMultiTermQuery query) {
- if (query.termEncoding == TermEncoding.PREFIX) {
- return new GeoPointPrefixTermsEnum(terms, query);
- } else if (query.termEncoding == TermEncoding.NUMERIC) {
- return new GeoPointNumericTermsEnum(terms, query);
+ private boolean boundary(final double minLat, final double maxLat, final double minLon, final double maxLon) {
+ return shift == maxShift && relationImpl.cellIntersectsShape(minLat, maxLat, minLon, maxLon);
+ }
+
+ private boolean nextWithin() {
+ if (withinOnly == false) {
+ return false;
}
- throw new IllegalArgumentException("Invalid GeoPoint TermEncoding " + query.termEncoding);
+ currStart += (1L << shift);
+ setNextRange(false);
+ currentRange.set(nextRange);
+ hasNext = true;
+
+ withinOnly = lastWithin != currStart;
+ if (withinOnly == false) advanceVariables();
+ return true;
}
- public boolean boundaryTerm() {
- if (currentCell == null) {
- throw new IllegalStateException("GeoPointTermsEnum empty or not initialized");
+ private void nextRelation() {
+ double minLon = GeoPointField.decodeLongitude(currStart);
+ double minLat = GeoPointField.decodeLatitude(currStart);
+ double maxLon;
+ double maxLat;
+ boolean isWithin;
+ do {
+ maxLon = GeoPointField.decodeLongitude(currEnd);
+ maxLat = GeoPointField.decodeLatitude(currEnd);
+
+ isWithin = false;
+ // within or a boundary
+ if (boundary(minLat, maxLat, minLon, maxLon) == true) {
+ isWithin = within(minLat, maxLat, minLon, maxLon);
+ final int m;
+ if (isWithin == false || (m = shift % GeoPointField.PRECISION_STEP) == 0) {
+ setNextRange(isWithin == false);
+ advanceVariables();
+ break;
+ } else if (shift < 54) {
+ withinOnly = true;
+ shift = (short)(shift - m);
+ lastWithin = currEnd & ~((1L << shift) - 1);
+ setNextRange(false);
+ break;
+ }
+ }
+
+ // within cell but not at a depth factor of PRECISION_STEP
+ if (isWithin == true || (relationImpl.cellIntersectsMBR(minLat, maxLat, minLon, maxLon) == true && shift != maxShift)) {
+ // descend: currStart need not change since shift handles end of range
+ currEnd = currStart | (1L<<--shift) - 1;
+ } else {
+ advanceVariables();
+ minLon = GeoPointField.decodeLongitude(currStart);
+ minLat = GeoPointField.decodeLatitude(currStart);
+ }
+ } while(shift < 63);
+ }
+
+ private void setNextRange(final boolean boundary) {
+ nextRange.start = currStart;
+ nextRange.shift = shift;
+ nextRange.boundary = boundary;
+ }
+
+ private void advanceVariables() {
+ /** set next variables */
+ long shiftMask = 1L << shift;
+ // pop-up if shift bit is set
+ while ( (currStart & shiftMask) == shiftMask) {
+ shiftMask = 1L << ++shift;
}
- return currentRange.boundary;
+ final long shiftMOne = shiftMask - 1;
+ currStart = currStart & ~shiftMOne | shiftMask;
+ currEnd = currStart | shiftMOne;
}
- protected BytesRef peek() {
+ protected final BytesRef peek() {
+ nextRange.fillBytesRef(nextSubRangeBRB);
return nextSubRangeBRB.get();
}
- abstract protected boolean hasNext();
+ protected void seek(long term, short res) {
+ if (term < currStart && res < maxShift) {
+ throw new IllegalArgumentException("trying to seek backwards");
+ } else if (term == currStart) {
+ return;
+ }
+ shift = res;
+ currStart = term;
+ currEnd = currStart | ((1L<<shift)-1);
+ withinOnly = false;
+ }
protected void nextRange() {
+ hasNext = false;
currentRange.fillBytesRef(currentCellBRB);
currentCell = currentCellBRB.get();
}
+ protected final boolean hasNext() {
+ if (hasNext == true || nextWithin()) {
+ return true;
+ }
+ nextRelation();
+ if (currentRange.compareTo(nextRange) != 0) {
+ currentRange.set(nextRange);
+ return (hasNext = true);
+ }
+ return false;
+ }
+
+ @Override
+ protected final BytesRef nextSeekTerm(BytesRef term) {
+ while (hasNext()) {
+ nextRange();
+ if (term == null) {
+ return currentCell;
+ }
+
+ final int comparison = term.compareTo(currentCell);
+ if (comparison > 0) {
+ seek(prefixCodedToGeoCoded(term), (short)(64 - getPrefixCodedShift(term)));
+ continue;
+ }
+ return currentCell;
+ }
+
+ // no more sub-range enums available
+ return null;
+ }
+
/**
* The two-phase query approach. {@link #nextSeekTerm} is called to obtain the next term that matches a numeric
* range of the bounding box. Those terms that pass the initial range filter are then compared against the
@@ -82,48 +209,60 @@ abstract class GeoPointTermsEnum extends FilteredTermsEnum {
*/
@Override
protected AcceptStatus accept(BytesRef term) {
- // validate value is in range
+ // range < term or range is null
while (currentCell == null || term.compareTo(currentCell) > 0) {
+ // no more ranges, be gone
if (hasNext() == false) {
return AcceptStatus.END;
}
- // peek next sub-range, only seek if the current term is smaller than next lower bound
- if (term.compareTo(peek()) < 0) {
+
+ // peek next range, if the range > term then seek
+ final int peekCompare = term.compareTo(peek());
+ if (peekCompare < 0) {
return AcceptStatus.NO_AND_SEEK;
+ } else if (peekCompare > 0) {
+ seek(prefixCodedToGeoCoded(term), (short)(64 - getPrefixCodedShift(term)));
}
- // step forward to next range without seeking, as next range is less or equal current term
nextRange();
}
-
return AcceptStatus.YES;
}
+ /**
+ * Returns true if the current range term is a boundary of the query shape
+ */
+ public boolean boundaryTerm() {
+ if (currentCell == null) {
+ throw new IllegalStateException("GeoPointTermsEnum empty or not initialized");
+ }
+ return currentRange.boundary;
+ }
+
protected boolean postFilter(final double lat, final double lon) {
return relationImpl.postFilter(lat, lon);
}
- /**
- * Internal class to represent a range along the space filling curve
- */
- abstract class BaseRange implements Comparable<BaseRange> {
- protected short shift;
- protected long start;
- protected boolean boundary;
+ protected final class Range implements Comparable<Range> {
+ private short shift;
+ private long start;
+ private boolean boundary;
- BaseRange(final long lower, final short shift, boolean boundary) {
+ public Range(final long start, final short shift, final boolean boundary) {
this.boundary = boundary;
- this.start = lower;
- this.shift = shift;
- }
+ this.start = start;
+ this.shift = shift; }
/**
* Encode as a BytesRef using a reusable object. This allows us to lazily create the BytesRef (which is
* quite expensive), only when we need it.
*/
- abstract protected void fillBytesRef(BytesRefBuilder result);
+ protected void fillBytesRef(BytesRefBuilder result) {
+ assert result != null;
+ geoCodedToPrefixCoded(start, shift, result);
+ }
@Override
- public int compareTo(BaseRange other) {
+ public int compareTo(Range other) {
final int result = Short.compare(this.shift, other.shift);
if (result == 0) {
return Long.compare(this.start, other.start);
@@ -131,7 +270,7 @@ abstract class GeoPointTermsEnum extends FilteredTermsEnum {
return result;
}
- protected void set(BaseRange other) {
+ protected void set(Range other) {
this.start = other.start;
this.shift = other.shift;
this.boundary = other.boundary;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java b/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java
index cfd6630..1ac9ffe 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestGeoPointQuery.java
@@ -22,7 +22,6 @@ import org.apache.lucene.geo.BaseGeoPointTestCase;
import org.apache.lucene.geo.Polygon;
import org.apache.lucene.geo.Rectangle;
import org.apache.lucene.spatial.geopoint.document.GeoPointField;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
/**
* random testing for GeoPoint query logic
@@ -43,22 +42,22 @@ public class TestGeoPointQuery extends BaseGeoPointTestCase {
@Override
protected void addPointToDoc(String field, Document doc, double lat, double lon) {
- doc.add(new GeoPointField(field, lat, lon, GeoPointField.PREFIX_TYPE_NOT_STORED));
+ doc.add(new GeoPointField(field, lat, lon, GeoPointField.TYPE_NOT_STORED));
}
@Override
protected Query newRectQuery(String field, double minLat, double maxLat, double minLon, double maxLon) {
- return new GeoPointInBBoxQuery(field, TermEncoding.PREFIX, minLat, maxLat, minLon, maxLon);
+ return new GeoPointInBBoxQuery(field, minLat, maxLat, minLon, maxLon);
}
@Override
protected Query newDistanceQuery(String field, double centerLat, double centerLon, double radiusMeters) {
- return new GeoPointDistanceQuery(field, TermEncoding.PREFIX, centerLat, centerLon, radiusMeters);
+ return new GeoPointDistanceQuery(field, centerLat, centerLon, radiusMeters);
}
@Override
protected Query newPolygonQuery(String field, Polygon... polygons) {
- return new GeoPointInPolygonQuery(field, TermEncoding.PREFIX, polygons);
+ return new GeoPointInPolygonQuery(field, polygons);
}
// TODO: remove these once we get tests passing!
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4db256d/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestLegacyGeoPointQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestLegacyGeoPointQuery.java b/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestLegacyGeoPointQuery.java
deleted file mode 100644
index c2f05ea..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/TestLegacyGeoPointQuery.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.lucene.spatial.geopoint.search;
-
-import org.apache.lucene.document.Document;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.geo.BaseGeoPointTestCase;
-import org.apache.lucene.geo.Polygon;
-import org.apache.lucene.geo.Rectangle;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField;
-import org.apache.lucene.spatial.geopoint.document.GeoPointField.TermEncoding;
-import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
-
-/**
- * random testing for GeoPoint query logic (with deprecated numeric encoding)
- * @deprecated remove this when TermEncoding.NUMERIC is removed
- */
-@Deprecated
-@SuppressCodecs("Direct") // can easily create too many postings and blow direct sky high
-public class TestLegacyGeoPointQuery extends BaseGeoPointTestCase {
-
- @Override
- protected double quantizeLat(double lat) {
- return GeoPointField.decodeLatitude(GeoPointField.encodeLatLon(lat, 0));
- }
-
- @Override
- protected double quantizeLon(double lon) {
- return GeoPointField.decodeLongitude(GeoPointField.encodeLatLon(0, lon));
- }
-
- @Override
- protected void addPointToDoc(String field, Document doc, double lat, double lon) {
- doc.add(new GeoPointField(field, lat, lon, GeoPointField.NUMERIC_TYPE_NOT_STORED));
- }
-
- @Override
- protected Query newRectQuery(String field, double minLat, double maxLat, double minLon, double maxLon) {
- return new GeoPointInBBoxQuery(field, TermEncoding.NUMERIC, minLat, maxLat, minLon, maxLon);
- }
-
- @Override
- protected Query newDistanceQuery(String field, double centerLat, double centerLon, double radiusMeters) {
- return new GeoPointDistanceQuery(field, TermEncoding.NUMERIC, centerLat, centerLon, radiusMeters);
- }
-
- @Override
- protected Query newPolygonQuery(String field, Polygon... polygons) {
- return new GeoPointInPolygonQuery(field, TermEncoding.NUMERIC, polygons);
- }
-
- // legacy encoding is too slow somehow for this random test, its not up to the task.
- @Override
- public void testRandomDistance() throws Exception {
- assumeTrue("legacy encoding is too slow/hangs on this test", false);
- }
-
- @Override
- public void testRandomDistanceHuge() throws Exception {
- assumeTrue("legacy encoding is too slow/hangs on this test", false);
- }
-
- @Override
- public void testSamePointManyTimes() throws Exception {
- assumeTrue("legacy encoding goes OOM on this test", false);
- }
-
- // TODO: remove these once we get tests passing!
-
- @Override
- protected double nextLongitude() {
- return GeoPointTestUtil.nextLongitude();
- }
-
- @Override
- protected double nextLatitude() {
- return GeoPointTestUtil.nextLatitude();
- }
-
- @Override
- protected Rectangle nextBox() {
- return GeoPointTestUtil.nextBox();
- }
-
- @Override
- protected Polygon nextPolygon() {
- return GeoPointTestUtil.nextPolygon();
- }
-}
[29/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: remove unused imports
Posted by no...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java
index c1729bc..a3ecd45 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java
@@ -23,7 +23,6 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
index 4f04407..5e32afe 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
@@ -25,7 +25,6 @@ import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.IntsRef;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
index c0e706d..5f39926 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
@@ -30,7 +30,6 @@ import org.apache.lucene.analysis.core.KeywordTokenizer;
import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
import org.apache.lucene.analysis.util.CharArraySet;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
import org.junit.AfterClass;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
index a9d763f..f6bce8b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.it;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
index 9e6f6f2..c5b2481 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
@@ -17,12 +17,10 @@
package org.apache.lucene.analysis.miscellaneous;
import java.io.IOException;
-import java.io.StringReader;
import java.util.Locale;
import java.util.regex.Pattern;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
index e52e61a..054a16a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.miscellaneous;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
index cd2bc2f..a8948d1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.no;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
index 624de9e..74733d6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.pattern;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
index 80ced7a..2f77ead 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
@@ -17,7 +17,6 @@
package org.apache.lucene.analysis.pattern;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java
index f31da3a..2528ec3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java
@@ -17,14 +17,10 @@
package org.apache.lucene.analysis.payloads;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
-
-import java.io.StringReader;
import java.nio.charset.StandardCharsets;
public class DelimitedPayloadTokenFilterTest extends BaseTokenStreamTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
index d07d794..fcd0f4b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.pt;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
index 874095c..306c0cd 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.reverse;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
index 244c6fd..946fa22 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.ru;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java
index 801e5e6..192de38 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java
@@ -18,7 +18,6 @@ package org.apache.lucene.analysis.shingle;
import java.io.IOException;
-import java.io.Reader;
import java.io.StringReader;
import java.util.Random;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
index 2c894ed..389d524 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.shingle;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java
index 0079678..85c7760 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.standard;
import java.io.Reader;
import java.io.StringReader;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
index ceaedf8..37983de 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
@@ -23,7 +23,6 @@ import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.core.StopAnalyzer;
import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
import org.apache.lucene.analysis.util.CharArraySet;
-import org.apache.lucene.util.Version;
/**
* Test case for ThaiAnalyzer, modified from TestFrenchAnalyzer
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java b/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java
index 67b64bb..4388969 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java
@@ -22,9 +22,6 @@ import com.ibm.icu.text.Collator;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.core.KeywordTokenizer;
import org.apache.lucene.collation.CollationKeyAnalyzer; // javadocs
-import org.apache.lucene.util.Version;
-
-import java.io.Reader;
/**
* <p>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
index 4c1d4ac..3782216 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
@@ -23,7 +23,6 @@ import java.util.HashMap;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.analysis.MockTokenizer;
/** basic tests for {@link ICUFoldingFilterFactory} */
public class TestICUFoldingFilterFactory extends BaseTokenStreamTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
index 5533215..8e8de80 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
@@ -22,7 +22,6 @@ import java.io.StringReader;
import java.util.HashMap;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
/** basic tests for {@link ICUNormalizer2FilterFactory} */
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
index a478217..10b9593 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
@@ -23,7 +23,6 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
/** basic tests for {@link ICUTransformFilterFactory} */
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
index f44e745..a9efb3b 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
@@ -23,7 +23,6 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.util.ClasspathResourceLoader;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java
index 96cf1b5..30ebd14 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java
@@ -24,7 +24,6 @@ import java.io.InputStream;
import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.store.DataInput;
import org.apache.lucene.store.InputStreamDataInput;
-import org.apache.lucene.util.BitUtil;
import org.apache.lucene.util.IOUtils;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java
index c8ab8d7..bf2ef57 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java
@@ -28,7 +28,6 @@ import java.util.Map;
import java.util.TreeMap;
import org.apache.lucene.analysis.ja.util.CSVUtil;
-import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.IntsRefBuilder;
import org.apache.lucene.util.fst.Builder;
import org.apache.lucene.util.fst.FST;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
index 6f70742..aaf30d6 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
@@ -17,15 +17,12 @@
package org.apache.lucene.analysis.phonetic;
-import java.io.StringReader;
import java.util.HashMap;
import java.util.Map;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.phonetic.DoubleMetaphoneFilter;
-import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
public class TestDoubleMetaphoneFilterFactory extends BaseTokenStreamTestCase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
index 7199755..94c5c93 100644
--- a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
+++ b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
@@ -22,7 +22,6 @@ import java.io.StringReader;
import java.util.HashMap;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenStream;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java
index 54e71d7..58ce024 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.uima;
import org.apache.lucene.analysis.util.TokenizerFactory;
import org.apache.lucene.util.AttributeFactory;
-import java.io.Reader;
import java.util.HashMap;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java
index 5cb4a01..07e5e2a 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java
@@ -19,7 +19,6 @@ package org.apache.lucene.analysis.uima;
import org.apache.lucene.analysis.Analyzer;
-import java.io.Reader;
import java.util.Map;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java
index b1a6d20..f77f7d9 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.uima;
import org.apache.lucene.analysis.util.TokenizerFactory;
import org.apache.lucene.util.AttributeFactory;
-import java.io.Reader;
import java.util.HashMap;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java
index 1ba717b..020c640 100644
--- a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java
+++ b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis.uima;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.util.LuceneTestCase.AwaitsFix;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
index 9c5453f..5d615ec 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
@@ -26,14 +26,10 @@ import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.codecs.SegmentInfoFormat;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexFileNames;
-import org.apache.lucene.index.IndexWriter; // javadocs
import org.apache.lucene.index.SegmentInfo; // javadocs
-import org.apache.lucene.index.SegmentInfos; // javadocs
import org.apache.lucene.store.ChecksumIndexInput;
-import org.apache.lucene.store.DataOutput; // javadocs
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
-import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.util.Version;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java
index 0a373b1..41c817a 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java
@@ -23,14 +23,10 @@ import java.util.Map;
import java.util.Set;
import org.apache.lucene.codecs.CodecUtil;
-import org.apache.lucene.codecs.SegmentInfoFormat;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexFileNames;
-import org.apache.lucene.index.IndexWriter; // javadocs
import org.apache.lucene.index.SegmentInfo; // javadocs
-import org.apache.lucene.index.SegmentInfos; // javadocs
import org.apache.lucene.store.ChecksumIndexInput;
-import org.apache.lucene.store.DataOutput; // javadocs
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexOutput;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java
index 8e89c91..1cf3f2d 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java
@@ -18,13 +18,10 @@ package org.apache.lucene.benchmark.byTask.tasks;
import java.nio.file.Paths;
-import java.util.List;
-
import org.apache.lucene.benchmark.byTask.PerfRunData;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.CodecReader;
import org.apache.lucene.index.SlowCodecReaderWrapper;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
index cbc7db7..fe7f5cb 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
@@ -19,7 +19,6 @@ package org.apache.lucene.benchmark.byTask.tasks;
import org.apache.lucene.benchmark.byTask.PerfRunData;
import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.util.ArrayUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java
index 19cb97b..b6d3905 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java
@@ -24,7 +24,6 @@ import java.util.Map;
import org.apache.lucene.benchmark.byTask.PerfRunData;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexCommit;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.store.Directory;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java
index a60859d..59ee9f9 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java
@@ -34,7 +34,6 @@ import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.search.Collector;
import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.search.MultiTermQuery;
import org.apache.lucene.search.TopFieldCollector;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopScoreDocCollector;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java
index 6add27c..fcc91ea 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import org.apache.lucene.benchmark.byTask.PerfRunData;
import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexReader;
/**
* Reopens IndexReader and closes old IndexReader.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java
index 53a1ac5..7bc4255 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java
@@ -18,8 +18,6 @@ package org.apache.lucene.benchmark.byTask.tasks;
import java.io.IOException;
-import java.io.PrintStream;
-
import org.apache.lucene.benchmark.byTask.PerfRunData;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.util.InfoStream;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java
index 01b549e..371efbf 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java
@@ -17,7 +17,6 @@
package org.apache.lucene.benchmark.byTask.tasks;
import java.io.BufferedWriter;
-import java.io.File;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/SimpleQQParser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/SimpleQQParser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/SimpleQQParser.java
index 4c6f6b9..10a793e 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/SimpleQQParser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/SimpleQQParser.java
@@ -25,7 +25,6 @@ import org.apache.lucene.queryparser.classic.QueryParserBase;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.Query;
-import org.apache.lucene.util.Version;
/**
* Simplistic quality query parser. A Lucene query is created by passing
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java
index d2bcd08..117ed3a 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java
@@ -18,10 +18,6 @@ package org.apache.lucene.benchmark.byTask.tasks;
import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/classification/src/java/org/apache/lucene/classification/Classifier.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/Classifier.java b/lucene/classification/src/java/org/apache/lucene/classification/Classifier.java
index b87440d..b358504 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/Classifier.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/Classifier.java
@@ -19,10 +19,6 @@ package org.apache.lucene.classification;
import java.io.IOException;
import java.util.List;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.search.Query;
-
/**
* A classifier, see <code>http://en.wikipedia.org/wiki/Classifier_(mathematics)</code>, which assign classes of type
* <code>T</code>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java b/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
index 2c5a493..3fbe556 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
@@ -32,7 +32,6 @@ import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.classification.ClassificationResult;
import org.apache.lucene.classification.SimpleNaiveBayesClassifier;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.MultiFields;
@@ -44,7 +43,6 @@ import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TotalHitCountCollector;
-import org.apache.lucene.search.WildcardQuery;
import org.apache.lucene.util.BytesRef;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java b/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java
index fbc57b9..9523950 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java
@@ -18,8 +18,6 @@ package org.apache.lucene.classification.utils;
import java.io.IOException;
-import java.util.HashMap;
-
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/classification/src/test/org/apache/lucene/classification/SimpleNaiveBayesClassifierTest.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/SimpleNaiveBayesClassifierTest.java b/lucene/classification/src/test/org/apache/lucene/classification/SimpleNaiveBayesClassifierTest.java
index ab1204f..830ce2c 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/SimpleNaiveBayesClassifierTest.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/SimpleNaiveBayesClassifierTest.java
@@ -30,7 +30,6 @@ import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.util.BytesRef;
-import org.junit.Ignore;
import org.junit.Test;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/classification/src/test/org/apache/lucene/classification/utils/DocToDoubleVectorUtilsTest.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/utils/DocToDoubleVectorUtilsTest.java b/lucene/classification/src/test/org/apache/lucene/classification/utils/DocToDoubleVectorUtilsTest.java
index 41b09c6..a90d1a5 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/utils/DocToDoubleVectorUtilsTest.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/utils/DocToDoubleVectorUtilsTest.java
@@ -16,8 +16,6 @@
*/
package org.apache.lucene.classification.utils;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
index f363cd3..b8d23bd 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
@@ -43,7 +43,6 @@ import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.Accountables;
import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.RamUsageEstimator;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
index cd0e246..9e508bf 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
@@ -21,12 +21,10 @@ import java.io.IOException;
import org.apache.lucene.codecs.blocktreeords.FSTOrdsOutputs.Output;
import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.IndexOptions;
import org.apache.lucene.index.TermState;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.RamUsageEstimator;
import org.apache.lucene.util.StringHelper;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
index 92ca176..9a9d871 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
@@ -26,13 +26,11 @@ import java.io.PrintStream;
import org.apache.lucene.codecs.BlockTermState;
import org.apache.lucene.codecs.blocktreeords.FSTOrdsOutputs.Output;
import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.IndexOptions;
import org.apache.lucene.index.TermState;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.store.ByteArrayDataInput;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.IntsRef;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
index dd45f76..5967505 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
@@ -48,7 +48,6 @@ import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.Accountables;
import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.IOUtils;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
index 2a61854..faab788 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
@@ -40,7 +40,6 @@ import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.Accountables;
import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.CharsRef;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java
index 22f7687..8f01ebf 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java
@@ -32,12 +32,10 @@ import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.CharsRefBuilder;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.MutableBits;
import org.apache.lucene.util.StringHelper;
-import org.apache.lucene.util.UnicodeUtil;
/**
* reads/writes plaintext live docs
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
index 4a468e9..c1808bf 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
@@ -38,7 +38,6 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.CharsRef;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/analysis/Token.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/Token.java b/lucene/core/src/java/org/apache/lucene/analysis/Token.java
index f2323a6..77ab85e 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/Token.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/Token.java
@@ -20,7 +20,6 @@ package org.apache.lucene.analysis;
import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
import org.apache.lucene.analysis.tokenattributes.PackedTokenAttributeImpl;
import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
-import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.util.Attribute;
import org.apache.lucene.util.AttributeFactory;
import org.apache.lucene.util.AttributeImpl;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
index 39d3902..40f44ab 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
@@ -29,8 +29,6 @@ import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.MergeState;
import org.apache.lucene.index.NumericDocValues;
import org.apache.lucene.index.SegmentWriteState;
-import org.apache.lucene.util.Bits;
-
import static org.apache.lucene.search.DocIdSetIterator.NO_MORE_DOCS;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
index 26652aa..1e91271 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
@@ -33,7 +33,6 @@ import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.IndexableFieldType;
import org.apache.lucene.index.MergeState;
import org.apache.lucene.index.StoredFieldVisitor;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import static org.apache.lucene.search.DocIdSetIterator.NO_MORE_DOCS;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
index 5756d5b..50cfca8 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
@@ -32,7 +32,6 @@ import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.DataInput;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java
index 4c4331c..3b0d5c2 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java
@@ -30,7 +30,6 @@ import org.apache.lucene.codecs.PostingsReaderBase;
import org.apache.lucene.codecs.PostingsWriterBase;
import org.apache.lucene.codecs.blocktree.BlockTreeTermsReader;
import org.apache.lucene.codecs.blocktree.BlockTreeTermsWriter;
-import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.index.IndexOptions;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/codecs/lucene62/Lucene62SegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene62/Lucene62SegmentInfoFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene62/Lucene62SegmentInfoFormat.java
index fe78572..1ee5258 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene62/Lucene62SegmentInfoFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene62/Lucene62SegmentInfoFormat.java
@@ -17,7 +17,6 @@
package org.apache.lucene.codecs.lucene62;
import java.io.IOException;
-import java.util.Collections;
import java.util.Map;
import java.util.Set;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java b/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java
index 07c9e72..0fb0e3b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocIDMerger.java
@@ -17,11 +17,9 @@
package org.apache.lucene.index;
-import java.io.IOException;
import java.util.List;
import org.apache.lucene.search.DocIdSetIterator; // javadocs
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.PriorityQueue;
import static org.apache.lucene.search.DocIdSetIterator.NO_MORE_DOCS;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
index 87310fb..3802805 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
@@ -17,8 +17,6 @@
package org.apache.lucene.index;
import org.apache.lucene.util.ThreadInterruptedException;
-import org.apache.lucene.util.ThreadInterruptedException;
-
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.locks.ReentrantLock;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java b/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
index e2957d7..50d2482 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
@@ -22,7 +22,6 @@ import java.util.EnumSet;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.DocumentsWriterPerThread.IndexingChain;
import org.apache.lucene.index.IndexWriter.IndexReaderWarmer;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java b/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
index 166878d..adadc40 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
@@ -21,8 +21,6 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import org.apache.lucene.index.MultiPostingsEnum.EnumWithSlice;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
index c42b052..dbf37df 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
@@ -19,14 +19,12 @@ package org.apache.lucene.index;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.MergeInfo;
import org.apache.lucene.store.RateLimiter;
-import org.apache.lucene.util.FixedBitSet;
/**
* <p>Expert: a MergePolicy determines the sequence of
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/index/MergeState.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergeState.java b/lucene/core/src/java/org/apache/lucene/index/MergeState.java
index 3723f19..fcaad51 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergeState.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergeState.java
@@ -19,7 +19,6 @@ package org.apache.lucene.index;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Locale;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java b/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java
index 8f5be86..51cabab 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiSorter.java
@@ -23,7 +23,6 @@ import java.util.List;
import org.apache.lucene.index.MergeState.DocMap;
import org.apache.lucene.index.MergeState;
-import org.apache.lucene.search.LeafFieldComparator;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
import org.apache.lucene.util.Bits;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java b/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
index f69817a..232fe70 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
@@ -22,7 +22,6 @@ import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
import org.apache.lucene.codecs.TermVectorsWriter;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.RamUsageEstimator;
final class TermVectorsConsumerPerField extends TermsHashPerField {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java b/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java
index 3496589..d360adb 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute;
import org.apache.lucene.util.ByteBlockPool;
-import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefHash;
import org.apache.lucene.util.Counter;
import org.apache.lucene.util.IntBlockPool;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java b/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
index ca9459f..82aea6d 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
@@ -28,7 +28,6 @@ import org.apache.lucene.index.TermContext;
import org.apache.lucene.index.TermState;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.InPlaceMergeSorter;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java b/lucene/core/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java
index 1af1b9f..8ddd82f 100644
--- a/lucene/core/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java
@@ -20,7 +20,6 @@ import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.search.CollectionTerminatedException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java b/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
index 8331d0f..e79dbf2 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
@@ -19,7 +19,6 @@ package org.apache.lucene.search;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Comparator;
import java.util.List;
import org.apache.lucene.index.PostingsEnum;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/search/Multiset.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/Multiset.java b/lucene/core/src/java/org/apache/lucene/search/Multiset.java
index 0755edd..549ec7b 100644
--- a/lucene/core/src/java/org/apache/lucene/search/Multiset.java
+++ b/lucene/core/src/java/org/apache/lucene/search/Multiset.java
@@ -18,8 +18,6 @@ package org.apache.lucene.search;
import java.util.AbstractCollection;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/search/PointInSetQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/PointInSetQuery.java b/lucene/core/src/java/org/apache/lucene/search/PointInSetQuery.java
index e1a2c18..8569114 100644
--- a/lucene/core/src/java/org/apache/lucene/search/PointInSetQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/PointInSetQuery.java
@@ -18,15 +18,10 @@ package org.apache.lucene.search;
import java.io.IOException;
import java.util.AbstractCollection;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Iterator;
-import java.util.List;
import java.util.NoSuchElementException;
-import java.util.Set;
-
import org.apache.lucene.document.IntPoint;
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.LeafReader;
@@ -36,7 +31,6 @@ import org.apache.lucene.index.PointValues.Relation;
import org.apache.lucene.index.PointValues;
import org.apache.lucene.index.PrefixCodedTerms.TermIterator;
import org.apache.lucene.index.PrefixCodedTerms;
-import org.apache.lucene.index.Term;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.BytesRefIterator;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java b/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
index dffde73..b3c8ad2 100644
--- a/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
@@ -18,7 +18,6 @@ package org.apache.lucene.search;
import org.apache.lucene.index.Term;
-import org.apache.lucene.util.ToStringUtils;
import org.apache.lucene.util.automaton.Automaton;
import org.apache.lucene.util.automaton.AutomatonProvider;
import org.apache.lucene.util.automaton.Operations;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/store/ByteArrayIndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/ByteArrayIndexInput.java b/lucene/core/src/java/org/apache/lucene/store/ByteArrayIndexInput.java
index 6363ed1..80f5647 100644
--- a/lucene/core/src/java/org/apache/lucene/store/ByteArrayIndexInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/ByteArrayIndexInput.java
@@ -19,8 +19,6 @@ package org.apache.lucene.store;
import java.io.IOException;
-import org.apache.lucene.util.BytesRef;
-
/**
* DataInput backed by a byte array.
* <b>WARNING:</b> This class omits all low-level checks.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java b/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java
index 0dc0e7a..09830e6 100644
--- a/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java
+++ b/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java
@@ -17,7 +17,6 @@
package org.apache.lucene.util;
-import java.io.IOException;
import java.util.Arrays;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java b/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java
index 0ac2867..704a6c4 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java
@@ -22,7 +22,6 @@ import java.util.*;
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.RamUsageEstimator;
import org.apache.lucene.util.UnicodeUtil;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/util/mutable/MutableValueStr.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/mutable/MutableValueStr.java b/lucene/core/src/java/org/apache/lucene/util/mutable/MutableValueStr.java
index cace988..f6921b3 100644
--- a/lucene/core/src/java/org/apache/lucene/util/mutable/MutableValueStr.java
+++ b/lucene/core/src/java/org/apache/lucene/util/mutable/MutableValueStr.java
@@ -16,7 +16,6 @@
*/
package org.apache.lucene.util.mutable;
-import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
index 8652f25..6b42ffb 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
@@ -17,7 +17,6 @@
package org.apache.lucene.util.packed;
-import static org.apache.lucene.util.BitUtil.zigZagEncode;
import static org.apache.lucene.util.packed.MonotonicBlockPackedReader.expected;
import java.io.IOException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java
index 6d396a2..09b3ecd 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java
@@ -22,7 +22,6 @@ import java.util.Arrays;
import static org.apache.lucene.util.packed.MonotonicBlockPackedReader.expected;
import org.apache.lucene.util.RamUsageEstimator;
-import org.apache.lucene.util.packed.DeltaPackedLongValues.Builder;
import org.apache.lucene.util.packed.PackedInts.Reader;
class MonotonicLongValues extends DeltaPackedLongValues {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java
index b6f178d..58d980e 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java
@@ -26,7 +26,6 @@ import java.util.List;
import java.util.Set;
import java.util.TreeSet;
-import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.DocValuesFormat;
@@ -55,7 +54,6 @@ import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.NumericDocValues;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.SegmentReader;
import org.apache.lucene.index.SerialMergeScheduler;
import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.SortedNumericDocValues;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java b/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java
index c49d4e0..da76f40 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java
@@ -18,8 +18,6 @@ package org.apache.lucene.document;
import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
import org.apache.lucene.document.FieldType.LegacyNumericType;
import org.apache.lucene.index.DocValuesType;
import org.apache.lucene.index.IndexOptions;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/Test2BPoints.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BPoints.java b/lucene/core/src/test/org/apache/lucene/index/Test2BPoints.java
index da8dbac..892ab6c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BPoints.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BPoints.java
@@ -16,14 +16,8 @@
*/
package org.apache.lucene.index;
-import java.io.IOException;
-
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.codecs.FilterCodec;
-import org.apache.lucene.codecs.PointsFormat;
-import org.apache.lucene.codecs.PointsReader;
-import org.apache.lucene.codecs.PointsWriter;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.LongPoint;
import org.apache.lucene.search.IndexSearcher;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java b/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
index 8dc8a3c..c6cf1c3 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
@@ -36,13 +36,11 @@ import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.document.SortedSetDocValuesField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.NRTCachingDirectory;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
import org.apache.lucene.util.TestUtil;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java b/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
index bd1e9b6..79783b5 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
@@ -17,7 +17,6 @@
package org.apache.lucene.index;
-import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -33,11 +32,7 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.document.StringField;
import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.InfoStream;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java b/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
index 8e62094..8c7090e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
@@ -19,7 +19,6 @@ package org.apache.lucene.index;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.util.Collection;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java b/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java
index 003db9e..d957646 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocIDMerger.java
@@ -17,10 +17,8 @@
package org.apache.lucene.index;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java b/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java
index 2ef5824..cc1f2be 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java
@@ -27,7 +27,6 @@ import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.TextField;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java b/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java
index 30ac6c6..48d69ec 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java
@@ -32,7 +32,6 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FilterDirectory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.junit.AfterClass;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
index ecebb18..0191e25 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
@@ -18,8 +18,6 @@ package org.apache.lucene.index;
import java.io.*;
-import java.net.URI;
-import java.nio.file.FileSystem;
import java.nio.file.Path;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -29,8 +27,6 @@ import org.apache.lucene.codecs.simpletext.SimpleTextCodec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
-import org.apache.lucene.mockfile.FilterPath;
-import org.apache.lucene.mockfile.VirusCheckingFS;
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java
index d5e5d92..2b4f764 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java
@@ -19,16 +19,12 @@ package org.apache.lucene.index;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
-import org.apache.lucene.util.TestUtil;
-import org.apache.lucene.store.BufferedIndexInput;
import org.apache.lucene.store.ByteArrayDataInput;
import org.apache.lucene.store.ByteArrayDataOutput;
import org.apache.lucene.store.DataInput;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.store.RAMDirectory;
-
import org.junit.AfterClass;
import org.junit.BeforeClass;
[04/50] [abbrv] lucene-solr:apiv2: SOLR-8812: edismax: turn off mm
processing if no explicit mm spec is provided and there are explicit
operators (except for AND) - addresses problems caused by SOLR-2649
Posted by no...@apache.org.
SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/38714399
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/38714399
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/38714399
Branch: refs/heads/apiv2
Commit: 38714399760889d2d7b188a87341aade6139ffef
Parents: 9632069
Author: Steve Rowe <sa...@apache.org>
Authored: Fri Jun 10 02:29:26 2016 -0400
Committer: Steve Rowe <sa...@apache.org>
Committed: Fri Jun 10 02:29:26 2016 -0400
----------------------------------------------------------------------
solr/CHANGES.txt | 4 +
.../solr/search/ExtendedDismaxQParser.java | 37 ++++-
.../solr/search/TestExtendedDismaxParser.java | 155 +++++++++++++++++++
3 files changed, 191 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/38714399/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index ceb7a4a..73a60f2 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -203,6 +203,10 @@ Bug Fixes
* SOLR-9198: config APIs unable to add multiple values with same name (noble)
+* SOLR-8812: edismax: turn off mm processing if no explicit mm spec is provided
+ and there are explicit operators (except for AND) - addresses problems caused by SOLR-2649.
+ (Greg Pendlebury, Jan H�ydahl, Erick Erickson, Steve Rowe)
+
Optimizations
----------------------
* SOLR-8722: Don't force a full ZkStateReader refresh on every Overseer operation.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/38714399/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java b/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java
index 8401f3e..c6e5116 100644
--- a/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java
+++ b/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java
@@ -337,11 +337,17 @@ public class ExtendedDismaxQParser extends QParser {
if(query == null) {
return null;
}
-
- // For correct lucene queries, turn off mm processing if there
- // were explicit operators (except for AND).
+ // For correct lucene queries, turn off mm processing if no explicit mm spec was provided
+ // and there were explicit operators (except for AND).
if (query instanceof BooleanQuery) {
- query = SolrPluginUtils.setMinShouldMatch((BooleanQuery)query, config.minShouldMatch, config.mmAutoRelax);
+ // config.minShouldMatch holds the value of mm which MIGHT have come from the user,
+ // but could also have been derived from q.op.
+ String mmSpec = config.minShouldMatch;
+
+ if (foundOperators(clauses, config.lowercaseOperators)) {
+ mmSpec = params.get(DisMaxParams.MM, "0%"); // Use provided mm spec if present, otherwise turn off mm processing
+ }
+ query = SolrPluginUtils.setMinShouldMatch((BooleanQuery)query, mmSpec, config.mmAutoRelax);
}
return query;
}
@@ -391,7 +397,28 @@ public class ExtendedDismaxQParser extends QParser {
}
return sb.toString();
}
-
+
+ /**
+ * Returns true if at least one of the clauses is/has an explicit operator (except for AND)
+ */
+ private boolean foundOperators(List<Clause> clauses, boolean lowercaseOperators) {
+ for (Clause clause : clauses) {
+ if (clause.must == '+') return true;
+ if (clause.must == '-') return true;
+ if (clause.isBareWord()) {
+ String s = clause.val;
+ if ("OR".equals(s)) {
+ return true;
+ } else if ("NOT".equals(s)) {
+ return true;
+ } else if (lowercaseOperators && "or".equals(s)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
/**
* Generates a query string from the raw clauses, uppercasing
* 'and' and 'or' as needed.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/38714399/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java b/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
index 019c54d..9b305f2 100644
--- a/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
@@ -81,6 +81,13 @@ public class TestExtendedDismaxParser extends SolrTestCaseJ4 {
assertU(adoc("id", "63", "text_sw", "gold stocks"));
assertU(adoc("id", "64", "text_sw", "stocks gold stockade"));
assertU(adoc("id", "65", "text_sw", "snake oil"));
+ // SOLR-8812 user query example
+ assertU(adoc("id", "66", "text_sw", "hair ties barbie"));
+ assertU(adoc("id", "67", "text_sw", "hair ties"));
+ assertU(adoc("id", "68", "text_sw", "hair barbie"));
+ assertU(adoc("id", "69", "text_sw", "ties barbie"));
+ assertU(adoc("id", "70", "text_sw", "hair"));
+ assertU(adoc("id", "71", "text_sw", "ties"));
assertU(commit());
}
@@ -1145,6 +1152,154 @@ public class TestExtendedDismaxParser extends SolrTestCaseJ4 {
"mm", "100%",
"defType", "edismax")
, "*[count(//doc)=0]");
+
+ // SOLR-9174
+ assertQ("test minShouldMatch=1<-1 with explicit OR, one impossible clause, and no explicit q.op",
+ req("q", "barbie OR (hair AND nonexistentword)",
+ "qf", "text_sw",
+ "mm", "1<-1",
+ "defType", "edismax")
+ , "*[count(//doc)=3]");
+ }
+
+ /* SOLR-8812 */
+ @Test
+ public void testDefaultMM() throws Exception {
+ // Ensure MM is off when explicit operators (+/-/OR/NOT) are used and no explicit mm spec is specified.
+ assertQ("Explicit OR in query with no explicit mm and q.op=AND => mm = 0%",
+ req("q", "oil OR stocks",
+ "qf", "text_sw",
+ "q.op", "AND",
+ "defType", "edismax")
+ , "*[count(//doc)=4]");
+ assertQ("Explicit 'or' in query with lowercaseOperators=true, no explicit mm and q.op=AND => mm = 0%",
+ req("q", "oil or stocks",
+ "qf", "text_sw",
+ "q.op", "AND",
+ "lowercaseOperators", "true",
+ "defType", "edismax")
+ , "*[count(//doc)=4]");
+ assertQ("Explicit OR in query with no explicit mm and no explicit q.op => mm = 0%",
+ req("q", "oil OR stocks",
+ "qf", "text_sw",
+ "defType", "edismax")
+ , "*[count(//doc)=4]");
+ assertQ("No operator in query with no explicit mm and q.op=OR => mm = 0%",
+ req("q", "oil stocks",
+ "qf", "text_sw",
+ "defType", "edismax")
+ , "*[count(//doc)=4]");
+ assertQ("No operator in query with no explicit mm and q.op=AND => mm = 100%",
+ req("q", "oil stocks",
+ "qf", "text_sw",
+ "q.op", "AND",
+ "defType", "edismax")
+ , "*[count(//doc)=1]");
+ assertQ("No operator in query with no explicit mm and q.op=OR => mm = 0%",
+ req("q", "oil stocks",
+ "qf", "text_sw",
+ "q.op", "OR",
+ "defType", "edismax")
+ , "*[count(//doc)=4]");
+
+ assertQ("Explicit '-' operator in query with no explicit mm and no explicit q.op => mm = 0%",
+ req("q", "hair ties -barbie",
+ "qf", "text_sw",
+ "defType", "edismax")
+ , "*[count(//doc)=3]");
+ assertQ("Explicit NOT in query with no explicit mm and no explicit q.op => mm = 0%",
+ req("q", "hair ties NOT barbie",
+ "qf", "text_sw",
+ "defType", "edismax")
+ , "*[count(//doc)=3]");
+
+ assertQ("Explicit '-' operator in query with no explicit mm and q.op=OR => mm = 0%",
+ req("q", "hair ties -barbie",
+ "qf", "text_sw",
+ "q.op", "OR",
+ "defType", "edismax")
+ , "*[count(//doc)=3]");
+ assertQ("Explicit NOT in query with no explicit mm and q.op=OR => mm = 0%",
+ req("q", "hair ties NOT barbie",
+ "qf", "text_sw",
+ "q.op", "OR",
+ "defType", "edismax")
+ , "*[count(//doc)=3]");
+
+ assertQ("Explicit '-' operator in query with no explicit mm and q.op=OR => mm = 0%",
+ req("q", "hair AND ties -barbie",
+ "qf", "text_sw",
+ "q.op", "OR",
+ "defType", "edismax")
+ , "*[count(//doc)=1]");
+ assertQ("Explicit NOT in query with no explicit mm and q.op=OR => mm = 0%",
+ req("q", "hair AND ties -barbie",
+ "qf", "text_sw",
+ "q.op", "OR",
+ "defType", "edismax")
+ , "*[count(//doc)=1]");
+
+ assertQ("No explicit non-AND operator in query with no explicit mm and q.op=OR => mm = 0%",
+ req("q", "hair AND ties barbie",
+ "qf", "text_sw",
+ "q.op", "OR",
+ "defType", "edismax")
+ , "*[count(//doc)=2]");
+ assertQ("No explicit non-AND operator in query with no explicit mm and q.op=AND => mm = 100%",
+ req("q", "hair AND ties barbie",
+ "qf", "text_sw",
+ "q.op", "AND",
+ "defType", "edismax")
+ , "*[count(//doc)=1]");
+ assertQ("No explicit non-AND operator in query with no explicit mm and no explicit q.op => mm = 0%",
+ req("q", "hair AND ties barbie",
+ "qf", "text_sw",
+ "defType", "edismax")
+ , "*[count(//doc)=2]");
+ assertQ("No explicit non-AND operator in query with no explicit mm and no explicit q.op => mm = 0%",
+ req("q", "hair and ties barbie",
+ "qf", "text_sw",
+ "lowercaseOperators", "true",
+ "defType", "edismax")
+ , "*[count(//doc)=2]");
+
+ assertQ("Explicit '-' operator in query with no explicit mm and q.op=AND => mm = 100%",
+ req("q", "hair ties -barbie",
+ "qf", "text_sw",
+ "q.op", "AND",
+ "defType", "edismax")
+ , "*[count(//doc)=1]");
+ assertQ("Explicit NOT in query with no explicit mm and q.op=AND => mm = 100%",
+ req("q", "hair ties NOT barbie",
+ "qf", "text_sw",
+ "q.op", "AND",
+ "defType", "edismax")
+ , "*[count(//doc)=1]");
+
+ assertQ("Explicit OR in query with no explicit mm and q.op=AND => mm = 0%",
+ req("q", "hair OR ties barbie",
+ "qf", "text_sw",
+ "q.op", "AND",
+ "defType", "edismax")
+ , "*[count(//doc)=3]");
+ assertQ("Explicit OR in query with no explicit mm and q.op=OR => mm = 0%",
+ req("q", "hair OR ties barbie",
+ "qf", "text_sw",
+ "q.op", "OR",
+ "defType", "edismax")
+ , "*[count(//doc)=6]");
+ assertQ("Explicit OR in query with no explicit mm and no explicit q.op => mm = 0%",
+ req("q", "hair OR ties barbie",
+ "qf", "text_sw",
+ "defType", "edismax")
+ , "*[count(//doc)=6]");
+
+ assertQ("Explicit '+' operator in query with no explicit mm and q.op=AND => mm = 0%",
+ req("q", "hair ties +barbie",
+ "qf", "text_sw",
+ "q.op", "AND",
+ "defType", "edismax")
+ , "*[count(//doc)=1]");
}
public void testEdismaxSimpleExtension() throws SyntaxError {
[23/50] [abbrv] lucene-solr:apiv2: LUCENE-7319: remove unused imports
Posted by no...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
index a568245..10ff5e1 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
@@ -20,9 +20,7 @@ import java.lang.invoke.MethodHandles;
import java.util.Collection;
import java.util.Collections;
-import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.apache.solr.common.SolrException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java b/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
index 5851a00..8193cae 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
@@ -54,7 +54,6 @@ import java.lang.invoke.MethodHandles;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
/**
*
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/java/org/apache/solr/common/cloud/ZkConfigManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkConfigManager.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkConfigManager.java
index eb87c34..2385772 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkConfigManager.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkConfigManager.java
@@ -30,7 +30,6 @@ import java.nio.file.attribute.BasicFileAttributes;
import java.util.Collections;
import java.util.List;
import java.util.Set;
-import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/GetByIdTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/GetByIdTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/GetByIdTest.java
index 5c493e3..6085a08 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/GetByIdTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/GetByIdTest.java
@@ -16,10 +16,8 @@
*/
package org.apache.solr.client.solrj;
-import java.io.File;
import java.util.Arrays;
-import org.apache.commons.io.FileUtils;
import org.apache.solr.SolrJettyTestBase;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java b/solr/solrj/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java
index 9c633b1..1f16415 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java
@@ -25,7 +25,6 @@ import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.CoreAdminParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.core.CoreContainer;
-import org.apache.solr.core.SolrCore;
import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java
index 443e59e..d81667b 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java
@@ -39,7 +39,6 @@ import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
-import java.util.Set;
public class SolrSchemalessExampleTest extends SolrExampleTestsBase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java b/solr/solrj/src/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java
index 6390ddc..ee55521 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java
@@ -20,7 +20,6 @@ import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.impl.XMLResponseParser;
import org.apache.solr.client.solrj.response.QueryResponse;
-import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
@@ -31,7 +30,6 @@ import org.junit.Test;
import java.io.StringReader;
import java.util.Arrays;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java
index 2b2b6b6..67ea49c 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java
@@ -17,7 +17,6 @@
package org.apache.solr.client.solrj.embedded;
import org.apache.solr.client.solrj.LargeVolumeTestBase;
-import org.apache.solr.util.ExternalPaths;
import org.junit.BeforeClass;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java
index f26f0c2..52c68a2 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java
@@ -17,7 +17,6 @@
package org.apache.solr.client.solrj.embedded;
import org.apache.solr.client.solrj.LargeVolumeTestBase;
-import org.apache.solr.util.ExternalPaths;
import org.junit.BeforeClass;
public class LargeVolumeEmbeddedTest extends LargeVolumeTestBase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java
index 7b5459f..d627f2b 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java
@@ -17,7 +17,6 @@
package org.apache.solr.client.solrj.embedded;
import org.apache.solr.client.solrj.LargeVolumeTestBase;
-import org.apache.solr.util.ExternalPaths;
import org.junit.BeforeClass;
public class LargeVolumeJettyTest extends LargeVolumeTestBase {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java
index 7ce5aa0..b4d89d4 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java
@@ -17,7 +17,6 @@
package org.apache.solr.client.solrj.embedded;
import org.apache.solr.client.solrj.SolrExampleTests;
-import org.apache.solr.util.ExternalPaths;
import org.junit.BeforeClass;
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/io/graph/GraphTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/graph/GraphTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/graph/GraphTest.java
index b9b6ed5..b098be0 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/graph/GraphTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/graph/GraphTest.java
@@ -19,10 +19,8 @@ package org.apache.solr.client.solrj.io.graph;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.apache.lucene.util.LuceneTestCase;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java
index e9e262c..2d6e37b 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java
@@ -20,7 +20,6 @@ import java.net.URI;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/RecordCountStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/RecordCountStream.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/RecordCountStream.java
index 722a493..fb93d86 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/RecordCountStream.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/RecordCountStream.java
@@ -28,7 +28,6 @@ import org.apache.solr.client.solrj.io.stream.expr.Explanation;
import org.apache.solr.client.solrj.io.stream.expr.Expressible;
import org.apache.solr.client.solrj.io.stream.expr.StreamExplanation;
import org.apache.solr.client.solrj.io.stream.expr.StreamExpression;
-import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionParameter;
import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionToExplanationTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionToExplanationTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionToExplanationTest.java
index 88898d8..f8765c9 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionToExplanationTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionToExplanationTest.java
@@ -28,7 +28,6 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
import org.apache.solr.client.solrj.io.stream.metrics.CountMetric;
import org.apache.solr.client.solrj.io.stream.metrics.MaxMetric;
import org.apache.solr.client.solrj.io.stream.metrics.MeanMetric;
-import org.apache.solr.client.solrj.io.stream.metrics.Metric;
import org.apache.solr.client.solrj.io.stream.metrics.MinMetric;
import org.apache.solr.client.solrj.io.stream.metrics.SumMetric;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/ops/ConcatOperationTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/ops/ConcatOperationTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/ops/ConcatOperationTest.java
index 838c4cd..77c5b1f 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/ops/ConcatOperationTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/ops/ConcatOperationTest.java
@@ -24,7 +24,6 @@ import org.apache.commons.collections.map.HashedMap;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.io.Tuple;
import org.apache.solr.client.solrj.io.ops.ConcatOperation;
-import org.apache.solr.client.solrj.io.ops.ReplaceOperation;
import org.apache.solr.client.solrj.io.ops.StreamOperation;
import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionParser;
import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
index 5a126d3..53ad2eb 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
@@ -18,9 +18,7 @@ package org.apache.solr.client.solrj.request;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.File;
import java.io.InputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java b/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java
index 4727bcc..e9b5913 100644
--- a/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java
+++ b/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java
@@ -19,7 +19,6 @@ package org.apache.solr.common.cloud;
import com.google.common.base.Charsets;
import com.google.common.base.Throwables;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.cloud.ZkCLI;
import org.apache.solr.cloud.ZkTestServer;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooDefs;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java b/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java
index 9da3bd5..b94808c 100644
--- a/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java
+++ b/solr/solrj/src/test/org/apache/solr/common/util/TestJsonRecordReader.java
@@ -17,7 +17,6 @@
package org.apache.solr.common.util;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.handler.loader.JsonLoader;
import org.apache.solr.util.RecordingJSONParser;
import java.io.IOException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/test-framework/src/java/org/apache/solr/analysis/MockTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/analysis/MockTokenizerFactory.java b/solr/test-framework/src/java/org/apache/solr/analysis/MockTokenizerFactory.java
index df5a453..d6b2050 100644
--- a/solr/test-framework/src/java/org/apache/solr/analysis/MockTokenizerFactory.java
+++ b/solr/test-framework/src/java/org/apache/solr/analysis/MockTokenizerFactory.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.analysis;
-import java.io.Reader;
import java.util.Arrays;
import java.util.Map;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java b/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
index 93a670e..a803824 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
@@ -20,7 +20,6 @@ import java.lang.invoke.MethodHandles;
import java.net.InetSocketAddress;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Random;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/test-framework/src/java/org/apache/solr/cloud/MockSolrZkClient.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/MockSolrZkClient.java b/solr/test-framework/src/java/org/apache/solr/cloud/MockSolrZkClient.java
index 9ce21bb..28996a3 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/MockSolrZkClient.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/MockSolrZkClient.java
@@ -17,7 +17,6 @@
package org.apache.solr.cloud;
import org.apache.solr.common.cloud.SolrZkClient;
-import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.data.Stat;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/test-framework/src/java/org/apache/solr/util/BaseTestHarness.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/util/BaseTestHarness.java b/solr/test-framework/src/java/org/apache/solr/util/BaseTestHarness.java
index eae9e54..a84d6d1 100644
--- a/solr/test-framework/src/java/org/apache/solr/util/BaseTestHarness.java
+++ b/solr/test-framework/src/java/org/apache/solr/util/BaseTestHarness.java
@@ -15,7 +15,6 @@
* limitations under the License.
*/
package org.apache.solr.util;
-import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.XML;
import org.w3c.dom.Document;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/test-framework/src/java/org/apache/solr/util/ExternalPaths.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/util/ExternalPaths.java b/solr/test-framework/src/java/org/apache/solr/util/ExternalPaths.java
index 0cf958d..3e91d81 100644
--- a/solr/test-framework/src/java/org/apache/solr/util/ExternalPaths.java
+++ b/solr/test-framework/src/java/org/apache/solr/util/ExternalPaths.java
@@ -17,11 +17,7 @@
package org.apache.solr.util;
import java.io.File;
-import java.io.FileOutputStream;
-import java.util.Properties;
-import org.apache.commons.io.*;
-import org.apache.lucene.util.LuceneTestCase;
/**
* Some tests need to reach outside the classpath to get certain resources (e.g. the example configuration).
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/test-framework/src/java/org/apache/solr/util/RandomMergePolicy.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/util/RandomMergePolicy.java b/solr/test-framework/src/java/org/apache/solr/util/RandomMergePolicy.java
index dac12ce..b556fce 100644
--- a/solr/test-framework/src/java/org/apache/solr/util/RandomMergePolicy.java
+++ b/solr/test-framework/src/java/org/apache/solr/util/RandomMergePolicy.java
@@ -16,17 +16,9 @@
*/
package org.apache.solr.util;
-import java.io.IOException;
import java.lang.invoke.MethodHandles;
-import java.util.Map;
-
-import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.MergePolicy;
-import org.apache.lucene.index.MergePolicy.MergeSpecification;
import org.apache.lucene.index.MergePolicyWrapper;
-import org.apache.lucene.index.MergeTrigger;
-import org.apache.lucene.index.SegmentCommitInfo;
-import org.apache.lucene.index.SegmentInfos;
import org.apache.lucene.util.LuceneTestCase;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/52f5c502/solr/test-framework/src/java/org/apache/solr/util/SSLTestConfig.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/util/SSLTestConfig.java b/solr/test-framework/src/java/org/apache/solr/util/SSLTestConfig.java
index 1f880a8..7dc0275 100644
--- a/solr/test-framework/src/java/org/apache/solr/util/SSLTestConfig.java
+++ b/solr/test-framework/src/java/org/apache/solr/util/SSLTestConfig.java
@@ -31,8 +31,6 @@ import java.net.MalformedURLException;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
-import org.apache.http.conn.scheme.Scheme;
-import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.socket.ConnectionSocketFactory;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
@@ -43,8 +41,6 @@ import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
import org.apache.solr.client.solrj.embedded.SSLConfig;
import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.client.solrj.impl.HttpClientUtil.SchemaRegistryProvider;
-import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder;
-
import org.eclipse.jetty.util.resource.Resource;
import org.eclipse.jetty.util.security.CertificateUtils;
import org.eclipse.jetty.util.ssl.SslContextFactory;
[45/50] [abbrv] lucene-solr:apiv2: SOLR-8048: bin/solr script should
support basic auth credentials provided in solr.in.sh
Posted by no...@apache.org.
SOLR-8048: bin/solr script should support basic auth credentials provided in solr.in.sh
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/2e101c42
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/2e101c42
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/2e101c42
Branch: refs/heads/apiv2
Commit: 2e101c42ca6c6a4e03cf3a1ab1010f5995dccd88
Parents: ccf2070
Author: Noble Paul <no...@apache.org>
Authored: Tue Jun 14 19:43:48 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Tue Jun 14 19:43:48 2016 +0530
----------------------------------------------------------------------
solr/core/src/java/org/apache/solr/util/SolrCLI.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/2e101c42/solr/core/src/java/org/apache/solr/util/SolrCLI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/SolrCLI.java b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
index 02f8d5a..5e6908a 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
@@ -164,7 +164,7 @@ public class SolrCLI {
HttpClientUtil.addRequestInterceptor((httpRequest, httpContext) -> {
String pair = ss.get(0) + ":" + ss.get(1);
- byte[] encodedBytes = Base64.encodeBase64(pair.getBytes());
+ byte[] encodedBytes = Base64.encodeBase64(pair.getBytes(StandardCharsets.UTF_8));
httpRequest.addHeader(new BasicHeader("Authorization", "Basic "+ new String(encodedBytes)));
});
}
[43/50] [abbrv] lucene-solr:apiv2: SOLR-8048: bin/solr script should
support basic auth credentials provided in solr.in.sh
Posted by no...@apache.org.
SOLR-8048: bin/solr script should support basic auth credentials provided in solr.in.sh
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/97e696dd
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/97e696dd
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/97e696dd
Branch: refs/heads/apiv2
Commit: 97e696dd506aa01142c8456452c6f66451dd5430
Parents: b9ded92
Author: Noble Paul <no...@apache.org>
Authored: Tue Jun 14 19:37:45 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Tue Jun 14 19:37:45 2016 +0530
----------------------------------------------------------------------
solr/CHANGES.txt | 4 +-
.../src/java/org/apache/solr/util/SolrCLI.java | 25 +++++-
.../solr/security/BasicAuthIntegrationTest.java | 85 +++++++++++---------
3 files changed, 70 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/97e696dd/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 2146539..bd7f19c 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -57,7 +57,9 @@ Detailed Change List
New Features
----------------------
-* SOLR-9187: Support dates and booleans in /export handler, support boolean DocValues fields
+* SOLR-9187: Support dates and booleans in /export handler, support boolean DocValues fields (Erick Erickson)
+
+* SOLR-8048: bin/solr script should support basic auth credentials provided in solr.in.sh (noble)
Bug Fixes
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/97e696dd/solr/core/src/java/org/apache/solr/util/SolrCLI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/SolrCLI.java b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
index 9bc986b..02f8d5a 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
@@ -16,8 +16,6 @@
*/
package org.apache.solr.util;
-import static org.apache.solr.common.params.CommonParams.NAME;
-
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -56,6 +54,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
+import org.apache.commons.codec.binary.Base64;
import org.apache.commons.exec.DefaultExecuteResultHandler;
import org.apache.commons.exec.DefaultExecutor;
import org.apache.commons.exec.Executor;
@@ -74,6 +73,7 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.message.BasicHeader;
import org.apache.http.util.EntityUtils;
import org.apache.lucene.util.Version;
import org.apache.solr.client.solrj.SolrClient;
@@ -88,7 +88,6 @@ import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.cloud.ClusterState;
-import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkCoreNodeProps;
@@ -97,6 +96,7 @@ import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.ContentStreamBase;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.common.util.StrUtils;
import org.noggit.CharArr;
import org.noggit.JSONParser;
import org.noggit.JSONWriter;
@@ -104,11 +104,12 @@ import org.noggit.ObjectBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.solr.common.params.CommonParams.NAME;
/**
* Command-line utility for working with Solr.
*/
public class SolrCLI {
-
+
/**
* Defines the interface to a Solr tool that can be run from this command-line app.
*/
@@ -139,6 +140,7 @@ public class SolrCLI {
int toolExitStatus = 0;
try {
+ setBasicAuth(cli);
runImpl(cli);
} catch (Exception exc) {
// since this is a CLI, spare the user the stacktrace
@@ -153,6 +155,21 @@ public class SolrCLI {
return toolExitStatus;
}
+ private void setBasicAuth(CommandLine cli) throws Exception {
+ String basicauth = System.getProperty("basicauth", null);
+ if (basicauth != null) {
+ List<String> ss = StrUtils.splitSmart(basicauth, ':');
+ if (ss.size() != 2)
+ throw new Exception("Please provide 'basicauth' in the 'user:password' format");
+
+ HttpClientUtil.addRequestInterceptor((httpRequest, httpContext) -> {
+ String pair = ss.get(0) + ":" + ss.get(1);
+ byte[] encodedBytes = Base64.encodeBase64(pair.getBytes());
+ httpRequest.addHeader(new BasicHeader("Authorization", "Basic "+ new String(encodedBytes)));
+ });
+ }
+ }
+
protected abstract void runImpl(CommandLine cli) throws Exception;
// It's a little awkward putting this in ToolBase, but to re-use it in upconfig and create, _and_ have access
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/97e696dd/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
index 33565dd..00a43d7 100644
--- a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
@@ -16,7 +16,12 @@
*/
package org.apache.solr.security;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
import java.lang.invoke.MethodHandles;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -55,6 +60,7 @@ import org.apache.solr.common.util.ContentStreamBase;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
+import org.apache.solr.util.SolrCLI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -129,39 +135,20 @@ public class BasicAuthIntegrationTest extends TestMiniSolrCloudClusterBase {
"'set-user-role': {'harry':'admin'}\n" +
"}";
- httpPost = new HttpPost(baseUrl + authzPrefix);
- setBasicAuthHeader(httpPost, "solr", "SolrRocks");
- httpPost.setEntity(new ByteArrayEntity(command.getBytes(UTF_8)));
- httpPost.addHeader("Content-Type", "application/json; charset=UTF-8");
- r = cl.execute(httpPost);
- assertEquals(200, r.getStatusLine().getStatusCode());
- Utils.consumeFully(r.getEntity());
+ executeCommand(baseUrl + authzPrefix, cl,command, "solr", "SolrRocks");
baseUrl = getRandomReplica(zkStateReader.getClusterState().getCollection(defaultCollName), random()).getStr(BASE_URL_PROP);
verifySecurityStatus(cl, baseUrl + authzPrefix, "authorization/user-role/harry", NOT_NULL_PREDICATE, 20);
-
- httpPost = new HttpPost(baseUrl + authzPrefix);
- setBasicAuthHeader(httpPost, "harry", "HarryIsUberCool");
- httpPost.setEntity(new ByteArrayEntity(Utils.toJSON(singletonMap("set-permission", Utils.makeMap
+ executeCommand(baseUrl + authzPrefix, cl, Utils.toJSONString(singletonMap("set-permission", Utils.makeMap
("collection", "x",
"path", "/update/*",
- "role", "dev")))));
-
- httpPost.addHeader("Content-Type", "application/json; charset=UTF-8");
- verifySecurityStatus(cl, baseUrl + authzPrefix, "authorization/user-role/harry", NOT_NULL_PREDICATE, 20);
- r = cl.execute(httpPost);
- assertEquals(200, r.getStatusLine().getStatusCode());
- Utils.consumeFully(r.getEntity());
+ "role", "dev"))), "harry", "HarryIsUberCool" );
verifySecurityStatus(cl, baseUrl + authzPrefix, "authorization/permissions[1]/collection", "x", 20);
- httpPost = new HttpPost(baseUrl + authzPrefix);
- setBasicAuthHeader(httpPost, "harry", "HarryIsUberCool");
- httpPost.setEntity(new ByteArrayEntity(Utils.toJSON(singletonMap("set-permission", Utils.makeMap
- ("name","collection-admin-edit", "role", "admin" )))));
- r = cl.execute(httpPost);
- Utils.consumeFully(r.getEntity());
+ executeCommand(baseUrl + authzPrefix, cl,Utils.toJSONString(singletonMap("set-permission", Utils.makeMap
+ ("name", "collection-admin-edit", "role", "admin"))), "harry", "HarryIsUberCool" );
verifySecurityStatus(cl, baseUrl + authzPrefix, "authorization/permissions[2]/name", "collection-admin-edit", 20);
CollectionAdminRequest.Reload reload = new CollectionAdminRequest.Reload();
@@ -196,14 +183,7 @@ public class BasicAuthIntegrationTest extends TestMiniSolrCloudClusterBase {
}
cloudSolrClient.setDefaultCollection(old);
-
- httpPost = new HttpPost(baseUrl + authzPrefix);
- setBasicAuthHeader(httpPost, "harry", "HarryIsUberCool");
- httpPost.setEntity(new ByteArrayEntity("{set-permission : { name : update , role : admin}}".getBytes(UTF_8)));
- httpPost.addHeader("Content-Type", "application/json; charset=UTF-8");
- r = cl.execute(httpPost);
- assertEquals(200,r.getStatusLine().getStatusCode());
- Utils.consumeFully(r.getEntity());
+ executeCommand(baseUrl + authzPrefix, cl,"{set-permission : { name : update , role : admin}}", "harry", "HarryIsUberCool");
SolrInputDocument doc = new SolrInputDocument();
doc.setField("id","4");
@@ -212,10 +192,42 @@ public class BasicAuthIntegrationTest extends TestMiniSolrCloudClusterBase {
update.add(doc);
update.setCommitWithin(100);
cloudSolrClient.request(update);
-
+
+
+ executeCommand(baseUrl + authzPrefix, cl, "{set-property : { blockUnknown: true}}", "harry", "HarryIsUberCool");
+ String[] toolArgs = new String[]{
+ "status", "-solr", baseUrl};
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ PrintStream stdoutSim = new PrintStream(baos, true, StandardCharsets.UTF_8.name());
+ SolrCLI.StatusTool tool = new SolrCLI.StatusTool(stdoutSim);
+ try {
+ System.setProperty("basicauth", "harry:HarryIsUberCool");
+ tool.runTool(SolrCLI.processCommandLineArgs(SolrCLI.joinCommonAndToolOptions(tool.getOptions()), toolArgs));
+ Map obj = (Map) Utils.fromJSON(new ByteArrayInputStream(baos.toByteArray()));
+ assertTrue(obj.containsKey("version"));
+ assertTrue(obj.containsKey("startTime"));
+ assertTrue(obj.containsKey("uptime"));
+ assertTrue(obj.containsKey("memory"));
+ } catch (Exception e) {
+ log.error("RunExampleTool failed due to: " + e +
+ "; stdout from tool prior to failure: " + baos.toString(StandardCharsets.UTF_8.name()));
+ }
+ executeCommand(baseUrl + authzPrefix, cl, "{set-property : { blockUnknown: false}}", "harry", "HarryIsUberCool");
HttpClientUtil.close(cl);
}
+ public static void executeCommand(String url, HttpClient cl, String payload, String user, String pwd) throws IOException {
+ HttpPost httpPost;
+ HttpResponse r;
+ httpPost = new HttpPost(url);
+ setBasicAuthHeader(httpPost, user, pwd);
+ httpPost.setEntity(new ByteArrayEntity(payload.getBytes(UTF_8)));
+ httpPost.addHeader("Content-Type", "application/json; charset=UTF-8");
+ r = cl.execute(httpPost);
+ assertEquals(200, r.getStatusLine().getStatusCode());
+ Utils.consumeFully(r.getEntity());
+ }
+
public static void verifySecurityStatus(HttpClient cl, String url, String objPath, Object expected, int count) throws Exception {
boolean success = false;
String s = null;
@@ -262,12 +274,7 @@ public class BasicAuthIntegrationTest extends TestMiniSolrCloudClusterBase {
return l.isEmpty() ? null : l.get(0);
}
- static final Predicate NOT_NULL_PREDICATE = new Predicate() {
- @Override
- public boolean test(Object o) {
- return o != null;
- }
- };
+ static final Predicate NOT_NULL_PREDICATE = o -> o != null;
//the password is 'SolrRocks'
//this could be generated everytime. But , then we will not know if there is any regression
[40/50] [abbrv] lucene-solr:apiv2: LUCENE-7302: ensure
IW.getMaxCompletedSequenceNumber only reflects a change after NRT reader
refresh would also see it
Posted by no...@apache.org.
LUCENE-7302: ensure IW.getMaxCompletedSequenceNumber only reflects a change after NRT reader refresh would also see it
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/5a032168
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/5a032168
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/5a032168
Branch: refs/heads/apiv2
Commit: 5a0321680fe5e57a17470b824024d5b56a4cbaa4
Parents: 843adfb
Author: Mike McCandless <mi...@apache.org>
Authored: Tue Jun 14 04:09:27 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Tue Jun 14 04:09:27 2016 -0400
----------------------------------------------------------------------
.../apache/lucene/index/DocumentsWriter.java | 40 +++++++++++++++-----
.../index/DocumentsWriterPerThreadPool.java | 3 ++
.../org/apache/lucene/index/IndexWriter.java | 10 ++---
.../search/ControlledRealTimeReopenThread.java | 3 +-
.../TestControlledRealTimeReopenThread.java | 20 +++++-----
5 files changed, 49 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5a032168/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java
index 13800a8..a33d640 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java
@@ -122,7 +122,7 @@ final class DocumentsWriter implements Closeable, Accountable {
final DocumentsWriterFlushControl flushControl;
private final IndexWriter writer;
private final Queue<Event> events;
-
+ private long lastSeqNo;
DocumentsWriter(IndexWriter writer, LiveIndexWriterConfig config, Directory directoryOrig, Directory directory) {
this.directoryOrig = directoryOrig;
@@ -144,6 +144,7 @@ final class DocumentsWriter implements Closeable, Accountable {
if (applyAllDeletes(deleteQueue)) {
seqNo = -seqNo;
}
+ lastSeqNo = Math.max(lastSeqNo, seqNo);
return seqNo;
}
@@ -158,6 +159,7 @@ final class DocumentsWriter implements Closeable, Accountable {
if (applyAllDeletes(deleteQueue)) {
seqNo = -seqNo;
}
+ lastSeqNo = Math.max(lastSeqNo, seqNo);
return seqNo;
}
@@ -168,7 +170,7 @@ final class DocumentsWriter implements Closeable, Accountable {
if (applyAllDeletes(deleteQueue)) {
seqNo = -seqNo;
}
-
+ lastSeqNo = Math.max(lastSeqNo, seqNo);
return seqNo;
}
@@ -317,6 +319,17 @@ final class DocumentsWriter implements Closeable, Accountable {
}
}
+ /** returns the maximum sequence number for all previously completed operations */
+ public long getMaxCompletedSequenceNumber() {
+ long value = lastSeqNo;
+ int limit = perThreadPool.getMaxThreadStates();
+ for(int i = 0; i < limit; i++) {
+ ThreadState perThread = perThreadPool.getThreadState(i);
+ value = Math.max(value, perThread.lastSeqNo);
+ }
+ return value;
+ }
+
boolean anyChanges() {
/*
* changes are either in a DWPT or in the deleteQueue.
@@ -413,7 +426,7 @@ final class DocumentsWriter implements Closeable, Accountable {
final ThreadState perThread = flushControl.obtainAndLock();
final DocumentsWriterPerThread flushingDWPT;
- final long seqNo;
+ long seqNo;
try {
// This must happen after we've pulled the ThreadState because IW.close
@@ -437,15 +450,18 @@ final class DocumentsWriter implements Closeable, Accountable {
}
final boolean isUpdate = delTerm != null;
flushingDWPT = flushControl.doAfterDocument(perThread, isUpdate);
+
+ assert seqNo > perThread.lastSeqNo: "seqNo=" + seqNo + " lastSeqNo=" + perThread.lastSeqNo;
+ perThread.lastSeqNo = seqNo;
+
} finally {
perThreadPool.release(perThread);
}
if (postUpdate(flushingDWPT, hasEvents)) {
- return -seqNo;
- } else {
- return seqNo;
+ seqNo = -seqNo;
}
+ return seqNo;
}
long updateDocument(final Iterable<? extends IndexableField> doc, final Analyzer analyzer,
@@ -456,7 +472,7 @@ final class DocumentsWriter implements Closeable, Accountable {
final ThreadState perThread = flushControl.obtainAndLock();
final DocumentsWriterPerThread flushingDWPT;
- final long seqNo;
+ long seqNo;
try {
// This must happen after we've pulled the ThreadState because IW.close
// waits for all ThreadStates to be released:
@@ -479,15 +495,19 @@ final class DocumentsWriter implements Closeable, Accountable {
}
final boolean isUpdate = delTerm != null;
flushingDWPT = flushControl.doAfterDocument(perThread, isUpdate);
+
+ assert seqNo > perThread.lastSeqNo: "seqNo=" + seqNo + " lastSeqNo=" + perThread.lastSeqNo;
+ perThread.lastSeqNo = seqNo;
+
} finally {
perThreadPool.release(perThread);
}
if (postUpdate(flushingDWPT, hasEvents)) {
- return -seqNo;
- } else {
- return seqNo;
+ seqNo = -seqNo;
}
+
+ return seqNo;
}
private boolean doFlush(DocumentsWriterPerThread flushingDWPT) throws IOException, AbortingException {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5a032168/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
index 3802805..cc72342 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
@@ -59,6 +59,9 @@ final class DocumentsWriterPerThreadPool {
// write access guarded by DocumentsWriterFlushControl
long bytesUsed = 0;
+ // set by DocumentsWriter after each indexing op finishes
+ volatile long lastSeqNo;
+
ThreadState(DocumentsWriterPerThread dpwt) {
this.dwpt = dpwt;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5a032168/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
index b5e0c22..5fe1648 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
@@ -1457,7 +1457,6 @@ public class IndexWriter implements Closeable, TwoPhaseCommit, Accountable {
changed();
}
//System.out.println(" yes " + info.info.name + " " + docID);
-
return docWriter.deleteQueue.getNextSequenceNumber();
}
} else {
@@ -5049,12 +5048,13 @@ public class IndexWriter implements Closeable, TwoPhaseCommit, Accountable {
};
}
- /** Returns the last <a href="#sequence_number">sequence number</a>, or 0
- * if no index-changing operations have completed yet.
+ /** Returns the highest <a href="#sequence_number">sequence number</a> across
+ * all completed operations, or 0 if no operations have finished yet. Still
+ * in-flight operations (in other threads) are not counted until they finish.
*
* @lucene.experimental */
- public long getLastSequenceNumber() {
+ public long getMaxCompletedSequenceNumber() {
ensureOpen();
- return docWriter.deleteQueue.getLastSequenceNumber();
+ return docWriter.getMaxCompletedSequenceNumber();
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5a032168/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java b/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java
index 466d793..a98a30d 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java
@@ -150,7 +150,6 @@ public class ControlledRealTimeReopenThread<T> extends Thread implements Closeab
* or false if maxMS wait time was exceeded
*/
public synchronized boolean waitForGeneration(long targetGen, int maxMS) throws InterruptedException {
- final long curGen = writer.getLastSequenceNumber();
if (targetGen > searchingGen) {
// Notify the reopen thread that the waitingGen has
// changed, so it may wake up and realize it should
@@ -232,7 +231,7 @@ public class ControlledRealTimeReopenThread<T> extends Thread implements Closeab
// Save the gen as of when we started the reopen; the
// listener (HandleRefresh above) copies this to
// searchingGen once the reopen completes:
- refreshStartGen = writer.getLastSequenceNumber();
+ refreshStartGen = writer.getMaxCompletedSequenceNumber();
try {
manager.maybeRefreshBlocking();
} catch (IOException ioe) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5a032168/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java b/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java
index 69822a6..779c1f2 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java
@@ -98,13 +98,13 @@ public class TestControlledRealTimeReopenThread extends ThreadedIndexingAndSearc
// Randomly verify the update "took":
if (random().nextInt(20) == 2) {
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: verify " + id);
+ System.out.println(Thread.currentThread().getName() + ": nrt: verify updateDocuments " + id + " gen=" + gen);
}
nrtDeletesThread.waitForGeneration(gen);
assertTrue(gen <= nrtDeletesThread.getSearchingGen());
final IndexSearcher s = nrtDeletes.acquire();
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: got searcher=" + s);
+ System.out.println(Thread.currentThread().getName() + ": nrt: got deletes searcher=" + s);
}
try {
assertEquals(docs.size(), s.search(new TermQuery(id), 10).totalHits);
@@ -122,13 +122,13 @@ public class TestControlledRealTimeReopenThread extends ThreadedIndexingAndSearc
// Randomly verify the add "took":
if (random().nextInt(20) == 2) {
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: verify " + id);
+ System.out.println(Thread.currentThread().getName() + ": nrt: verify addDocuments " + id + " gen=" + gen);
}
nrtNoDeletesThread.waitForGeneration(gen);
assertTrue(gen <= nrtNoDeletesThread.getSearchingGen());
final IndexSearcher s = nrtNoDeletes.acquire();
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: got searcher=" + s);
+ System.out.println(Thread.currentThread().getName() + ": nrt: got noDeletes searcher=" + s);
}
try {
assertEquals(docs.size(), s.search(new TermQuery(id), 10).totalHits);
@@ -146,13 +146,13 @@ public class TestControlledRealTimeReopenThread extends ThreadedIndexingAndSearc
// Randomly verify the add "took":
if (random().nextInt(20) == 2) {
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: verify " + id);
+ System.out.println(Thread.currentThread().getName() + ": nrt: verify addDocument " + id + " gen=" + gen);
}
nrtNoDeletesThread.waitForGeneration(gen);
assertTrue(gen <= nrtNoDeletesThread.getSearchingGen());
final IndexSearcher s = nrtNoDeletes.acquire();
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: got searcher=" + s);
+ System.out.println(Thread.currentThread().getName() + ": nrt: got noDeletes searcher=" + s);
}
try {
assertEquals(1, s.search(new TermQuery(id), 10).totalHits);
@@ -169,13 +169,13 @@ public class TestControlledRealTimeReopenThread extends ThreadedIndexingAndSearc
// Randomly verify the udpate "took":
if (random().nextInt(20) == 2) {
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: verify " + id);
+ System.out.println(Thread.currentThread().getName() + ": nrt: verify updateDocument " + id + " gen=" + gen);
}
nrtDeletesThread.waitForGeneration(gen);
assertTrue(gen <= nrtDeletesThread.getSearchingGen());
final IndexSearcher s = nrtDeletes.acquire();
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: got searcher=" + s);
+ System.out.println(Thread.currentThread().getName() + ": nrt: got deletes searcher=" + s);
}
try {
assertEquals(1, s.search(new TermQuery(id), 10).totalHits);
@@ -192,13 +192,13 @@ public class TestControlledRealTimeReopenThread extends ThreadedIndexingAndSearc
// randomly verify the delete "took":
if (random().nextInt(20) == 7) {
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: verify del " + id);
+ System.out.println(Thread.currentThread().getName() + ": nrt: verify deleteDocuments " + id + " gen=" + gen);
}
nrtDeletesThread.waitForGeneration(gen);
assertTrue(gen <= nrtDeletesThread.getSearchingGen());
final IndexSearcher s = nrtDeletes.acquire();
if (VERBOSE) {
- System.out.println(Thread.currentThread().getName() + ": nrt: got searcher=" + s);
+ System.out.println(Thread.currentThread().getName() + ": nrt: got deletes searcher=" + s);
}
try {
assertEquals(0, s.search(new TermQuery(id), 10).totalHits);
[18/50] [abbrv] lucene-solr git commit: SOLR-8744:Â Minimize the impact on ZK when there are a lot of blocked tasks
Posted by no...@apache.org.
SOLR-8744:�Minimize the impact on ZK when there are a lot of blocked tasks
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/232b44e2
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/232b44e2
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/232b44e2
Branch: refs/heads/apiv2
Commit: 232b44e283dfd01f9ec01b4e68b09b3755a1b17a
Parents: 844ca4a
Author: Noble Paul <no...@apache.org>
Authored: Sun Jun 12 13:11:07 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Sun Jun 12 13:11:07 2016 +0530
----------------------------------------------------------------------
.../cloud/OverseerCollectionMessageHandler.java | 4 ++
.../solr/cloud/OverseerTaskProcessor.java | 70 ++++++++++++++++++--
.../apache/solr/cloud/OverseerTaskQueue.java | 5 +-
.../apache/solr/cloud/MultiThreadedOCPTest.java | 62 +++++++++++++++--
...verseerCollectionConfigSetProcessorTest.java | 3 +-
.../solr/cloud/OverseerTaskQueueTest.java | 4 +-
.../cloud/AbstractFullDistribZkTestBase.java | 10 ++-
7 files changed, 139 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/232b44e2/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java b/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java
index 54c0697..2cd09d1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java
@@ -82,6 +82,7 @@ import org.apache.solr.common.params.ShardParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.common.util.StrUtils;
+import org.apache.solr.common.util.SuppressForbidden;
import org.apache.solr.common.util.Utils;
import org.apache.solr.handler.component.ShardHandler;
import org.apache.solr.handler.component.ShardHandlerFactory;
@@ -210,6 +211,7 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler
}
@Override
+ @SuppressForbidden(reason = "Needs currentTimeMillis for mock requests")
@SuppressWarnings("unchecked")
public SolrResponse processMessage(ZkNodeProps message, String operation) {
log.info("OverseerCollectionMessageHandler.processMessage : "+ operation + " , "+ message.toString());
@@ -289,6 +291,8 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler
case MOCK_REPLICA_TASK: {
//only for test purposes
Thread.sleep(message.getInt("sleep", 1));
+ log.info("MOCK_TASK_EXECUTED time {} data {}",System.currentTimeMillis(), Utils.toJSONString(message));
+ results.add("MOCK_FINISHED", System.currentTimeMillis());
break;
}
default:
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/232b44e2/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
index 092ed97..9c739c1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
@@ -19,15 +19,19 @@ package org.apache.solr.cloud;
import java.io.Closeable;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.TimeUnit;
+import java.util.function.Predicate;
+import com.google.common.collect.ImmutableSet;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.cloud.OverseerTaskQueue.QueueEvent;
import org.apache.solr.cloud.Overseer.LeaderStatus;
@@ -36,6 +40,7 @@ import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.ExecutorUtil;
+import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
import org.apache.solr.handler.component.ShardHandlerFactory;
import org.apache.solr.util.DefaultSolrThreadFactory;
@@ -63,6 +68,7 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
* executed concurrently
*/
public static final int MAX_PARALLEL_TASKS = 100;
+ public static final int MAX_BLOCKED_TASKS = 1000;
public ExecutorService tpe;
@@ -74,7 +80,7 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
private DistributedMap failureMap;
// Set that maintains a list of all the tasks that are running. This is keyed on zk id of the task.
- final private Set runningTasks;
+ final private Set<String> runningTasks;
// List of completed tasks. This is used to clean up workQueue in zk.
final private HashMap<String, QueueEvent> completedTasks;
@@ -91,6 +97,24 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
// It may contain tasks that have completed execution, have been entered into the completed/failed map in zk but not
// deleted from the work-queue as that is a batched operation.
final private Set<String> runningZKTasks;
+ // This map may contain tasks which are read from work queue but could not
+ // be executed because they are blocked or the execution queue is full
+ // This is an optimization to ensure that we do not read the same tasks
+ // again and again from ZK.
+ final private Map<String, QueueEvent> blockedTasks = new LinkedHashMap<>();
+ final private Predicate<String> excludedTasks = new Predicate<String>() {
+ @Override
+ public boolean test(String s) {
+ return runningTasks.contains(s) || blockedTasks.containsKey(s);
+ }
+
+ @Override
+ public String toString() {
+ return StrUtils.join(ImmutableSet.of(runningTasks, blockedTasks.keySet()), ',');
+ }
+
+ };
+
private final Object waitLock = new Object();
private OverseerMessageHandlerSelector selector;
@@ -115,7 +139,7 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
this.completedMap = completedMap;
this.failureMap = failureMap;
this.runningZKTasks = new HashSet<>();
- this.runningTasks = new HashSet();
+ this.runningTasks = new HashSet<>();
this.completedTasks = new HashMap<>();
}
@@ -189,17 +213,46 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
if (waited)
cleanUpWorkQueue();
- List<QueueEvent> heads = workQueue.peekTopN(MAX_PARALLEL_TASKS, runningZKTasks, 2000L);
+
+ ArrayList<QueueEvent> heads = new ArrayList<>(blockedTasks.size() + MAX_PARALLEL_TASKS);
+ heads.addAll(blockedTasks.values());
+
+ //If we have enough items in the blocked tasks already, it makes
+ // no sense to read more items from the work queue. it makes sense
+ // to clear out at least a few items in the queue before we read more items
+ if (heads.size() < MAX_BLOCKED_TASKS) {
+ //instead of reading MAX_PARALLEL_TASKS items always, we should only fetch as much as we can execute
+ int toFetch = Math.min(MAX_BLOCKED_TASKS - heads.size(), MAX_PARALLEL_TASKS - runningTasks.size());
+ List<QueueEvent> newTasks = workQueue.peekTopN(toFetch, excludedTasks, 2000L);
+ log.debug("Got {} tasks from work-queue : [{}]", newTasks.size(), newTasks);
+ heads.addAll(newTasks);
+ } else {
+ // Prevent free-spinning this loop.
+ Thread.sleep(1000);
+ }
+
+ if (isClosed) break;
+
if (heads.isEmpty()) {
continue;
}
- log.debug("Got {} tasks from work-queue : [{}]", heads.size(), heads.toString());
-
- if (isClosed) break;
+ blockedTasks.clear(); // clear it now; may get refilled below.
taskBatch.batchId++;
+ boolean tooManyTasks = false;
for (QueueEvent head : heads) {
+ if (!tooManyTasks) {
+ synchronized (runningTasks) {
+ tooManyTasks = runningTasks.size() >= MAX_PARALLEL_TASKS;
+ }
+ }
+ if (tooManyTasks) {
+ // Too many tasks are running, just shove the rest into the "blocked" queue.
+ if(blockedTasks.size() < MAX_BLOCKED_TASKS)
+ blockedTasks.put(head.getId(), head);
+ continue;
+ }
if (runningZKTasks.contains(head.getId())) continue;
final ZkNodeProps message = ZkNodeProps.load(head.getBytes());
OverseerMessageHandler messageHandler = selector.selectOverseerMessageHandler(message);
@@ -217,6 +270,9 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
OverseerMessageHandler.Lock lock = messageHandler.lockTask(message, taskBatch);
if (lock == null) {
log.debug("Exclusivity check failed for [{}]", message.toString());
+ //we may end crossing the size of the MAX_BLOCKED_TASKS. They are fine
+ if (blockedTasks.size() < MAX_BLOCKED_TASKS)
+ blockedTasks.put(head.getId(), head);
continue;
}
try {
@@ -370,7 +426,6 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
runningTasks.add(head.getId());
}
-// messageHandler.markExclusiveTask(taskKey, message);
if (asyncId != null)
runningMap.put(asyncId, null);
@@ -512,6 +567,7 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
synchronized (runningTasks) {
log.debug("RunningTasks: {}", runningTasks.toString());
}
+ log.debug("BlockedTasks: {}", blockedTasks.keySet().toString());
synchronized (completedTasks) {
log.debug("CompletedTasks: {}", completedTasks.keySet().toString());
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/232b44e2/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
index aae7df2..5719aa9 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
+import java.util.function.Predicate;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkNodeProps;
@@ -222,7 +223,7 @@ public class OverseerTaskQueue extends DistributedQueue {
}
- public List<QueueEvent> peekTopN(int n, Set<String> excludeSet, long waitMillis)
+ public List<QueueEvent> peekTopN(int n, Predicate<String> excludeSet, long waitMillis)
throws KeeperException, InterruptedException {
ArrayList<QueueEvent> topN = new ArrayList<>();
@@ -232,7 +233,7 @@ public class OverseerTaskQueue extends DistributedQueue {
else time = stats.time(dir + "_peekTopN_wait" + waitMillis);
try {
- for (Pair<String, byte[]> element : peekElements(n, waitMillis, child -> !excludeSet.contains(dir + "/" + child))) {
+ for (Pair<String, byte[]> element : peekElements(n, waitMillis, child -> !excludeSet.test(dir + "/" + child))) {
topN.add(new QueueEvent(dir + "/" + element.first(),
element.second(), null));
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/232b44e2/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java b/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java
index c18b330..ec8a6c4 100644
--- a/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java
@@ -38,6 +38,11 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION;
+import static org.apache.solr.cloud.OverseerTaskProcessor.MAX_PARALLEL_TASKS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.MOCK_COLL_TASK;
+import static org.apache.solr.common.params.CommonAdminParams.ASYNC;
+
/**
* Tests the Multi threaded Collections API.
*/
@@ -55,11 +60,58 @@ public class MultiThreadedOCPTest extends AbstractFullDistribZkTestBase {
@Test
@ShardsFixed(num = 4)
public void test() throws Exception {
-
testParallelCollectionAPICalls();
testTaskExclusivity();
testDeduplicationOfSubmittedTasks();
testLongAndShortRunningParallelApiCalls();
+ testFillWorkQueue();
+ }
+
+ private void testFillWorkQueue() throws Exception {
+ try (SolrClient client = createNewSolrClient("", getBaseUrl((HttpSolrClient) clients.get(0)))) {
+ DistributedQueue distributedQueue = new DistributedQueue(cloudClient.getZkStateReader().getZkClient(),
+ "/overseer/collection-queue-work", new Overseer.Stats());
+ //fill the work queue with blocked tasks by adding more than the no:of parallel tasks
+ for (int i = 0; i < MAX_PARALLEL_TASKS+5; i++) {
+ distributedQueue.offer(Utils.toJSON(Utils.makeMap(
+ "collection", "A_COLL",
+ QUEUE_OPERATION, MOCK_COLL_TASK.toLower(),
+ ASYNC, String.valueOf(i),
+
+ "sleep", (i == 0 ? "1000" : "1") //first task waits for 1 second, and thus blocking
+ // all other tasks. Subsequent tasks only wait for 1ms
+ )));
+ log.info("MOCK task added {}", i);
+
+ }
+ Thread.sleep(10);//wait and post the next message
+
+ //this is not going to be blocked because it operates on another collection
+ distributedQueue.offer(Utils.toJSON(Utils.makeMap(
+ "collection", "B_COLL",
+ QUEUE_OPERATION, MOCK_COLL_TASK.toLower(),
+ ASYNC, "200",
+ "sleep", "1"
+ )));
+
+
+ Long acoll = null, bcoll = null;
+ for (int i = 0; i < 100; i++) {
+ if (bcoll == null) {
+ CollectionAdminResponse statusResponse = getStatusResponse("200", client);
+ bcoll = (Long) statusResponse.getResponse().get("MOCK_FINISHED");
+ }
+ if (acoll == null) {
+ CollectionAdminResponse statusResponse = getStatusResponse("2", client);
+ acoll = (Long) statusResponse.getResponse().get("MOCK_FINISHED");
+ }
+ if (acoll != null && bcoll != null) break;
+ Thread.sleep(100);
+ }
+ assertTrue(acoll != null && bcoll != null);
+ assertTrue(acoll > bcoll);
+ }
+
}
private void testParallelCollectionAPICalls() throws IOException, SolrServerException {
@@ -116,14 +168,14 @@ public class MultiThreadedOCPTest extends AbstractFullDistribZkTestBase {
distributedQueue.offer(Utils.toJSON(Utils.makeMap(
"collection", "ocptest_shardsplit",
- Overseer.QUEUE_OPERATION, CollectionParams.CollectionAction.MOCK_COLL_TASK.toLower(),
- CommonAdminParams.ASYNC, "1001",
+ QUEUE_OPERATION, MOCK_COLL_TASK.toLower(),
+ ASYNC, "1001",
"sleep", "100"
)));
distributedQueue.offer(Utils.toJSON(Utils.makeMap(
"collection", "ocptest_shardsplit",
- Overseer.QUEUE_OPERATION, CollectionParams.CollectionAction.MOCK_COLL_TASK.toLower(),
- CommonAdminParams.ASYNC, "1002",
+ QUEUE_OPERATION, MOCK_COLL_TASK.toLower(),
+ ASYNC, "1002",
"sleep", "100"
)));
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/232b44e2/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
index 4658367..8f4ee1e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
@@ -21,6 +21,7 @@ import java.util.*;
import java.util.Map.Entry;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.TimeUnit;
+import java.util.function.Predicate;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrResponse;
@@ -163,7 +164,7 @@ public class OverseerCollectionConfigSetProcessorTest extends SolrTestCaseJ4 {
log.info("SHARDHANDLER");
return shardHandlerMock;
}).anyTimes();
- workQueueMock.peekTopN(EasyMock.anyInt(), anyObject(Set.class), EasyMock.anyLong());
+ workQueueMock.peekTopN(EasyMock.anyInt(), anyObject(Predicate.class), EasyMock.anyLong());
expectLastCall().andAnswer(() -> {
Object result;
int count = 0;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/232b44e2/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java
index 95cdd40..6380aac 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTaskQueueTest.java
@@ -20,6 +20,8 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.function.Function;
+import java.util.function.Predicate;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.response.SolrResponseBase;
@@ -75,7 +77,7 @@ public class OverseerTaskQueueTest extends DistributedQueueTest {
tq.createRequestNode(Utils.toJSON(props), watchID);
// Set a SolrResponse as the response node by removing the QueueEvent, as done in OverseerTaskProcessor
- List<OverseerTaskQueue.QueueEvent> queueEvents = tq.peekTopN(2, Collections.emptySet(), 1000);
+ List<OverseerTaskQueue.QueueEvent> queueEvents = tq.peekTopN(2, s -> false, 1000);
OverseerTaskQueue.QueueEvent requestId2Event = null;
for (OverseerTaskQueue.QueueEvent queueEvent : queueEvents) {
Map<String, Object> eventProps = (Map<String, Object>) Utils.fromJSON(queueEvent.getBytes());
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/232b44e2/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
index 5439841..4b0f7ab 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
@@ -1988,12 +1988,16 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
}
static RequestStatusState getRequestState(String requestId, SolrClient client) throws IOException, SolrServerException {
- CollectionAdminRequest.RequestStatus requestStatusRequest = new CollectionAdminRequest.RequestStatus();
- requestStatusRequest.setRequestId(requestId);
- CollectionAdminResponse response = requestStatusRequest.process(client);
+ CollectionAdminResponse response = getStatusResponse(requestId, client);
NamedList innerResponse = (NamedList) response.getResponse().get("status");
return RequestStatusState.fromKey((String) innerResponse.get("state"));
}
+ static CollectionAdminResponse getStatusResponse(String requestId, SolrClient client) throws SolrServerException, IOException {
+ CollectionAdminRequest.RequestStatus requestStatusRequest = new CollectionAdminRequest.RequestStatus();
+ requestStatusRequest.setRequestId(requestId);
+ return requestStatusRequest.process(client);
+ }
+
}
[35/50] [abbrv] lucene-solr:apiv2: LUCENE-7329: Simplify
CharacterUtils.
Posted by no...@apache.org.
LUCENE-7329: Simplify CharacterUtils.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/af2ae05d
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/af2ae05d
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/af2ae05d
Branch: refs/heads/apiv2
Commit: af2ae05d6ec158a962731b77478d9cf451d9e00a
Parents: 5e2677e
Author: Adrien Grand <jp...@gmail.com>
Authored: Mon Jun 13 15:23:08 2016 +0200
Committer: Adrien Grand <jp...@gmail.com>
Committed: Mon Jun 13 15:24:22 2016 +0200
----------------------------------------------------------------------
.../lucene/analysis/core/LowerCaseFilter.java | 3 +-
.../lucene/analysis/core/UpperCaseFilter.java | 3 +-
.../analysis/el/GreekLowerCaseFilter.java | 4 +-
.../analysis/ngram/EdgeNGramTokenFilter.java | 7 +-
.../lucene/analysis/ngram/NGramTokenFilter.java | 13 +-
.../lucene/analysis/ngram/NGramTokenizer.java | 8 +-
.../lucene/analysis/util/CharArrayMap.java | 17 +-
.../lucene/analysis/util/CharTokenizer.java | 5 +-
.../lucene/analysis/util/CharacterUtils.java | 229 ++++---------------
.../TestStemmerOverrideFilter.java | 4 +-
.../analysis/util/TestCharacterUtils.java | 155 ++-----------
.../analysis/morfologik/MorfologikFilter.java | 4 +-
12 files changed, 86 insertions(+), 366 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java
index d1198a6..ade6a58 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java
@@ -28,7 +28,6 @@ import org.apache.lucene.analysis.util.CharacterUtils;
* Normalizes token text to lower case.
*/
public final class LowerCaseFilter extends TokenFilter {
- private final CharacterUtils charUtils = CharacterUtils.getInstance();
private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
/**
@@ -43,7 +42,7 @@ public final class LowerCaseFilter extends TokenFilter {
@Override
public final boolean incrementToken() throws IOException {
if (input.incrementToken()) {
- charUtils.toLowerCase(termAtt.buffer(), 0, termAtt.length());
+ CharacterUtils.toLowerCase(termAtt.buffer(), 0, termAtt.length());
return true;
} else
return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java
index 9c2c283..6d3f6bb 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java
@@ -33,7 +33,6 @@ import org.apache.lucene.analysis.util.CharacterUtils;
* general search matching
*/
public final class UpperCaseFilter extends TokenFilter {
- private final CharacterUtils charUtils = CharacterUtils.getInstance();
private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
/**
@@ -48,7 +47,7 @@ public final class UpperCaseFilter extends TokenFilter {
@Override
public final boolean incrementToken() throws IOException {
if (input.incrementToken()) {
- charUtils.toUpperCase(termAtt.buffer(), 0, termAtt.length());
+ CharacterUtils.toUpperCase(termAtt.buffer(), 0, termAtt.length());
return true;
} else
return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java
index e4aecf3..3185b2d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import org.apache.lucene.analysis.TokenFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.lucene.analysis.util.CharacterUtils;
/**
* Normalizes token text to lower case, removes some Greek diacritics,
@@ -29,7 +28,6 @@ import org.apache.lucene.analysis.util.CharacterUtils;
*/
public final class GreekLowerCaseFilter extends TokenFilter {
private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
- private final CharacterUtils charUtils = CharacterUtils.getInstance();
/**
* Create a GreekLowerCaseFilter that normalizes Greek token text.
@@ -47,7 +45,7 @@ public final class GreekLowerCaseFilter extends TokenFilter {
int chLen = termAtt.length();
for (int i = 0; i < chLen;) {
i += Character.toChars(
- lowerCase(charUtils.codePointAt(chArray, i, chLen)), chArray, i);
+ lowerCase(Character.codePointAt(chArray, i, chLen)), chArray, i);
}
return true;
} else {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java
index 2c10778..827e26f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java
@@ -25,7 +25,6 @@ import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute;
-import org.apache.lucene.analysis.util.CharacterUtils;
/**
* Tokenizes the given token into n-grams of given size(s).
@@ -38,7 +37,6 @@ public final class EdgeNGramTokenFilter extends TokenFilter {
public static final int DEFAULT_MAX_GRAM_SIZE = 1;
public static final int DEFAULT_MIN_GRAM_SIZE = 1;
- private final CharacterUtils charUtils;
private final int minGram;
private final int maxGram;
private char[] curTermBuffer;
@@ -73,7 +71,6 @@ public final class EdgeNGramTokenFilter extends TokenFilter {
throw new IllegalArgumentException("minGram must not be greater than maxGram");
}
- this.charUtils = CharacterUtils.getInstance();
this.minGram = minGram;
this.maxGram = maxGram;
}
@@ -87,7 +84,7 @@ public final class EdgeNGramTokenFilter extends TokenFilter {
} else {
curTermBuffer = termAtt.buffer().clone();
curTermLength = termAtt.length();
- curCodePointCount = charUtils.codePointCount(termAtt);
+ curCodePointCount = Character.codePointCount(termAtt, 0, termAtt.length());
curGramSize = minGram;
tokStart = offsetAtt.startOffset();
tokEnd = offsetAtt.endOffset();
@@ -108,7 +105,7 @@ public final class EdgeNGramTokenFilter extends TokenFilter {
posIncrAtt.setPositionIncrement(0);
}
posLenAtt.setPositionLength(savePosLen);
- final int charLength = charUtils.offsetByCodePoints(curTermBuffer, 0, curTermLength, 0, curGramSize);
+ final int charLength = Character.offsetByCodePoints(curTermBuffer, 0, curTermLength, 0, curGramSize);
termAtt.copyBuffer(curTermBuffer, 0, charLength);
curGramSize++;
return true;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java
index 5a84bff..e275cfa 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java
@@ -26,7 +26,6 @@ import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute;
-import org.apache.lucene.analysis.util.CharacterUtils;
/**
* Tokenizes the input into n-grams of the given size(s).
@@ -56,9 +55,7 @@ public final class NGramTokenFilter extends TokenFilter {
private int curPosInc, curPosLen;
private int tokStart;
private int tokEnd;
- private boolean hasIllegalOffsets; // only if the length changed before this filter
- private final CharacterUtils charUtils;
private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
private final PositionIncrementAttribute posIncAtt;
private final PositionLengthAttribute posLenAtt;
@@ -72,7 +69,6 @@ public final class NGramTokenFilter extends TokenFilter {
*/
public NGramTokenFilter(TokenStream input, int minGram, int maxGram) {
super(new CodepointCountFilter(input, minGram, Integer.MAX_VALUE));
- this.charUtils = CharacterUtils.getInstance();
if (minGram < 1) {
throw new IllegalArgumentException("minGram must be greater than zero");
}
@@ -104,16 +100,13 @@ public final class NGramTokenFilter extends TokenFilter {
} else {
curTermBuffer = termAtt.buffer().clone();
curTermLength = termAtt.length();
- curCodePointCount = charUtils.codePointCount(termAtt);
+ curCodePointCount = Character.codePointCount(termAtt, 0, termAtt.length());
curGramSize = minGram;
curPos = 0;
curPosInc = posIncAtt.getPositionIncrement();
curPosLen = posLenAtt.getPositionLength();
tokStart = offsetAtt.startOffset();
tokEnd = offsetAtt.endOffset();
- // if length by start + end offsets doesn't match the term text then assume
- // this is a synonym and don't adjust the offsets.
- hasIllegalOffsets = (tokStart + curTermLength) != tokEnd;
}
}
@@ -123,8 +116,8 @@ public final class NGramTokenFilter extends TokenFilter {
}
if ((curPos + curGramSize) <= curCodePointCount) {
clearAttributes();
- final int start = charUtils.offsetByCodePoints(curTermBuffer, 0, curTermLength, 0, curPos);
- final int end = charUtils.offsetByCodePoints(curTermBuffer, 0, curTermLength, start, curGramSize);
+ final int start = Character.offsetByCodePoints(curTermBuffer, 0, curTermLength, 0, curPos);
+ final int end = Character.offsetByCodePoints(curTermBuffer, 0, curTermLength, start, curGramSize);
termAtt.copyBuffer(curTermBuffer, start, end - start);
posIncAtt.setPositionIncrement(curPosInc);
curPosInc = 0;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java
index 1c8aa7c..da104c9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java
@@ -57,7 +57,6 @@ public class NGramTokenizer extends Tokenizer {
public static final int DEFAULT_MIN_NGRAM_SIZE = 1;
public static final int DEFAULT_MAX_NGRAM_SIZE = 2;
- private CharacterUtils charUtils;
private CharacterUtils.CharacterBuffer charBuffer;
private int[] buffer; // like charBuffer, but converted to code points
private int bufferStart, bufferEnd; // remaining slice in buffer
@@ -110,7 +109,6 @@ public class NGramTokenizer extends Tokenizer {
}
private void init(int minGram, int maxGram, boolean edgesOnly) {
- charUtils = CharacterUtils.getInstance();
if (minGram < 1) {
throw new IllegalArgumentException("minGram must be greater than zero");
}
@@ -142,9 +140,9 @@ public class NGramTokenizer extends Tokenizer {
bufferStart = 0;
// fill in remaining space
- exhausted = !charUtils.fill(charBuffer, input, buffer.length - bufferEnd);
+ exhausted = !CharacterUtils.fill(charBuffer, input, buffer.length - bufferEnd);
// convert to code points
- bufferEnd += charUtils.toCodePoints(charBuffer.getBuffer(), 0, charBuffer.getLength(), buffer, bufferEnd);
+ bufferEnd += CharacterUtils.toCodePoints(charBuffer.getBuffer(), 0, charBuffer.getLength(), buffer, bufferEnd);
}
// should we go to the next offset?
@@ -168,7 +166,7 @@ public class NGramTokenizer extends Tokenizer {
continue;
}
- final int length = charUtils.toChars(buffer, bufferStart, gramSize, termAtt.buffer(), 0);
+ final int length = CharacterUtils.toChars(buffer, bufferStart, gramSize, termAtt.buffer(), 0);
termAtt.setLength(length);
posIncAtt.setPositionIncrement(1);
posLenAtt.setPositionLength(1);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java
index 289ee08..e414366 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java
@@ -40,7 +40,6 @@ public class CharArrayMap<V> extends AbstractMap<Object,V> {
private static final CharArrayMap<?> EMPTY_MAP = new EmptyCharArrayMap<>();
private final static int INIT_SIZE = 8;
- private final CharacterUtils charUtils;
private boolean ignoreCase;
private int count;
char[][] keys; // package private because used in CharArraySet's non Set-conform CharArraySetIterator
@@ -63,7 +62,6 @@ public class CharArrayMap<V> extends AbstractMap<Object,V> {
size <<= 1;
keys = new char[size][];
values = (V[]) new Object[size];
- this.charUtils = CharacterUtils.getInstance();
}
/**
@@ -86,7 +84,6 @@ public class CharArrayMap<V> extends AbstractMap<Object,V> {
this.values = toCopy.values;
this.ignoreCase = toCopy.ignoreCase;
this.count = toCopy.count;
- this.charUtils = toCopy.charUtils;
}
/** Clears all entries in this map. This method is supported for reusing, but not {@link Map#remove}. */
@@ -192,7 +189,7 @@ public class CharArrayMap<V> extends AbstractMap<Object,V> {
*/
public V put(char[] text, V value) {
if (ignoreCase) {
- charUtils.toLowerCase(text, 0, text.length);
+ CharacterUtils.toLowerCase(text, 0, text.length);
}
int slot = getSlot(text, 0, text.length);
if (keys[slot] != null) {
@@ -237,8 +234,8 @@ public class CharArrayMap<V> extends AbstractMap<Object,V> {
final int limit = off+len;
if (ignoreCase) {
for(int i=0;i<len;) {
- final int codePointAt = charUtils.codePointAt(text1, off+i, limit);
- if (Character.toLowerCase(codePointAt) != charUtils.codePointAt(text2, i, text2.length))
+ final int codePointAt = Character.codePointAt(text1, off+i, limit);
+ if (Character.toLowerCase(codePointAt) != Character.codePointAt(text2, i, text2.length))
return false;
i += Character.charCount(codePointAt);
}
@@ -257,8 +254,8 @@ public class CharArrayMap<V> extends AbstractMap<Object,V> {
return false;
if (ignoreCase) {
for(int i=0;i<len;) {
- final int codePointAt = charUtils.codePointAt(text1, i);
- if (Character.toLowerCase(codePointAt) != charUtils.codePointAt(text2, i, text2.length))
+ final int codePointAt = Character.codePointAt(text1, i);
+ if (Character.toLowerCase(codePointAt) != Character.codePointAt(text2, i, text2.length))
return false;
i += Character.charCount(codePointAt);
}
@@ -278,7 +275,7 @@ public class CharArrayMap<V> extends AbstractMap<Object,V> {
final int stop = offset + len;
if (ignoreCase) {
for (int i=offset; i<stop;) {
- final int codePointAt = charUtils.codePointAt(text, i, stop);
+ final int codePointAt = Character.codePointAt(text, i, stop);
code = code*31 + Character.toLowerCase(codePointAt);
i += Character.charCount(codePointAt);
}
@@ -297,7 +294,7 @@ public class CharArrayMap<V> extends AbstractMap<Object,V> {
int len = text.length();
if (ignoreCase) {
for (int i=0; i<len;) {
- int codePointAt = charUtils.codePointAt(text, i);
+ int codePointAt = Character.codePointAt(text, i);
code = code*31 + Character.toLowerCase(codePointAt);
i += Character.charCount(codePointAt);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java
index 7683239..4952f99 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java
@@ -199,7 +199,6 @@ public abstract class CharTokenizer extends Tokenizer {
private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
private final OffsetAttribute offsetAtt = addAttribute(OffsetAttribute.class);
- private final CharacterUtils charUtils = CharacterUtils.getInstance();
private final CharacterBuffer ioBuffer = CharacterUtils.newCharacterBuffer(IO_BUFFER_SIZE);
/**
@@ -229,7 +228,7 @@ public abstract class CharTokenizer extends Tokenizer {
while (true) {
if (bufferIndex >= dataLen) {
offset += dataLen;
- charUtils.fill(ioBuffer, input); // read supplementary char aware with CharacterUtils
+ CharacterUtils.fill(ioBuffer, input); // read supplementary char aware with CharacterUtils
if (ioBuffer.getLength() == 0) {
dataLen = 0; // so next offset += dataLen won't decrement offset
if (length > 0) {
@@ -243,7 +242,7 @@ public abstract class CharTokenizer extends Tokenizer {
bufferIndex = 0;
}
// use CharacterUtils here to support < 3.1 UTF-16 code unit behavior if the char based methods are gone
- final int c = charUtils.codePointAt(ioBuffer.getBuffer(), bufferIndex, ioBuffer.getLength());
+ final int c = Character.codePointAt(ioBuffer.getBuffer(), bufferIndex, ioBuffer.getLength());
final int charCount = Character.charCount(c);
bufferIndex += charCount;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java
index f14b1f7..b728523 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java
@@ -20,76 +20,13 @@ package org.apache.lucene.analysis.util;
import java.io.IOException;
import java.io.Reader;
-import org.apache.lucene.util.Version;
-
/**
- * {@link CharacterUtils} provides a unified interface to Character-related
- * operations to implement backwards compatible character operations based on a
- * {@link Version} instance.
- *
+ * Utility class to write tokenizers or token filters.
* @lucene.internal
*/
-public abstract class CharacterUtils {
- private static final Java4CharacterUtils JAVA_4 = new Java4CharacterUtils();
- private static final Java5CharacterUtils JAVA_5 = new Java5CharacterUtils();
-
- /**
- * Returns a {@link CharacterUtils} implementation.
- * @return a {@link CharacterUtils} implementation according to the given
- * {@link Version} instance.
- */
- public static CharacterUtils getInstance() {
- return JAVA_5;
- }
-
- /**
- * explicitly returns a version matching java 4 semantics
- * @deprecated Only for n-gram backwards compat
- */
- @Deprecated
- public static CharacterUtils getJava4Instance() {
- return JAVA_4;
- }
-
- /**
- * Returns the code point at the given index of the {@link CharSequence}.
- *
- * @param seq
- * a character sequence
- * @param offset
- * the offset to the char values in the chars array to be converted
- *
- * @return the Unicode code point at the given index
- * @throws NullPointerException
- * - if the sequence is null.
- * @throws IndexOutOfBoundsException
- * - if the value offset is negative or not less than the length of
- * the character sequence.
- */
- public abstract int codePointAt(final CharSequence seq, final int offset);
-
- /**
- * Returns the code point at the given index of the char array where only elements
- * with index less than the limit are used.
- *
- * @param chars
- * a character array
- * @param offset
- * the offset to the char values in the chars array to be converted
- * @param limit the index afer the last element that should be used to calculate
- * codepoint.
- *
- * @return the Unicode code point at the given index
- * @throws NullPointerException
- * - if the array is null.
- * @throws IndexOutOfBoundsException
- * - if the value offset is negative or not less than the length of
- * the char array.
- */
- public abstract int codePointAt(final char[] chars, final int offset, final int limit);
+public final class CharacterUtils {
- /** Return the number of characters in <code>seq</code>. */
- public abstract int codePointCount(CharSequence seq);
+ private CharacterUtils() {} // no instantiation
/**
* Creates a new {@link CharacterBuffer} and allocates a <code>char[]</code>
@@ -114,13 +51,13 @@ public abstract class CharacterUtils {
* @param offset the offset to start at
* @param limit the max char in the buffer to lower case
*/
- public final void toLowerCase(final char[] buffer, final int offset, final int limit) {
+ public static void toLowerCase(final char[] buffer, final int offset, final int limit) {
assert buffer.length >= limit;
assert offset <=0 && offset <= buffer.length;
for (int i = offset; i < limit;) {
i += Character.toChars(
Character.toLowerCase(
- codePointAt(buffer, i, limit)), buffer, i);
+ Character.codePointAt(buffer, i, limit)), buffer, i);
}
}
@@ -131,25 +68,25 @@ public abstract class CharacterUtils {
* @param offset the offset to start at
* @param limit the max char in the buffer to lower case
*/
- public final void toUpperCase(final char[] buffer, final int offset, final int limit) {
+ public static void toUpperCase(final char[] buffer, final int offset, final int limit) {
assert buffer.length >= limit;
assert offset <=0 && offset <= buffer.length;
for (int i = offset; i < limit;) {
i += Character.toChars(
Character.toUpperCase(
- codePointAt(buffer, i, limit)), buffer, i);
+ Character.codePointAt(buffer, i, limit)), buffer, i);
}
}
/** Converts a sequence of Java characters to a sequence of unicode code points.
* @return the number of code points written to the destination buffer */
- public final int toCodePoints(char[] src, int srcOff, int srcLen, int[] dest, int destOff) {
+ public static int toCodePoints(char[] src, int srcOff, int srcLen, int[] dest, int destOff) {
if (srcLen < 0) {
throw new IllegalArgumentException("srcLen must be >= 0");
}
int codePointCount = 0;
for (int i = 0; i < srcLen; ) {
- final int cp = codePointAt(src, srcOff + i, srcOff + srcLen);
+ final int cp = Character.codePointAt(src, srcOff + i, srcOff + srcLen);
final int charCount = Character.charCount(cp);
dest[destOff + codePointCount++] = cp;
i += charCount;
@@ -159,7 +96,7 @@ public abstract class CharacterUtils {
/** Converts a sequence of unicode code points to a sequence of Java characters.
* @return the number of chars written to the destination buffer */
- public final int toChars(int[] src, int srcOff, int srcLen, char[] dest, int destOff) {
+ public static int toChars(int[] src, int srcOff, int srcLen, char[] dest, int destOff) {
if (srcLen < 0) {
throw new IllegalArgumentException("srcLen must be >= 0");
}
@@ -202,17 +139,45 @@ public abstract class CharacterUtils {
* @throws IOException
* if the reader throws an {@link IOException}.
*/
- public abstract boolean fill(CharacterBuffer buffer, Reader reader, int numChars) throws IOException;
+ public static boolean fill(CharacterBuffer buffer, Reader reader, int numChars) throws IOException {
+ assert buffer.buffer.length >= 2;
+ if (numChars < 2 || numChars > buffer.buffer.length) {
+ throw new IllegalArgumentException("numChars must be >= 2 and <= the buffer size");
+ }
+ final char[] charBuffer = buffer.buffer;
+ buffer.offset = 0;
+ final int offset;
+
+ // Install the previously saved ending high surrogate:
+ if (buffer.lastTrailingHighSurrogate != 0) {
+ charBuffer[0] = buffer.lastTrailingHighSurrogate;
+ buffer.lastTrailingHighSurrogate = 0;
+ offset = 1;
+ } else {
+ offset = 0;
+ }
+
+ final int read = readFully(reader, charBuffer, offset, numChars - offset);
+
+ buffer.length = offset + read;
+ final boolean result = buffer.length == numChars;
+ if (buffer.length < numChars) {
+ // We failed to fill the buffer. Even if the last char is a high
+ // surrogate, there is nothing we can do
+ return result;
+ }
+
+ if (Character.isHighSurrogate(charBuffer[buffer.length - 1])) {
+ buffer.lastTrailingHighSurrogate = charBuffer[--buffer.length];
+ }
+ return result;
+ }
/** Convenience method which calls <code>fill(buffer, reader, buffer.buffer.length)</code>. */
- public final boolean fill(CharacterBuffer buffer, Reader reader) throws IOException {
+ public static boolean fill(CharacterBuffer buffer, Reader reader) throws IOException {
return fill(buffer, reader, buffer.buffer.length);
}
- /** Return the index within <code>buf[start:start+count]</code> which is by <code>offset</code>
- * code points from <code>index</code>. */
- public abstract int offsetByCodePoints(char[] buf, int start, int count, int index, int offset);
-
static int readFully(Reader reader, char[] dest, int offset, int len) throws IOException {
int read = 0;
while (read < len) {
@@ -225,112 +190,6 @@ public abstract class CharacterUtils {
return read;
}
- private static final class Java5CharacterUtils extends CharacterUtils {
- Java5CharacterUtils() {
- }
-
- @Override
- public int codePointAt(final CharSequence seq, final int offset) {
- return Character.codePointAt(seq, offset);
- }
-
- @Override
- public int codePointAt(final char[] chars, final int offset, final int limit) {
- return Character.codePointAt(chars, offset, limit);
- }
-
- @Override
- public boolean fill(final CharacterBuffer buffer, final Reader reader, int numChars) throws IOException {
- assert buffer.buffer.length >= 2;
- if (numChars < 2 || numChars > buffer.buffer.length) {
- throw new IllegalArgumentException("numChars must be >= 2 and <= the buffer size");
- }
- final char[] charBuffer = buffer.buffer;
- buffer.offset = 0;
- final int offset;
-
- // Install the previously saved ending high surrogate:
- if (buffer.lastTrailingHighSurrogate != 0) {
- charBuffer[0] = buffer.lastTrailingHighSurrogate;
- buffer.lastTrailingHighSurrogate = 0;
- offset = 1;
- } else {
- offset = 0;
- }
-
- final int read = readFully(reader, charBuffer, offset, numChars - offset);
-
- buffer.length = offset + read;
- final boolean result = buffer.length == numChars;
- if (buffer.length < numChars) {
- // We failed to fill the buffer. Even if the last char is a high
- // surrogate, there is nothing we can do
- return result;
- }
-
- if (Character.isHighSurrogate(charBuffer[buffer.length - 1])) {
- buffer.lastTrailingHighSurrogate = charBuffer[--buffer.length];
- }
- return result;
- }
-
- @Override
- public int codePointCount(CharSequence seq) {
- return Character.codePointCount(seq, 0, seq.length());
- }
-
- @Override
- public int offsetByCodePoints(char[] buf, int start, int count, int index, int offset) {
- return Character.offsetByCodePoints(buf, start, count, index, offset);
- }
- }
-
- private static final class Java4CharacterUtils extends CharacterUtils {
- Java4CharacterUtils() {
- }
-
- @Override
- public int codePointAt(final CharSequence seq, final int offset) {
- return seq.charAt(offset);
- }
-
- @Override
- public int codePointAt(final char[] chars, final int offset, final int limit) {
- if(offset >= limit)
- throw new IndexOutOfBoundsException("offset must be less than limit");
- return chars[offset];
- }
-
- @Override
- public boolean fill(CharacterBuffer buffer, Reader reader, int numChars)
- throws IOException {
- assert buffer.buffer.length >= 1;
- if (numChars < 1 || numChars > buffer.buffer.length) {
- throw new IllegalArgumentException("numChars must be >= 1 and <= the buffer size");
- }
- buffer.offset = 0;
- final int read = readFully(reader, buffer.buffer, 0, numChars);
- buffer.length = read;
- buffer.lastTrailingHighSurrogate = 0;
- return read == numChars;
- }
-
- @Override
- public int codePointCount(CharSequence seq) {
- return seq.length();
- }
-
- @Override
- public int offsetByCodePoints(char[] buf, int start, int count, int index, int offset) {
- final int result = index + offset;
- if (result < 0 || result > count) {
- throw new IndexOutOfBoundsException();
- }
- return result;
- }
-
- }
-
/**
* A simple IO buffer to use with
* {@link CharacterUtils#fill(CharacterBuffer, Reader)}.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
index d8b2fca..ef4856c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
@@ -85,8 +85,6 @@ public class TestStemmerOverrideFilter extends BaseTokenStreamTestCase {
int numTerms = atLeast(50);
boolean ignoreCase = random().nextBoolean();
- CharacterUtils charUtils = CharacterUtils.getInstance();
-
for (int i = 0; i < numTerms; i++) {
String randomRealisticUnicodeString = TestUtil
.randomRealisticUnicodeString(random());
@@ -107,7 +105,7 @@ public class TestStemmerOverrideFilter extends BaseTokenStreamTestCase {
if (ignoreCase) {
// TODO: can we simply use inputValue.toLowerCase(Locale.ROOT)???
char[] buffer = inputValue.toCharArray();
- charUtils.toLowerCase(buffer, 0, buffer.length);
+ CharacterUtils.toLowerCase(buffer, 0, buffer.length);
seenInputValue = buffer.toString();
} else {
seenInputValue = inputValue;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java
index 2faeec7..04e96ea 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java
@@ -32,102 +32,15 @@ import org.junit.Test;
*/
public class TestCharacterUtils extends LuceneTestCase {
- @Test
- public void testCodePointAtCharSequenceInt() {
- CharacterUtils java4 = CharacterUtils.getJava4Instance();
- String cpAt3 = "Abc\ud801\udc1c";
- String highSurrogateAt3 = "Abc\ud801";
- assertEquals((int) 'A', java4.codePointAt(cpAt3, 0));
- assertEquals((int) '\ud801', java4.codePointAt(cpAt3, 3));
- assertEquals((int) '\ud801', java4.codePointAt(highSurrogateAt3, 3));
- expectThrows(IndexOutOfBoundsException.class, () -> {
- java4.codePointAt(highSurrogateAt3, 4);
- });
-
- CharacterUtils java5 = CharacterUtils.getInstance();
- assertEquals((int) 'A', java5.codePointAt(cpAt3, 0));
- assertEquals(Character.toCodePoint('\ud801', '\udc1c'), java5.codePointAt(
- cpAt3, 3));
- assertEquals((int) '\ud801', java5.codePointAt(highSurrogateAt3, 3));
- expectThrows(IndexOutOfBoundsException.class, () -> {
- java5.codePointAt(highSurrogateAt3, 4);
- });
- }
-
- @Test
- public void testCodePointAtCharArrayIntInt() {
- CharacterUtils java4 = CharacterUtils.getJava4Instance();
- char[] cpAt3 = "Abc\ud801\udc1c".toCharArray();
- char[] highSurrogateAt3 = "Abc\ud801".toCharArray();
- assertEquals((int) 'A', java4.codePointAt(cpAt3, 0, 2));
- assertEquals((int) '\ud801', java4.codePointAt(cpAt3, 3, 5));
- assertEquals((int) '\ud801', java4.codePointAt(highSurrogateAt3, 3, 4));
-
- CharacterUtils java5 = CharacterUtils.getInstance();
- assertEquals((int) 'A', java5.codePointAt(cpAt3, 0, 2));
- assertEquals(Character.toCodePoint('\ud801', '\udc1c'), java5.codePointAt(
- cpAt3, 3, 5));
- assertEquals((int) '\ud801', java5.codePointAt(highSurrogateAt3, 3, 4));
- }
-
- @Test
- public void testCodePointCount() {
- CharacterUtils java4 = CharacterUtils.getJava4Instance();
- CharacterUtils java5 = CharacterUtils.getInstance();
- final String s = TestUtil.randomUnicodeString(random());
- assertEquals(s.length(), java4.codePointCount(s));
- assertEquals(Character.codePointCount(s, 0, s.length()), java5.codePointCount(s));
- }
-
- @Test
- public void testOffsetByCodePoint() {
- CharacterUtils java4 = CharacterUtils.getJava4Instance();
- CharacterUtils java5 = CharacterUtils.getInstance();
- for (int i = 0; i < 10; ++i) {
- final char[] s = TestUtil.randomUnicodeString(random()).toCharArray();
- final int index = TestUtil.nextInt(random(), 0, s.length);
- final int offset = random().nextInt(7) - 3;
- try {
- final int o = java4.offsetByCodePoints(s, 0, s.length, index, offset);
- assertEquals(o, index + offset);
- } catch (IndexOutOfBoundsException e) {
- assertTrue((index + offset) < 0 || (index + offset) > s.length);
- }
-
- int o;
- try {
- o = java5.offsetByCodePoints(s, 0, s.length, index, offset);
- } catch (IndexOutOfBoundsException e) {
- try {
- Character.offsetByCodePoints(s, 0, s.length, index, offset);
- fail();
- } catch (IndexOutOfBoundsException e2) {
- // OK
- }
- o = -1;
- }
- if (o >= 0) {
- assertEquals(Character.offsetByCodePoints(s, 0, s.length, index, offset), o);
- }
- }
- }
-
public void testConversions() {
- CharacterUtils java4 = CharacterUtils.getJava4Instance();
- CharacterUtils java5 = CharacterUtils.getInstance();
- testConversions(java4);
- testConversions(java5);
- }
-
- private void testConversions(CharacterUtils charUtils) {
final char[] orig = TestUtil.randomUnicodeString(random(), 100).toCharArray();
final int[] buf = new int[orig.length];
final char[] restored = new char[buf.length];
final int o1 = TestUtil.nextInt(random(), 0, Math.min(5, orig.length));
final int o2 = TestUtil.nextInt(random(), 0, o1);
final int o3 = TestUtil.nextInt(random(), 0, o1);
- final int codePointCount = charUtils.toCodePoints(orig, o1, orig.length - o1, buf, o2);
- final int charCount = charUtils.toChars(buf, o2, codePointCount, restored, o3);
+ final int codePointCount = CharacterUtils.toCodePoints(orig, o1, orig.length - o1, buf, o2);
+ final int charCount = CharacterUtils.toChars(buf, o2, codePointCount, restored, o3);
assertEquals(orig.length - o1, charCount);
assertArrayEquals(Arrays.copyOfRange(orig, o1, o1 + charCount), Arrays.copyOfRange(restored, o3, o3 + charCount));
}
@@ -152,71 +65,43 @@ public class TestCharacterUtils extends LuceneTestCase {
@Test
public void testFillNoHighSurrogate() throws IOException {
- CharacterUtils versions[] = new CharacterUtils[] {
- CharacterUtils.getInstance(),
- CharacterUtils.getJava4Instance() };
- for (CharacterUtils instance : versions) {
- Reader reader = new StringReader("helloworld");
- CharacterBuffer buffer = CharacterUtils.newCharacterBuffer(6);
- assertTrue(instance.fill(buffer,reader));
- assertEquals(0, buffer.getOffset());
- assertEquals(6, buffer.getLength());
- assertEquals("hellow", new String(buffer.getBuffer()));
- assertFalse(instance.fill(buffer,reader));
- assertEquals(4, buffer.getLength());
- assertEquals(0, buffer.getOffset());
+ Reader reader = new StringReader("helloworld");
+ CharacterBuffer buffer = CharacterUtils.newCharacterBuffer(6);
+ assertTrue(CharacterUtils.fill(buffer,reader));
+ assertEquals(0, buffer.getOffset());
+ assertEquals(6, buffer.getLength());
+ assertEquals("hellow", new String(buffer.getBuffer()));
+ assertFalse(CharacterUtils.fill(buffer,reader));
+ assertEquals(4, buffer.getLength());
+ assertEquals(0, buffer.getOffset());
- assertEquals("orld", new String(buffer.getBuffer(), buffer.getOffset(),
- buffer.getLength()));
- assertFalse(instance.fill(buffer,reader));
- }
+ assertEquals("orld", new String(buffer.getBuffer(), buffer.getOffset(),
+ buffer.getLength()));
+ assertFalse(CharacterUtils.fill(buffer,reader));
}
@Test
- public void testFillJava15() throws IOException {
+ public void testFill() throws IOException {
String input = "1234\ud801\udc1c789123\ud801\ud801\udc1c\ud801";
- CharacterUtils instance = CharacterUtils.getInstance();
Reader reader = new StringReader(input);
CharacterBuffer buffer = CharacterUtils.newCharacterBuffer(5);
- assertTrue(instance.fill(buffer, reader));
+ assertTrue(CharacterUtils.fill(buffer, reader));
assertEquals(4, buffer.getLength());
assertEquals("1234", new String(buffer.getBuffer(), buffer.getOffset(),
buffer.getLength()));
- assertTrue(instance.fill(buffer, reader));
+ assertTrue(CharacterUtils.fill(buffer, reader));
assertEquals(5, buffer.getLength());
assertEquals("\ud801\udc1c789", new String(buffer.getBuffer()));
- assertTrue(instance.fill(buffer, reader));
+ assertTrue(CharacterUtils.fill(buffer, reader));
assertEquals(4, buffer.getLength());
assertEquals("123\ud801", new String(buffer.getBuffer(),
buffer.getOffset(), buffer.getLength()));
- assertFalse(instance.fill(buffer, reader));
+ assertFalse(CharacterUtils.fill(buffer, reader));
assertEquals(3, buffer.getLength());
assertEquals("\ud801\udc1c\ud801", new String(buffer.getBuffer(), buffer
.getOffset(), buffer.getLength()));
- assertFalse(instance.fill(buffer, reader));
+ assertFalse(CharacterUtils.fill(buffer, reader));
assertEquals(0, buffer.getLength());
}
- @Test
- public void testFillJava14() throws IOException {
- String input = "1234\ud801\udc1c789123\ud801\ud801\udc1c\ud801";
- CharacterUtils instance = CharacterUtils.getJava4Instance();
- Reader reader = new StringReader(input);
- CharacterBuffer buffer = CharacterUtils.newCharacterBuffer(5);
- assertTrue(instance.fill(buffer, reader));
- assertEquals(5, buffer.getLength());
- assertEquals("1234\ud801", new String(buffer.getBuffer(), buffer
- .getOffset(), buffer.getLength()));
- assertTrue(instance.fill(buffer, reader));
- assertEquals(5, buffer.getLength());
- assertEquals("\udc1c7891", new String(buffer.getBuffer()));
- buffer = CharacterUtils.newCharacterBuffer(6);
- assertTrue(instance.fill(buffer, reader));
- assertEquals(6, buffer.getLength());
- assertEquals("23\ud801\ud801\udc1c\ud801", new String(buffer.getBuffer(), buffer
- .getOffset(), buffer.getLength()));
- assertFalse(instance.fill(buffer, reader));
-
- }
-
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/af2ae05d/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java
index ff36dbe..3429d86 100644
--- a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java
+++ b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java
@@ -34,7 +34,6 @@ import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
-import org.apache.lucene.analysis.util.CharacterUtils;
import org.apache.lucene.util.CharsRefBuilder;
/**
@@ -54,7 +53,6 @@ public class MorfologikFilter extends TokenFilter {
private final KeywordAttribute keywordAttr = addAttribute(KeywordAttribute.class);
private final CharsRefBuilder scratch = new CharsRefBuilder();
- private final CharacterUtils charUtils = CharacterUtils.getInstance();
private State current;
private final TokenStream input;
@@ -154,7 +152,7 @@ public class MorfologikFilter extends TokenFilter {
char buffer[] = scratch.chars();
for (int i = 0; i < length;) {
i += Character.toChars(
- Character.toLowerCase(charUtils.codePointAt(chs, i)), buffer, i);
+ Character.toLowerCase(Character.codePointAt(chs, i)), buffer, i);
}
return scratch.get();
[36/50] [abbrv] lucene-solr:apiv2: LUCENE-7330: Speed up conjunctions.
Posted by no...@apache.org.
LUCENE-7330: Speed up conjunctions.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/72914198
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/72914198
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/72914198
Branch: refs/heads/apiv2
Commit: 72914198e60dcaa2008f6945e53e36e1c0053078
Parents: af2ae05
Author: Adrien Grand <jp...@gmail.com>
Authored: Mon Jun 13 17:27:44 2016 +0200
Committer: Adrien Grand <jp...@gmail.com>
Committed: Mon Jun 13 17:27:44 2016 +0200
----------------------------------------------------------------------
lucene/CHANGES.txt | 4 +
.../apache/lucene/search/ConjunctionDISI.java | 188 ++++++++-----------
.../apache/lucene/search/ConjunctionScorer.java | 4 +-
.../apache/lucene/search/ExactPhraseScorer.java | 3 +-
.../lucene/search/SloppyPhraseScorer.java | 3 +-
.../apache/lucene/search/TwoPhaseIterator.java | 79 +++++---
.../lucene/search/TestConjunctionDISI.java | 12 +-
7 files changed, 145 insertions(+), 148 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/72914198/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 5a83c31..3c52440 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -40,6 +40,10 @@ Improvements
IndexReader after (illegally) removing the old index and
reindexing (Vitaly Funstein, Robert Muir, Mike McCandless)
+Optimizations
+
+* LUCENE-7330: Speed up conjunction queries. (Adrien Grand)
+
Other
* LUCENE-4787: Fixed some highlighting javadocs. (Michael Dodsworth via Adrien
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/72914198/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java b/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java
index 53e3753..205a349 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java
@@ -31,11 +31,13 @@ import org.apache.lucene.util.CollectionUtil;
* <br>Public only for use in {@link org.apache.lucene.search.spans}.
* @lucene.internal
*/
-public class ConjunctionDISI extends DocIdSetIterator {
+public final class ConjunctionDISI extends DocIdSetIterator {
- /** Create a conjunction over the provided {@link Scorer}s, taking advantage
- * of {@link TwoPhaseIterator}. */
- public static ConjunctionDISI intersectScorers(List<Scorer> scorers) {
+ /** Create a conjunction over the provided {@link Scorer}s. Note that the
+ * returned {@link DocIdSetIterator} might leverage two-phase iteration in
+ * which case it is possible to retrieve the {@link TwoPhaseIterator} using
+ * {@link TwoPhaseIterator#unwrap}. */
+ public static DocIdSetIterator intersectScorers(List<Scorer> scorers) {
if (scorers.size() < 2) {
throw new IllegalArgumentException("Cannot make a ConjunctionDISI of less than 2 iterators");
}
@@ -45,15 +47,18 @@ public class ConjunctionDISI extends DocIdSetIterator {
addScorer(scorer, allIterators, twoPhaseIterators);
}
- if (twoPhaseIterators.isEmpty()) {
- return new ConjunctionDISI(allIterators);
- } else {
- return new TwoPhase(allIterators, twoPhaseIterators);
+ DocIdSetIterator iterator = new ConjunctionDISI(allIterators);
+ if (twoPhaseIterators.isEmpty() == false) {
+ iterator = TwoPhaseIterator.asDocIdSetIterator(new ConjunctionTwoPhaseIterator(iterator, twoPhaseIterators));
}
+ return iterator;
}
- /** Create a conjunction over the provided DocIdSetIterators. */
- public static ConjunctionDISI intersectIterators(List<DocIdSetIterator> iterators) {
+ /** Create a conjunction over the provided DocIdSetIterators. Note that the
+ * returned {@link DocIdSetIterator} might leverage two-phase iteration in
+ * which case it is possible to retrieve the {@link TwoPhaseIterator} using
+ * {@link TwoPhaseIterator#unwrap}. */
+ public static DocIdSetIterator intersectIterators(List<DocIdSetIterator> iterators) {
if (iterators.size() < 2) {
throw new IllegalArgumentException("Cannot make a ConjunctionDISI of less than 2 iterators");
}
@@ -63,16 +68,18 @@ public class ConjunctionDISI extends DocIdSetIterator {
addIterator(iterator, allIterators, twoPhaseIterators);
}
- if (twoPhaseIterators.isEmpty()) {
- return new ConjunctionDISI(allIterators);
- } else {
- return new TwoPhase(allIterators, twoPhaseIterators);
+ DocIdSetIterator iterator = new ConjunctionDISI(allIterators);
+ if (twoPhaseIterators.isEmpty() == false) {
+ iterator = TwoPhaseIterator.asDocIdSetIterator(new ConjunctionTwoPhaseIterator(iterator, twoPhaseIterators));
}
+ return iterator;
}
- /** Create a conjunction over the provided {@link Scorer}s, taking advantage
- * of {@link TwoPhaseIterator}. */
- public static ConjunctionDISI intersectSpans(List<Spans> spanList) {
+ /** Create a conjunction over the provided {@link Spans}. Note that the
+ * returned {@link DocIdSetIterator} might leverage two-phase iteration in
+ * which case it is possible to retrieve the {@link TwoPhaseIterator} using
+ * {@link TwoPhaseIterator#unwrap}. */
+ public static DocIdSetIterator intersectSpans(List<Spans> spanList) {
if (spanList.size() < 2) {
throw new IllegalArgumentException("Cannot make a ConjunctionDISI of less than 2 iterators");
}
@@ -82,11 +89,11 @@ public class ConjunctionDISI extends DocIdSetIterator {
addSpans(spans, allIterators, twoPhaseIterators);
}
- if (twoPhaseIterators.isEmpty()) {
- return new ConjunctionDISI(allIterators);
- } else {
- return new TwoPhase(allIterators, twoPhaseIterators);
+ DocIdSetIterator iterator = new ConjunctionDISI(allIterators);
+ if (twoPhaseIterators.isEmpty() == false) {
+ iterator = TwoPhaseIterator.asDocIdSetIterator(new ConjunctionTwoPhaseIterator(iterator, twoPhaseIterators));
}
+ return iterator;
}
/** Adds the scorer, possibly splitting up into two phases or collapsing if it is another conjunction */
@@ -110,17 +117,16 @@ public class ConjunctionDISI extends DocIdSetIterator {
}
private static void addIterator(DocIdSetIterator disi, List<DocIdSetIterator> allIterators, List<TwoPhaseIterator> twoPhaseIterators) {
- // Check for exactly this class for collapsing. Subclasses can do their own optimizations.
- if (disi.getClass() == ConjunctionDISI.class || disi.getClass() == TwoPhase.class) {
+ TwoPhaseIterator twoPhase = TwoPhaseIterator.unwrap(disi);
+ if (twoPhase != null) {
+ addTwoPhaseIterator(twoPhase, allIterators, twoPhaseIterators);
+ } else if (disi.getClass() == ConjunctionDISI.class) { // Check for exactly this class for collapsing
ConjunctionDISI conjunction = (ConjunctionDISI) disi;
// subconjuctions have already split themselves into two phase iterators and others, so we can take those
// iterators as they are and move them up to this conjunction
- allIterators.add(conjunction.lead);
+ allIterators.add(conjunction.lead1);
+ allIterators.add(conjunction.lead2);
Collections.addAll(allIterators, conjunction.others);
- if (conjunction.getClass() == TwoPhase.class) {
- TwoPhase twoPhase = (TwoPhase) conjunction;
- Collections.addAll(twoPhaseIterators, twoPhase.twoPhaseView.twoPhaseIterators);
- }
} else {
allIterators.add(disi);
}
@@ -128,13 +134,17 @@ public class ConjunctionDISI extends DocIdSetIterator {
private static void addTwoPhaseIterator(TwoPhaseIterator twoPhaseIter, List<DocIdSetIterator> allIterators, List<TwoPhaseIterator> twoPhaseIterators) {
addIterator(twoPhaseIter.approximation(), allIterators, twoPhaseIterators);
- twoPhaseIterators.add(twoPhaseIter);
+ if (twoPhaseIter.getClass() == ConjunctionTwoPhaseIterator.class) { // Check for exactly this class for collapsing
+ Collections.addAll(twoPhaseIterators, ((ConjunctionTwoPhaseIterator) twoPhaseIter).twoPhaseIterators);
+ } else {
+ twoPhaseIterators.add(twoPhaseIter);
+ }
}
- final DocIdSetIterator lead;
+ final DocIdSetIterator lead1, lead2;
final DocIdSetIterator[] others;
- ConjunctionDISI(List<? extends DocIdSetIterator> iterators) {
+ private ConjunctionDISI(List<? extends DocIdSetIterator> iterators) {
assert iterators.size() >= 2;
// Sort the array the first time to allow the least frequent DocsEnum to
// lead the matching.
@@ -144,84 +154,77 @@ public class ConjunctionDISI extends DocIdSetIterator {
return Long.compare(o1.cost(), o2.cost());
}
});
- lead = iterators.get(0);
- others = iterators.subList(1, iterators.size()).toArray(new DocIdSetIterator[0]);
- }
-
- protected boolean matches() throws IOException {
- return true;
- }
-
- TwoPhaseIterator asTwoPhaseIterator() {
- return null;
+ lead1 = iterators.get(0);
+ lead2 = iterators.get(1);
+ others = iterators.subList(2, iterators.size()).toArray(new DocIdSetIterator[0]);
}
private int doNext(int doc) throws IOException {
- for(;;) {
-
- if (doc == NO_MORE_DOCS) {
- // we need this check because it is only ok to call #matches when positioned
- return NO_MORE_DOCS;
+ advanceHead: for(;;) {
+ assert doc == lead1.docID();
+
+ // find agreement between the two iterators with the lower costs
+ // we special case them because they do not need the
+ // 'other.docID() < doc' check that the 'others' iterators need
+ final int next2 = lead2.advance(doc);
+ if (next2 != doc) {
+ doc = lead1.advance(next2);
+ if (next2 != doc) {
+ continue;
+ }
}
- advanceHead: for(;;) {
- for (DocIdSetIterator other : others) {
- // invariant: docsAndFreqs[i].doc <= doc at this point.
-
- // docsAndFreqs[i].doc may already be equal to doc if we "broke advanceHead"
- // on the previous iteration and the advance on the lead scorer exactly matched.
- if (other.docID() < doc) {
- final int next = other.advance(doc);
-
- if (next > doc) {
- // DocsEnum beyond the current doc - break and advance lead to the new highest doc.
- doc = lead.advance(next);
- break advanceHead;
- }
+ // then find agreement with other iterators
+ for (DocIdSetIterator other : others) {
+ // other.doc may already be equal to doc if we "continued advanceHead"
+ // on the previous iteration and the advance on the lead scorer exactly matched.
+ if (other.docID() < doc) {
+ final int next = other.advance(doc);
+
+ if (next > doc) {
+ // iterator beyond the current doc - advance lead and continue to the new highest doc.
+ doc = lead1.advance(next);
+ continue advanceHead;
}
}
-
- if (matches()) {
- // success - all DocsEnums are on the same doc
- return doc;
- } else {
- doc = lead.nextDoc();
- break advanceHead;
- }
}
+
+ // success - all iterators are on the same doc
+ return doc;
}
}
@Override
public int advance(int target) throws IOException {
- return doNext(lead.advance(target));
+ return doNext(lead1.advance(target));
}
@Override
public int docID() {
- return lead.docID();
+ return lead1.docID();
}
@Override
public int nextDoc() throws IOException {
- return doNext(lead.nextDoc());
+ return doNext(lead1.nextDoc());
}
@Override
public long cost() {
- return lead.cost(); // overestimate
+ return lead1.cost(); // overestimate
}
/**
- * {@link TwoPhaseIterator} view of a {@link TwoPhase} conjunction.
+ * {@link TwoPhaseIterator} implementing a conjunction.
*/
- private static class TwoPhaseConjunctionDISI extends TwoPhaseIterator {
+ private static final class ConjunctionTwoPhaseIterator extends TwoPhaseIterator {
private final TwoPhaseIterator[] twoPhaseIterators;
private final float matchCost;
- private TwoPhaseConjunctionDISI(List<? extends DocIdSetIterator> iterators, List<TwoPhaseIterator> twoPhaseIterators) {
- super(new ConjunctionDISI(iterators));
+ private ConjunctionTwoPhaseIterator(DocIdSetIterator approximation,
+ List<? extends TwoPhaseIterator> twoPhaseIterators) {
+ super(approximation);
assert twoPhaseIterators.size() > 0;
CollectionUtil.timSort(twoPhaseIterators, new Comparator<TwoPhaseIterator>() {
@@ -259,37 +262,4 @@ public class ConjunctionDISI extends DocIdSetIterator {
}
- /**
- * A conjunction DISI built on top of approximations. This implementation
- * verifies that documents actually match by consulting the provided
- * {@link TwoPhaseIterator}s.
- *
- * Another important difference with {@link ConjunctionDISI} is that this
- * implementation supports approximations too: the approximation of this
- * impl is the conjunction of the approximations of the wrapped iterators.
- * This allows eg. {@code +"A B" +C} to be approximated as
- * {@code +(+A +B) +C}.
- */
- // NOTE: this is essentially the same as TwoPhaseDocIdSetIterator.asDocIdSetIterator
- // but is its own impl in order to be able to expose a two-phase view
- private static class TwoPhase extends ConjunctionDISI {
-
- final TwoPhaseConjunctionDISI twoPhaseView;
-
- private TwoPhase(List<? extends DocIdSetIterator> iterators, List<TwoPhaseIterator> twoPhaseIterators) {
- super(iterators);
- twoPhaseView = new TwoPhaseConjunctionDISI(iterators, twoPhaseIterators);
- }
-
- @Override
- public TwoPhaseConjunctionDISI asTwoPhaseIterator() {
- return twoPhaseView;
- }
-
- @Override
- protected boolean matches() throws IOException {
- return twoPhaseView.matches();
- }
- }
-
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/72914198/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java b/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
index 066f07c..ab1de92 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
@@ -25,7 +25,7 @@ import java.util.List;
/** Scorer for conjunctions, sets of queries, all of which are required. */
class ConjunctionScorer extends Scorer {
- final ConjunctionDISI disi;
+ final DocIdSetIterator disi;
final Scorer[] scorers;
final float coord;
@@ -44,7 +44,7 @@ class ConjunctionScorer extends Scorer {
@Override
public TwoPhaseIterator twoPhaseIterator() {
- return disi.asTwoPhaseIterator();
+ return TwoPhaseIterator.unwrap(disi);
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/72914198/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java b/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java
index c3c8b71..f5ccc7c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java
@@ -37,7 +37,7 @@ final class ExactPhraseScorer extends Scorer {
}
}
- private final ConjunctionDISI conjunction;
+ private final DocIdSetIterator conjunction;
private final PostingsAndPosition[] postings;
private int freq;
@@ -60,6 +60,7 @@ final class ExactPhraseScorer extends Scorer {
postingsAndPositions.add(new PostingsAndPosition(posting.postings, posting.position));
}
conjunction = ConjunctionDISI.intersectIterators(iterators);
+ assert TwoPhaseIterator.unwrap(conjunction) == null;
this.postings = postingsAndPositions.toArray(new PostingsAndPosition[postingsAndPositions.size()]);
this.matchCost = matchCost;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/72914198/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java b/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
index 2ee3e70..acc8282 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
@@ -31,7 +31,7 @@ import org.apache.lucene.util.FixedBitSet;
final class SloppyPhraseScorer extends Scorer {
- private final ConjunctionDISI conjunction;
+ private final DocIdSetIterator conjunction;
private final PhrasePositions[] phrasePositions;
private float sloppyFreq; //phrase frequency in current doc as computed by phraseFreq().
@@ -70,6 +70,7 @@ final class SloppyPhraseScorer extends Scorer {
phrasePositions[i] = new PhrasePositions(postings[i].postings, postings[i].position, i, postings[i].terms);
}
conjunction = ConjunctionDISI.intersectIterators(Arrays.asList(iterators));
+ assert TwoPhaseIterator.unwrap(conjunction) == null;
this.matchCost = matchCost;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/72914198/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java b/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java
index 38176bf..ff472e7 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java
@@ -41,40 +41,61 @@ public abstract class TwoPhaseIterator {
/** Return a {@link DocIdSetIterator} view of the provided
* {@link TwoPhaseIterator}. */
public static DocIdSetIterator asDocIdSetIterator(TwoPhaseIterator twoPhaseIterator) {
- final DocIdSetIterator approximation = twoPhaseIterator.approximation();
- return new DocIdSetIterator() {
-
- @Override
- public int docID() {
- return approximation.docID();
- }
-
- @Override
- public int nextDoc() throws IOException {
- return doNext(approximation.nextDoc());
- }
+ return new TwoPhaseIteratorAsDocIdSetIterator(twoPhaseIterator);
+ }
- @Override
- public int advance(int target) throws IOException {
- return doNext(approximation.advance(target));
- }
+ /**
+ * If the given {@link DocIdSetIterator} has been created with
+ * {@link #asDocIdSetIterator}, then this will return the wrapped
+ * {@link TwoPhaseIterator}. Otherwise this returns {@code null}.
+ */
+ public static TwoPhaseIterator unwrap(DocIdSetIterator iterator) {
+ if (iterator instanceof TwoPhaseIteratorAsDocIdSetIterator) {
+ return ((TwoPhaseIteratorAsDocIdSetIterator) iterator).twoPhaseIterator;
+ } else {
+ return null;
+ }
+ }
- private int doNext(int doc) throws IOException {
- for (;; doc = approximation.nextDoc()) {
- if (doc == NO_MORE_DOCS) {
- return NO_MORE_DOCS;
- } else if (twoPhaseIterator.matches()) {
- return doc;
- }
+ private static class TwoPhaseIteratorAsDocIdSetIterator extends DocIdSetIterator {
+
+ final TwoPhaseIterator twoPhaseIterator;
+ final DocIdSetIterator approximation;
+
+ TwoPhaseIteratorAsDocIdSetIterator(TwoPhaseIterator twoPhaseIterator) {
+ this.twoPhaseIterator = twoPhaseIterator;
+ this.approximation = twoPhaseIterator.approximation;
+ }
+
+ @Override
+ public int docID() {
+ return approximation.docID();
+ }
+
+ @Override
+ public int nextDoc() throws IOException {
+ return doNext(approximation.nextDoc());
+ }
+
+ @Override
+ public int advance(int target) throws IOException {
+ return doNext(approximation.advance(target));
+ }
+
+ private int doNext(int doc) throws IOException {
+ for (;; doc = approximation.nextDoc()) {
+ if (doc == NO_MORE_DOCS) {
+ return NO_MORE_DOCS;
+ } else if (twoPhaseIterator.matches()) {
+ return doc;
}
}
+ }
- @Override
- public long cost() {
- return approximation.cost();
- }
-
- };
+ @Override
+ public long cost() {
+ return approximation.cost();
+ }
}
/** Return an approximation. The returned {@link DocIdSetIterator} is a
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/72914198/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java b/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java
index 269990d..dcb6664 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java
@@ -181,7 +181,7 @@ public class TestConjunctionDISI extends LuceneTestCase {
}
}
- final ConjunctionDISI conjunction = ConjunctionDISI.intersectScorers(Arrays.asList(iterators));
+ final DocIdSetIterator conjunction = ConjunctionDISI.intersectScorers(Arrays.asList(iterators));
assertEquals(intersect(sets), toBitSet(maxDoc, conjunction));
}
}
@@ -211,8 +211,8 @@ public class TestConjunctionDISI extends LuceneTestCase {
}
}
- final ConjunctionDISI conjunction = ConjunctionDISI.intersectScorers(Arrays.asList(iterators));
- TwoPhaseIterator twoPhaseIterator = conjunction.asTwoPhaseIterator();
+ final DocIdSetIterator conjunction = ConjunctionDISI.intersectScorers(Arrays.asList(iterators));
+ TwoPhaseIterator twoPhaseIterator = TwoPhaseIterator.unwrap(conjunction);
assertEquals(hasApproximation, twoPhaseIterator != null);
if (hasApproximation) {
assertEquals(intersect(sets), toBitSet(maxDoc, TwoPhaseIterator.asDocIdSetIterator(twoPhaseIterator)));
@@ -248,8 +248,8 @@ public class TestConjunctionDISI extends LuceneTestCase {
if (conjunction == null) {
conjunction = newIterator;
} else {
- final ConjunctionDISI conj = ConjunctionDISI.intersectScorers(Arrays.asList(conjunction, newIterator));
- conjunction = scorer(conj, conj.asTwoPhaseIterator());
+ final DocIdSetIterator conj = ConjunctionDISI.intersectScorers(Arrays.asList(conjunction, newIterator));
+ conjunction = scorer(conj, TwoPhaseIterator.unwrap(conj));
}
}
@@ -309,7 +309,7 @@ public class TestConjunctionDISI extends LuceneTestCase {
}
- final ConjunctionDISI conjunction = ConjunctionDISI.intersectScorers(scorers);
+ final DocIdSetIterator conjunction = ConjunctionDISI.intersectScorers(scorers);
assertEquals(intersect(sets), toBitSet(maxDoc, conjunction));
}
}