You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ds...@apache.org on 2017/06/14 02:44:11 UTC
lucene-solr:master: LUCENE-7876 avoid leafReader.fields
Repository: lucene-solr
Updated Branches:
refs/heads/master a18a4ce24 -> f470bbcbd
LUCENE-7876 avoid leafReader.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/f470bbcb
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/f470bbcb
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/f470bbcb
Branch: refs/heads/master
Commit: f470bbcbdc930c24c3b1e301d529a26c046f195f
Parents: a18a4ce
Author: David Smiley <ds...@apache.org>
Authored: Tue Jun 13 22:44:04 2017 -0400
Committer: David Smiley <ds...@apache.org>
Committed: Tue Jun 13 22:44:04 2017 -0400
----------------------------------------------------------------------
lucene/CHANGES.txt | 4 +++
.../index/TestBackwardsCompatibility.java | 2 +-
.../lucene/index/BufferedUpdatesStream.java | 8 ++---
.../apache/lucene/search/TermInSetQuery.java | 4 +--
.../lucene50/TestBlockPostingsFormat.java | 2 +-
.../org/apache/lucene/index/Test2BDocs.java | 2 +-
.../test/org/apache/lucene/index/TestDoc.java | 10 +++---
.../test/org/apache/lucene/index/TestFlex.java | 13 ++++---
.../lucene/index/TestIndexReaderClose.java | 8 ++---
.../apache/lucene/index/TestIndexWriter.java | 4 +--
.../lucene/index/TestIndexWriterUnicode.java | 2 +-
.../org/apache/lucene/index/TestPayloads.java | 4 +--
.../lucene/index/TestPerSegmentDeletes.java | 4 +--
.../lucene/index/TestPostingsOffsets.java | 2 +-
.../lucene/index/TestSegmentTermDocs.java | 2 +-
.../lucene/index/TestSegmentTermEnum.java | 10 +++---
.../apache/lucene/index/TestStressAdvance.java | 11 +++---
.../org/apache/lucene/index/TestTermsEnum.java | 23 ++++++++----
.../lucene/search/TestMultiPhraseQuery.java | 2 +-
.../lucene/search/TestPhrasePrefixQuery.java | 2 +-
.../search/TestSameScoresWithThreads.java | 2 +-
.../lucene/index/memory/TestMemoryIndex.java | 2 +-
.../memory/TestMemoryIndexAgainstRAMDir.java | 5 ++-
.../apache/lucene/queries/CommonTermsQuery.java | 4 +--
.../function/valuesource/TFValueSource.java | 6 ++--
.../valuesource/TermFreqValueSource.java | 6 ++--
.../idversion/TestIDVersionPostingsFormat.java | 4 +--
.../ThreadedIndexingAndSearchingTestCase.java | 12 +++++--
.../solr/handler/admin/LukeRequestHandler.java | 10 +++---
.../component/QueryElevationComponent.java | 5 +--
.../solr/handler/component/TermsComponent.java | 38 ++++++++++++--------
.../solr/highlight/DefaultSolrHighlighter.java | 2 +-
.../org/apache/solr/request/SimpleFacets.java | 4 +--
.../java/org/apache/solr/search/DocSetUtil.java | 4 +--
.../src/java/org/apache/solr/search/Filter.java | 2 +-
.../solr/search/FloatPayloadValueSource.java | 4 +--
.../solr/search/GraphTermsQParserPlugin.java | 16 ++++-----
.../apache/solr/search/JoinQParserPlugin.java | 12 +++----
.../FacetFieldProcessorByEnumTermsStream.java | 4 +--
.../apache/solr/uninverting/DocTermOrds.java | 4 +--
.../apache/solr/update/SolrIndexSplitter.java | 4 +--
41 files changed, 136 insertions(+), 133 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 05dc0f8..2c49c96 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -145,6 +145,10 @@ Other
from methods that don't declare them ("sneaky throw" hack). (Robert Muir,
Uwe Schindler, Dawid Weiss)
+* LUCENE-7876: Avoid calls to LeafReader.fields() and MultiFields.getFields()
+ that are trivially replaced by LeafReader.terms() and MultiFields.getTerms()
+ (David Smiley)
+
Improvements
* LUCENE-7841: Normalize ґ to г in Ukrainian analyzer. (Andriy Rysin via Dawid Weiss)
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
index 71e82ae..1250a30 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
@@ -1192,7 +1192,7 @@ public class TestBackwardsCompatibility extends LuceneTestCase {
for (String name : oldNames) {
Directory dir = oldIndexDirs.get(name);
IndexReader r = DirectoryReader.open(dir);
- TermsEnum terms = MultiFields.getFields(r).terms("content").iterator();
+ TermsEnum terms = MultiFields.getTerms(r, "content").iterator();
BytesRef t = terms.next();
assertNotNull(t);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java b/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
index 51933ac..9955626 100644
--- a/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
+++ b/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
@@ -501,9 +501,8 @@ class BufferedUpdatesStream implements Accountable {
queue = new SegmentQueue(numReaders);
long segTermCount = 0;
- for(int i=0;i<numReaders;i++) {
- SegmentState state = segStates[i];
- Terms terms = state.reader.fields().terms(field);
+ for (SegmentState state : segStates) {
+ Terms terms = state.reader.terms(field);
if (terms != null) {
segTermCount += terms.size();
state.termsEnum = terms.iterator();
@@ -617,7 +616,6 @@ class BufferedUpdatesStream implements Accountable {
// DocValues updates
private synchronized void applyDocValuesUpdates(List<DocValuesUpdate> updates,
SegmentState segState, DocValuesFieldUpdates.Container dvUpdatesContainer) throws IOException {
- Fields fields = segState.reader.fields();
// TODO: we can process the updates per DV field, from last to first so that
// if multiple terms affect same document for the same field, we add an update
@@ -651,7 +649,7 @@ class BufferedUpdatesStream implements Accountable {
// if we change the code to process updates in terms order, enable this assert
// assert currentField == null || currentField.compareTo(term.field()) < 0;
currentField = term.field();
- Terms terms = fields.terms(currentField);
+ Terms terms = segState.reader.terms(currentField);
if (terms != null) {
termsEnum = terms.iterator();
} else {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/java/org/apache/lucene/search/TermInSetQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TermInSetQuery.java b/lucene/core/src/java/org/apache/lucene/search/TermInSetQuery.java
index 08fe3c3..9b64d37 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TermInSetQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TermInSetQuery.java
@@ -26,7 +26,6 @@ import java.util.Objects;
import java.util.Set;
import java.util.SortedSet;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
@@ -224,8 +223,7 @@ public class TermInSetQuery extends Query implements Accountable {
private WeightOrDocIdSet rewrite(LeafReaderContext context) throws IOException {
final LeafReader reader = context.reader();
- final Fields fields = reader.fields();
- Terms terms = fields.terms(field);
+ Terms terms = reader.terms(field);
if (terms == null) {
return null;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java
index 1a2ab62..f2ed86c 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java
@@ -55,7 +55,7 @@ public class TestBlockPostingsFormat extends BasePostingsFormatTestCase {
DirectoryReader r = DirectoryReader.open(w);
assertEquals(1, r.leaves().size());
- FieldReader field = (FieldReader) r.leaves().get(0).reader().fields().terms("field");
+ FieldReader field = (FieldReader) r.leaves().get(0).reader().terms("field");
// We should see exactly two blocks: one root block (prefix empty string) and one block for z* terms (prefix z):
Stats stats = field.getStats();
assertEquals(0, stats.floorBlockCount);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/Test2BDocs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BDocs.java b/lucene/core/src/test/org/apache/lucene/index/Test2BDocs.java
index 4fab45a..dbbe271 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BDocs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BDocs.java
@@ -91,7 +91,7 @@ public class Test2BDocs extends LuceneTestCase {
LeafReader reader = context.reader();
int lim = context.reader().maxDoc();
- Terms terms = reader.fields().terms("f1");
+ Terms terms = reader.terms("f1");
for (int i=0; i<10000; i++) {
TermsEnum te = terms.iterator();
assertTrue( te.seekExact(term) );
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDoc.java b/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
index a20dece..37761d3 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
@@ -249,14 +249,16 @@ public class TestDoc extends LuceneTestCase {
for (int i = 0; i < reader.numDocs(); i++)
out.println(reader.document(i));
- Fields fields = reader.fields();
- for (String field : fields) {
- Terms terms = fields.terms(field);
+ for (FieldInfo fieldInfo : reader.getFieldInfos()) {
+ if (fieldInfo.getIndexOptions() == IndexOptions.NONE) {
+ continue;
+ }
+ Terms terms = reader.terms(fieldInfo.name);
assertNotNull(terms);
TermsEnum tis = terms.iterator();
while(tis.next() != null) {
- out.print(" term=" + field + ":" + tis.term());
+ out.print(" term=" + fieldInfo.name + ":" + tis.term());
out.println(" DF=" + tis.docFreq());
PostingsEnum positions = tis.postings(null, PostingsEnum.POSITIONS);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/TestFlex.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestFlex.java b/lucene/core/src/test/org/apache/lucene/index/TestFlex.java
index d91301f..662d034 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestFlex.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestFlex.java
@@ -17,10 +17,13 @@
package org.apache.lucene.index;
-import org.apache.lucene.store.*;
-import org.apache.lucene.analysis.*;
-import org.apache.lucene.document.*;
-import org.apache.lucene.util.*;
+import org.apache.lucene.analysis.MockAnalyzer;
+import org.apache.lucene.document.Document;
+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.TestUtil;
public class TestFlex extends LuceneTestCase {
@@ -70,7 +73,7 @@ public class TestFlex extends LuceneTestCase {
w.addDocument(doc);
w.forceMerge(1);
DirectoryReader r = w.getReader();
- TermsEnum terms = getOnlyLeafReader(r).fields().terms("f").iterator();
+ TermsEnum terms = getOnlyLeafReader(r).terms("f").iterator();
assertTrue(terms.next() != null);
try {
assertEquals(0, terms.ord());
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java
index b99666e..a046023 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java
@@ -80,9 +80,7 @@ public class TestIndexReaderClose extends LuceneTestCase {
reader.getReaderCacheHelper().addClosedListener(new FaultyListener());
}
- IllegalStateException expected = expectThrows(IllegalStateException.class, () -> {
- reader.close();
- });
+ IllegalStateException expected = expectThrows(IllegalStateException.class, () -> reader.close());
if (throwOnClose) {
assertEquals("BOOM!", expected.getMessage());
@@ -90,9 +88,7 @@ public class TestIndexReaderClose extends LuceneTestCase {
assertEquals("GRRRRRRRRRRRR!", expected.getMessage());
}
- expectThrows(AlreadyClosedException.class, () -> {
- reader.fields();
- });
+ expectThrows(AlreadyClosedException.class, () -> reader.terms("someField"));
if (random().nextBoolean()) {
reader.close(); // call it again
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/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 67add26..6897f06 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
@@ -694,7 +694,7 @@ public class TestIndexWriter extends LuceneTestCase {
writer.close();
DirectoryReader reader = DirectoryReader.open(dir);
LeafReader subreader = getOnlyLeafReader(reader);
- TermsEnum te = subreader.fields().terms("").iterator();
+ TermsEnum te = subreader.terms("").iterator();
assertEquals(new BytesRef("a"), te.next());
assertEquals(new BytesRef("b"), te.next());
assertEquals(new BytesRef("c"), te.next());
@@ -715,7 +715,7 @@ public class TestIndexWriter extends LuceneTestCase {
writer.close();
DirectoryReader reader = DirectoryReader.open(dir);
LeafReader subreader = getOnlyLeafReader(reader);
- TermsEnum te = subreader.fields().terms("").iterator();
+ TermsEnum te = subreader.terms("").iterator();
assertEquals(new BytesRef(""), te.next());
assertEquals(new BytesRef("a"), te.next());
assertEquals(new BytesRef("b"), te.next());
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java
index f45cf21..bb55f82 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java
@@ -136,7 +136,7 @@ public class TestIndexWriterUnicode extends LuceneTestCase {
}
private void checkTermsOrder(IndexReader r, Set<String> allTerms, boolean isTop) throws IOException {
- TermsEnum terms = MultiFields.getFields(r).terms("f").iterator();
+ TermsEnum terms = MultiFields.getTerms(r, "f").iterator();
BytesRefBuilder last = new BytesRefBuilder();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/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 e893d87..33f044d 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
@@ -479,7 +479,7 @@ public class TestPayloads extends LuceneTestCase {
}
writer.close();
IndexReader reader = DirectoryReader.open(dir);
- TermsEnum terms = MultiFields.getFields(reader).terms(field).iterator();
+ TermsEnum terms = MultiFields.getTerms(reader, field).iterator();
PostingsEnum tp = null;
while (terms.next() != null) {
String termText = terms.term().utf8ToString();
@@ -602,7 +602,7 @@ public class TestPayloads extends LuceneTestCase {
field.setTokenStream(ts);
writer.addDocument(doc);
DirectoryReader reader = writer.getReader();
- TermsEnum te = MultiFields.getFields(reader).terms("field").iterator();
+ TermsEnum te = MultiFields.getTerms(reader, "field").iterator();
assertTrue(te.seekExact(new BytesRef("withPayload")));
PostingsEnum de = te.postings(null, PostingsEnum.PAYLOADS);
de.nextDoc();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/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 58ef890..112a108 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
@@ -221,9 +221,7 @@ public class TestPerSegmentDeletes extends LuceneTestCase {
public int[] toDocsArray(Term term, Bits bits, IndexReader reader)
throws IOException {
- Fields fields = MultiFields.getFields(reader);
- Terms cterms = fields.terms(term.field);
- TermsEnum ctermsEnum = cterms.iterator();
+ TermsEnum ctermsEnum = MultiFields.getTerms(reader, term.field).iterator();
if (ctermsEnum.seekExact(new BytesRef(term.text()))) {
PostingsEnum postingsEnum = TestUtil.docs(random(), ctermsEnum, null, PostingsEnum.NONE);
return toArray(postingsEnum);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java b/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
index c265d92..600ce76 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
@@ -291,7 +291,7 @@ public class TestPostingsOffsets extends LuceneTestCase {
// TODO: improve this
LeafReader sub = ctx.reader();
//System.out.println("\nsub=" + sub);
- final TermsEnum termsEnum = sub.fields().terms("content").iterator();
+ final TermsEnum termsEnum = sub.terms("content").iterator();
PostingsEnum docs = null;
PostingsEnum docsAndPositions = null;
PostingsEnum docsAndPositionsAndOffsets = null;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
index f1271b8..279e3ac 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
@@ -57,7 +57,7 @@ public class TestSegmentTermDocs extends LuceneTestCase {
SegmentReader reader = new SegmentReader(info, Version.LATEST.major, newIOContext(random()));
assertTrue(reader != null);
- TermsEnum terms = reader.fields().terms(DocHelper.TEXT_FIELD_2_KEY).iterator();
+ TermsEnum terms = reader.terms(DocHelper.TEXT_FIELD_2_KEY).iterator();
terms.seekCeil(new BytesRef("field"));
PostingsEnum termDocs = TestUtil.docs(random(), terms, null, PostingsEnum.FREQS);
if (termDocs.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java
index 1e85e14..e382bb6 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java
@@ -19,14 +19,14 @@ package org.apache.lucene.index;
import java.io.IOException;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.TestUtil;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.TestUtil;
public class TestSegmentTermEnum extends LuceneTestCase {
@@ -80,7 +80,7 @@ public class TestSegmentTermEnum extends LuceneTestCase {
addDoc(writer, "aaa bbb");
writer.close();
LeafReader reader = getOnlyLeafReader(DirectoryReader.open(dir));
- TermsEnum terms = reader.fields().terms("content").iterator();
+ TermsEnum terms = reader.terms("content").iterator();
assertNotNull(terms.next());
assertEquals("aaa", terms.term().utf8ToString());
assertNotNull(terms.next());
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java b/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java
index 606a11a..b984314 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java
@@ -21,10 +21,13 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.lucene.util.*;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.store.*;
-import org.apache.lucene.document.*;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.TestUtil;
public class TestStressAdvance extends LuceneTestCase {
@@ -74,7 +77,7 @@ public class TestStressAdvance extends LuceneTestCase {
bDocIDs.add(docID);
}
}
- final TermsEnum te = getOnlyLeafReader(r).fields().terms("field").iterator();
+ final TermsEnum te = getOnlyLeafReader(r).terms("field").iterator();
PostingsEnum de = null;
for(int iter2=0;iter2<10;iter2++) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java b/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java
index d2df59f..fcc043c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java
@@ -18,7 +18,17 @@ package org.apache.lucene.index;
import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+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.Map;
+import java.util.Random;
+import java.util.Set;
+import java.util.TreeSet;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
@@ -738,7 +748,7 @@ public class TestTermsEnum extends LuceneTestCase {
DirectoryReader r = w.getReader();
w.close();
LeafReader sub = getOnlyLeafReader(r);
- Terms terms = sub.fields().terms("field");
+ Terms terms = sub.terms("field");
Automaton automaton = new RegExp(".*", RegExp.NONE).toAutomaton();
CompiledAutomaton ca = new CompiledAutomaton(automaton, false, false);
TermsEnum te = terms.intersect(ca, null);
@@ -792,7 +802,7 @@ public class TestTermsEnum extends LuceneTestCase {
DirectoryReader r = w.getReader();
w.close();
LeafReader sub = getOnlyLeafReader(r);
- Terms terms = sub.fields().terms("field");
+ Terms terms = sub.terms("field");
Automaton automaton = new RegExp(".*d", RegExp.NONE).toAutomaton();
CompiledAutomaton ca = new CompiledAutomaton(automaton, false, false);
@@ -846,7 +856,7 @@ public class TestTermsEnum extends LuceneTestCase {
DirectoryReader r = w.getReader();
w.close();
LeafReader sub = getOnlyLeafReader(r);
- Terms terms = sub.fields().terms("field");
+ Terms terms = sub.terms("field");
Automaton automaton = new RegExp(".*", RegExp.NONE).toAutomaton(); // accept ALL
CompiledAutomaton ca = new CompiledAutomaton(automaton, false, false);
@@ -986,7 +996,7 @@ public class TestTermsEnum extends LuceneTestCase {
w.addDocument(doc);
IndexReader r = w.getReader();
assertEquals(1, r.leaves().size());
- TermsEnum te = r.leaves().get(0).reader().fields().terms("field").iterator();
+ TermsEnum te = r.leaves().get(0).reader().terms("field").iterator();
for(int i=0;i<=termCount;i++) {
assertTrue("term '" + termsList.get(i).utf8ToString() + "' should exist but doesn't", te.seekExact(termsList.get(i)));
}
@@ -1007,9 +1017,8 @@ public class TestTermsEnum extends LuceneTestCase {
doc.add(newStringField("field", "foobar", Field.Store.NO));
w.addDocument(doc);
IndexReader r = w.getReader();
- Fields fields = MultiFields.getFields(r);
+ Terms terms = MultiFields.getTerms(r, "field");
CompiledAutomaton automaton = new CompiledAutomaton(new RegExp("do_not_match_anything").toAutomaton());
- Terms terms = fields.terms("field");
String message = expectThrows(IllegalArgumentException.class, () -> {terms.intersect(automaton, null);}).getMessage();
assertEquals("please use CompiledAutomaton.getTermsEnum instead", message);
r.close();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
index 262cbf3..409299f 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
@@ -71,7 +71,7 @@ public class TestMultiPhraseQuery extends LuceneTestCase {
// this TermEnum gives "piccadilly", "pie" and "pizza".
String prefix = "pi";
- TermsEnum te = MultiFields.getFields(reader).terms("body").iterator();
+ TermsEnum te = MultiFields.getTerms(reader,"body").iterator();
te.seekCeil(new BytesRef(prefix));
do {
String s = te.term().utf8ToString();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
index 8151150..114190c 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
@@ -73,7 +73,7 @@ public class TestPhrasePrefixQuery extends LuceneTestCase {
// this TermEnum gives "piccadilly", "pie" and "pizza".
String prefix = "pi";
- TermsEnum te = MultiFields.getFields(reader).terms("body").iterator();
+ TermsEnum te = MultiFields.getTerms(reader, "body").iterator();
te.seekCeil(new BytesRef(prefix));
do {
String s = te.term().utf8ToString();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java b/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java
index 83a11be..88f92a5 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java
@@ -61,7 +61,7 @@ public class TestSameScoresWithThreads extends LuceneTestCase {
w.close();
final IndexSearcher s = newSearcher(r);
- Terms terms = MultiFields.getFields(r).terms("body");
+ Terms terms = MultiFields.getTerms(r, "body");
int termCount = 0;
TermsEnum termsEnum = terms.iterator();
while(termsEnum.next() != null) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/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 fa62262..d4ce8f1 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
@@ -131,7 +131,7 @@ public class TestMemoryIndex extends LuceneTestCase {
mi.addField("field", "some terms be here", analyzer);
IndexSearcher searcher = mi.createSearcher();
LeafReader reader = (LeafReader) searcher.getIndexReader();
- TermsEnum terms = reader.fields().terms("field").iterator();
+ TermsEnum terms = reader.terms("field").iterator();
terms.seekExact(0);
assertEquals("be", terms.term().utf8ToString());
TestUtil.checkReader(reader);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/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 8a751b1..c911183 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
@@ -53,7 +53,6 @@ import org.apache.lucene.document.SortedSetDocValuesField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.*;
-import org.apache.lucene.index.NumericDocValues;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.IndexSearcher;
@@ -67,8 +66,8 @@ import org.apache.lucene.search.spans.SpanOrQuery;
import org.apache.lucene.search.spans.SpanQuery;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.util.ByteBlockPool.Allocator;
import org.apache.lucene.util.ByteBlockPool;
+import org.apache.lucene.util.ByteBlockPool.Allocator;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LineFileDocs;
@@ -171,7 +170,7 @@ public class TestMemoryIndexAgainstRAMDir extends BaseTokenStreamTestCase {
private void duellReaders(CompositeReader other, LeafReader memIndexReader)
throws IOException {
- Fields memFields = memIndexReader.fields();
+ Fields memFields = memIndexReader.getTermVectors(0);
for (String field : MultiFields.getFields(other)) {
Terms memTerms = memFields.terms(field);
Terms iwTerms = memIndexReader.terms(field);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
index 857f4d3..2fdeaa7 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
@@ -22,7 +22,6 @@ import java.util.Collections;
import java.util.List;
import java.util.Objects;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
@@ -214,11 +213,10 @@ public class CommonTermsQuery extends Query {
Term[] queryTerms) throws IOException {
TermsEnum termsEnum = null;
for (LeafReaderContext context : leaves) {
- final Fields fields = context.reader().fields();
for (int i = 0; i < queryTerms.length; i++) {
Term term = queryTerms[i];
TermContext termContext = contextArray[i];
- final Terms terms = fields.terms(term.field());
+ final Terms terms = context.reader().terms(term.field());
if (terms == null) {
// field does not exist
continue;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
index f0e252c..baed0ff 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
@@ -19,9 +19,8 @@ package org.apache.lucene.queries.function.valuesource;
import java.io.IOException;
import java.util.Map;
-import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.queries.function.FunctionValues;
@@ -50,8 +49,7 @@ public class TFValueSource extends TermFreqValueSource {
@Override
public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
- Fields fields = readerContext.reader().fields();
- final Terms terms = fields.terms(indexedField);
+ final Terms terms = readerContext.reader().terms(indexedField);
IndexSearcher searcher = (IndexSearcher)context.get("searcher");
final TFIDFSimilarity similarity = IDFValueSource.asTFIDF(searcher.getSimilarity(true), indexedField);
if (similarity == null) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
index 789e3e9..55c54f5 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
@@ -19,9 +19,8 @@ package org.apache.lucene.queries.function.valuesource;
import java.io.IOException;
import java.util.Map;
-import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.queries.function.FunctionValues;
@@ -48,8 +47,7 @@ public class TermFreqValueSource extends DocFreqValueSource {
@Override
public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
- Fields fields = readerContext.reader().fields();
- final Terms terms = fields.terms(indexedField);
+ final Terms terms = readerContext.reader().terms(indexedField);
return new IntDocValues(this) {
PostingsEnum docs ;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java b/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java
index d173762..0574e70 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java
@@ -37,12 +37,12 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.index.ConcurrentMergeScheduler;
-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.MergeScheduler;
import org.apache.lucene.index.PerThreadPKLookup;
+import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.TieredMergePolicy;
@@ -75,7 +75,7 @@ public class TestIDVersionPostingsFormat extends LuceneTestCase {
doc.add(makeIDField("id1", 110));
w.addDocument(doc);
IndexReader r = w.getReader();
- IDVersionSegmentTermsEnum termsEnum = (IDVersionSegmentTermsEnum) r.leaves().get(0).reader().fields().terms("id").iterator();
+ IDVersionSegmentTermsEnum termsEnum = (IDVersionSegmentTermsEnum) r.leaves().get(0).reader().terms("id").iterator();
assertTrue(termsEnum.seekExact(new BytesRef("id0"), 50));
assertTrue(termsEnum.seekExact(new BytesRef("id0"), 100));
assertFalse(termsEnum.seekExact(new BytesRef("id0"), 101));
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/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 ac94cf7..fa9d510 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
@@ -18,7 +18,14 @@ package org.apache.lucene.index;
import java.io.IOException;
import java.nio.file.Path;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+import java.util.WeakHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
@@ -349,8 +356,7 @@ public abstract class ThreadedIndexingAndSearchingTestCase extends LuceneTestCas
}
if (s.getIndexReader().numDocs() > 0) {
smokeTestSearcher(s);
- Fields fields = MultiFields.getFields(s.getIndexReader());
- Terms terms = fields.terms("body");
+ Terms terms = MultiFields.getTerms(s.getIndexReader(), "body");
if (terms == null) {
continue;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
index 9864016..20fb71a 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
@@ -16,10 +16,6 @@
*/
package org.apache.solr.handler.admin;
-import static org.apache.lucene.index.IndexOptions.DOCS;
-import static org.apache.lucene.index.IndexOptions.DOCS_AND_FREQS;
-import static org.apache.lucene.index.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS;
-
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
@@ -83,6 +79,10 @@ import org.apache.solr.update.SolrIndexWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.lucene.index.IndexOptions.DOCS;
+import static org.apache.lucene.index.IndexOptions.DOCS_AND_FREQS;
+import static org.apache.lucene.index.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS;
+
/**
* This handler exposes the internal lucene index. It is inspired by and
* modeled on Luke, the Lucene Index Browser by Andrzej Bialecki.
@@ -366,7 +366,7 @@ public class LukeRequestHandler extends RequestHandlerBase
if (sfield != null && schema.isDynamicField(sfield.getName()) && schema.getDynamicPattern(sfield.getName()) != null) {
fieldMap.add("dynamicBase", schema.getDynamicPattern(sfield.getName()));
}
- Terms terms = reader.fields().terms(fieldName);
+ Terms terms = reader.terms(fieldName);
if (terms == null) { // Not indexed, so we need to report what we can (it made it through the fl param if specified)
finfo.add( fieldName, fieldMap );
continue;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
index 4fe1d71..3f3dd5c 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
@@ -38,7 +38,6 @@ import com.carrotsearch.hppc.IntIntHashMap;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
@@ -665,9 +664,7 @@ public class QueryElevationComponent extends SearchComponent implements SolrCore
protected void doSetNextReader(LeafReaderContext context) throws IOException {
//convert the ids to Lucene doc ids, the ordSet and termValues needs to be the same size as the number of elevation docs we have
ordSet.clear();
- Fields fields = context.reader().fields();
- if (fields == null) return;
- Terms terms = fields.terms(idField);
+ Terms terms = context.reader().terms(idField);
if (terms == null) return;
TermsEnum termsEnum = terms.iterator();
BytesRefBuilder term = new BytesRefBuilder();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/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 8a735d1..80dfa40 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
@@ -15,29 +15,39 @@
* limitations under the License.
*/
package org.apache.solr.handler.component;
-import org.apache.lucene.index.*;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.regex.Pattern;
+
+import org.apache.lucene.index.IndexReaderContext;
+import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.index.TermContext;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefBuilder;
import org.apache.lucene.util.CharsRefBuilder;
import org.apache.lucene.util.StringHelper;
+import org.apache.solr.client.solrj.response.TermsResponse;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.*;
+import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.params.ShardParams;
+import org.apache.solr.common.params.SolrParams;
+import org.apache.solr.common.params.TermsParams;
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.request.SimpleFacets.CountPair;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.StrField;
-import org.apache.solr.request.SimpleFacets.CountPair;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.BoundedTreeSet;
-import org.apache.solr.client.solrj.response.TermsResponse;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.regex.Pattern;
/**
* Return TermEnum information, useful for things like auto suggest.
@@ -138,13 +148,12 @@ public class TermsComponent extends SearchComponent {
final LeafReader indexReader = rb.req.getSearcher().getSlowAtomicReader();
- Fields lfields = indexReader.fields();
for (String field : fields) {
NamedList<Integer> fieldTerms = new NamedList<>();
termsResult.add(field, fieldTerms);
- Terms terms = lfields.terms(field);
+ Terms terms = indexReader.terms(field);
if (terms == null) {
// field does not exist
continue;
@@ -562,10 +571,9 @@ public class TermsComponent extends SearchComponent {
Term[] queryTerms) throws IOException {
TermsEnum termsEnum = null;
for (LeafReaderContext context : topReaderContext.leaves()) {
- final Fields fields = context.reader().fields();
for (int i = 0; i < queryTerms.length; i++) {
Term term = queryTerms[i];
- final Terms terms = fields.terms(term.field());
+ final Terms terms = context.reader().terms(term.field());
if (terms == null) {
// field does not exist
continue;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java b/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
index 18d9b44..1029c7d 100644
--- a/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
+++ b/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
@@ -245,7 +245,7 @@ public class DefaultSolrHighlighter extends SolrHighlighter implements PluginInf
try {
// It'd be nice to know if payloads are on the tokenStream but the presence of the attribute isn't a good
// indicator.
- final Terms terms = request.getSearcher().getSlowAtomicReader().fields().terms(fieldName);
+ final Terms terms = request.getSearcher().getSlowAtomicReader().terms(fieldName);
if (terms != null) {
defaultPayloads = terms.hasPayloads();
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/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 406a4ed..f39eda4 100644
--- a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
+++ b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
@@ -37,7 +37,6 @@ import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.TimeUnit;
import java.util.function.Predicate;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.MultiPostingsEnum;
@@ -935,8 +934,7 @@ public class SimpleFacets {
prefixTermBytes = new BytesRef(indexedPrefix);
}
- Fields fields = r.fields();
- Terms terms = fields==null ? null : fields.terms(field);
+ Terms terms = r.terms(field);
TermsEnum termsEnum = null;
SolrIndexSearcher.DocsEnumState deState = null;
BytesRef term = null;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/search/DocSetUtil.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/DocSetUtil.java b/solr/core/src/java/org/apache/solr/search/DocSetUtil.java
index a7c9bef..0bc6dac 100644
--- a/solr/core/src/java/org/apache/solr/search/DocSetUtil.java
+++ b/solr/core/src/java/org/apache/solr/search/DocSetUtil.java
@@ -21,7 +21,6 @@ import java.util.Iterator;
import java.util.List;
import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
@@ -169,8 +168,7 @@ public class DocSetUtil {
for (LeafReaderContext ctx : leaves) {
assert leaves.get(ctx.ord) == ctx;
LeafReader r = ctx.reader();
- Fields f = r.fields();
- Terms t = f.terms(field);
+ Terms t = r.terms(field);
if (t == null) continue; // field is missing
TermsEnum te = t.iterator();
if (te.seekExact(termVal)) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/search/Filter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/Filter.java b/solr/core/src/java/org/apache/solr/search/Filter.java
index f4a148c..e37d573 100644
--- a/solr/core/src/java/org/apache/solr/search/Filter.java
+++ b/solr/core/src/java/org/apache/solr/search/Filter.java
@@ -69,7 +69,7 @@ public abstract class Filter extends Query {
* represent the whole underlying index i.e. if the index has more than
* one segment the given reader only represents a single segment.
* The provided context is always an atomic context, so you can call
- * {@link org.apache.lucene.index.LeafReader#fields()}
+ * {@link org.apache.lucene.index.LeafReader#terms(String)}
* on the context's reader, for example.
*
* @param acceptDocs
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java b/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
index 65b5fa0..23e07e2 100644
--- a/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
@@ -20,7 +20,6 @@ package org.apache.solr.search;
import java.io.IOException;
import java.util.Map;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.index.Terms;
@@ -56,8 +55,7 @@ public class FloatPayloadValueSource extends ValueSource {
@Override
public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
- Fields fields = readerContext.reader().fields();
- final Terms terms = fields.terms(indexedField);
+ final Terms terms = readerContext.reader().terms(indexedField);
FunctionValues defaultValues = defaultValueSource.getValues(context, readerContext);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
index a8a86cb..d659265 100644
--- a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
@@ -18,15 +18,19 @@
package org.apache.solr.search;
-import org.apache.lucene.index.Fields;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermContext;
-import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermState;
+import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.BulkScorer;
import org.apache.lucene.search.ConstantScoreQuery;
@@ -49,11 +53,6 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.FieldType;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
/**
* The GraphTermsQuery builds a disjunction query from a list of terms. The terms are first filtered by the maxDocFreq parameter.
* This allows graph traversals to skip traversing high frequency nodes which is often desirable from a performance standpoint.
@@ -220,8 +219,7 @@ public class GraphTermsQParserPlugin extends QParserPlugin {
private WeightOrDocIdSet rewrite(LeafReaderContext context) throws IOException {
final LeafReader reader = context.reader();
- final Fields fields = reader.fields();
- Terms terms = fields.terms(field);
+ Terms terms = reader.terms(field);
if(terms == null) {
return new WeightOrDocIdSet(new BitDocIdSet(new FixedBitSet(reader.maxDoc()), 0));
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/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 abdea53..e4e92cf 100644
--- a/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
@@ -23,8 +23,8 @@ import java.util.Arrays;
import java.util.List;
import java.util.Objects;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.MultiPostingsEnum;
import org.apache.lucene.index.PostingsEnum;
@@ -316,11 +316,11 @@ class JoinQuery extends Query {
fastForRandomSet = new HashDocSet(sset.getDocs(), 0, sset.size());
}
- Fields fromFields = fromSearcher.getSlowAtomicReader().fields();
- Fields toFields = fromSearcher==toSearcher ? fromFields : toSearcher.getSlowAtomicReader().fields();
- if (fromFields == null) return DocSet.EMPTY;
- Terms terms = fromFields.terms(fromField);
- Terms toTerms = toFields.terms(toField);
+
+ LeafReader fromReader = fromSearcher.getSlowAtomicReader();
+ LeafReader toReader = fromSearcher==toSearcher ? fromReader : toSearcher.getSlowAtomicReader();
+ Terms terms = fromReader.terms(fromField);
+ Terms toTerms = toReader.terms(toField);
if (terms == null || toTerms==null) return DocSet.EMPTY;
String prefixStr = TrieField.getMainValuePrefix(fromSearcher.getSchema().getFieldType(fromField));
BytesRef prefix = prefixStr == null ? null : new BytesRef(prefixStr);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorByEnumTermsStream.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorByEnumTermsStream.java b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorByEnumTermsStream.java
index d28e024..bbc2973 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorByEnumTermsStream.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorByEnumTermsStream.java
@@ -22,7 +22,6 @@ import java.io.IOException;
import java.util.Iterator;
import java.util.List;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.MultiPostingsEnum;
import org.apache.lucene.index.PostingsEnum;
@@ -156,8 +155,7 @@ class FacetFieldProcessorByEnumTermsStream extends FacetFieldProcessor implement
}
}
- Fields fields = fcontext.searcher.getSlowAtomicReader().fields();
- Terms terms = fields == null ? null : fields.terms(sf.getName());
+ Terms terms = fcontext.searcher.getSlowAtomicReader().terms(sf.getName());
termsEnum = null;
deState = null;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/uninverting/DocTermOrds.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/uninverting/DocTermOrds.java b/solr/core/src/java/org/apache/solr/uninverting/DocTermOrds.java
index fcc6974..0780146 100644
--- a/solr/core/src/java/org/apache/solr/uninverting/DocTermOrds.java
+++ b/solr/core/src/java/org/apache/solr/uninverting/DocTermOrds.java
@@ -22,7 +22,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.apache.lucene.codecs.PostingsFormat; // javadocs
+import org.apache.lucene.codecs.PostingsFormat;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.DocValuesType;
import org.apache.lucene.index.FieldInfo;
@@ -595,7 +595,7 @@ public class DocTermOrds implements Accountable {
public OrdWrappedTermsEnum(LeafReader reader) throws IOException {
assert indexedTermsArray != null;
assert 0 != indexedTermsArray.length;
- termsEnum = reader.fields().terms(field).iterator();
+ termsEnum = reader.terms(field).iterator();
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f470bbcb/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java b/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java
index e9950f2..aadbe74 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java
@@ -22,7 +22,6 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.lucene.index.CodecReader;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.FilterCodecReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.LeafReader;
@@ -165,8 +164,7 @@ public class SolrIndexSplitter {
}
Bits liveDocs = reader.getLiveDocs();
- Fields fields = reader.fields();
- Terms terms = fields==null ? null : fields.terms(field.getName());
+ Terms terms = reader.terms(field.getName());
TermsEnum termsEnum = terms==null ? null : terms.iterator();
if (termsEnum == null) return docSets;