You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/05/16 08:28:33 UTC
svn commit: r1339025 [2/2] - in /lucene/dev/branches/lucene4055:
lucene/core/src/java/org/apache/lucene/codecs/
lucene/core/src/java/org/apache/lucene/codecs/lucene3x/
lucene/core/src/java/org/apache/lucene/codecs/lucene40/
lucene/core/src/java/org/apa...
Modified: lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/ReadOnlyFieldInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/ReadOnlyFieldInfos.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/ReadOnlyFieldInfos.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/ReadOnlyFieldInfos.java Wed May 16 06:28:31 2012
@@ -1,10 +1,14 @@
package org.apache.lucene.index;
+import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.SortedMap;
import java.util.TreeMap;
+import org.apache.lucene.index.FieldInfo.IndexOptions;
+
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -33,12 +37,12 @@ public final class ReadOnlyFieldInfos ex
private final SortedMap<Integer,FieldInfo> byNumber = new TreeMap<Integer,FieldInfo>();
private final HashMap<String,FieldInfo> byName = new HashMap<String,FieldInfo>();
+ private final Collection<FieldInfo> values; // for an unmodifiable iterator
- public ReadOnlyFieldInfos(FieldInfo[] infos, boolean hasFreq, boolean hasProx, boolean hasVectors) {
- this.hasFreq = hasFreq;
- this.hasProx = hasProx;
- this.hasVectors = hasVectors;
-
+ public ReadOnlyFieldInfos(FieldInfo[] infos) {
+ boolean hasVectors = false;
+ boolean hasProx = false;
+ boolean hasFreq = false;
boolean hasNorms = false;
boolean hasDocValues = false;
@@ -48,41 +52,55 @@ public final class ReadOnlyFieldInfos ex
assert !byName.containsKey(info.name);
byName.put(info.name, info);
+ hasVectors |= info.hasVectors();
+ hasProx |= info.isIndexed() && info.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0;
+ hasFreq |= info.isIndexed() && info.getIndexOptions() != IndexOptions.DOCS_ONLY;
hasNorms |= info.hasNorms();
hasDocValues |= info.hasDocValues();
}
+ this.hasVectors = hasVectors;
+ this.hasProx = hasProx;
+ this.hasFreq = hasFreq;
this.hasNorms = hasNorms;
this.hasDocValues = hasDocValues;
+ this.values = Collections.unmodifiableCollection(byNumber.values());
}
+ @Override
public boolean hasFreq() {
return hasFreq;
}
+ @Override
public boolean hasProx() {
return hasProx;
}
+ @Override
public boolean hasVectors() {
return hasVectors;
}
+ @Override
public boolean hasNorms() {
return hasNorms;
}
+ @Override
public boolean hasDocValues() {
return hasDocValues;
}
+ @Override
public int size() {
assert byNumber.size() == byName.size();
return byNumber.size();
}
+ @Override
public Iterator<FieldInfo> iterator() {
- return byNumber.values().iterator();
+ return values.iterator();
}
@Override
@@ -103,7 +121,7 @@ public final class ReadOnlyFieldInfos ex
for (FieldInfo info : this) {
infos[upto++] = info.clone();
}
- return new ReadOnlyFieldInfos(infos, hasFreq, hasProx, hasVectors);
+ return new ReadOnlyFieldInfos(infos);
}
}
Modified: lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java Wed May 16 06:28:31 2012
@@ -205,7 +205,8 @@ final class SegmentMerger {
final AtomicReader reader = readerAndLiveDocs.reader;
FieldInfos readerFieldInfos = reader.getFieldInfos();
for (FieldInfo fi : readerFieldInfos) {
- FieldInfo merged = mergeState.fieldInfos.add(fi);
+ // nocommit: ugly
+ FieldInfo merged = ((MutableFieldInfos)mergeState.fieldInfos).add(fi);
// update the type promotion mapping for this reader
if (fi.hasDocValues()) {
TypePromoter previous = docValuesTypes.get(merged);
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java Wed May 16 06:28:31 2012
@@ -90,11 +90,9 @@ public class TestCodecs extends LuceneTe
public FieldData(final String name, final MutableFieldInfos fieldInfos, final TermData[] terms, final boolean omitTF, final boolean storePayloads) {
this.omitTF = omitTF;
this.storePayloads = storePayloads;
- fieldInfos.addOrUpdate(name, true);
- fieldInfo = fieldInfos.fieldInfo(name);
// TODO: change this test to use all three
- fieldInfo.indexOptions = omitTF ? IndexOptions.DOCS_ONLY : IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
- fieldInfo.storePayloads = storePayloads;
+ fieldInfos.addOrUpdate(name, true, false, false, storePayloads, omitTF ? IndexOptions.DOCS_ONLY : IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, null, null);
+ fieldInfo = fieldInfos.fieldInfo(name);
this.terms = terms;
for(int i=0;i<terms.length;i++)
terms[i].field = this;
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java Wed May 16 06:28:31 2012
@@ -294,8 +294,8 @@ public class TestConsistentFieldNumbers
for (FieldInfo fi : fis) {
Field expected = getField(Integer.parseInt(fi.name));
- assertEquals(expected.fieldType().indexed(), fi.isIndexed);
- assertEquals(expected.fieldType().storeTermVectors(), fi.storeTermVector);
+ assertEquals(expected.fieldType().indexed(), fi.isIndexed());
+ assertEquals(expected.fieldType().storeTermVectors(), fi.hasVectors());
}
}
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java Wed May 16 06:28:31 2012
@@ -258,12 +258,12 @@ public class TestDirectoryReader extends
for(FieldInfo fieldInfo : fieldInfos) {
final String name = fieldInfo.name;
allFieldNames.add(name);
- if (fieldInfo.isIndexed) {
+ if (fieldInfo.isIndexed()) {
indexedFieldNames.add(name);
} else {
notIndexedFieldNames.add(name);
}
- if (fieldInfo.storeTermVector) {
+ if (fieldInfo.hasVectors()) {
tvFieldNames.add(name);
}
}
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java Wed May 16 06:28:31 2012
@@ -96,8 +96,8 @@ public class TestDocumentWriter extends
// test that the norms are not present in the segment if
// omitNorms is true
for (FieldInfo fi : reader.getFieldInfos()) {
- if (fi.isIndexed) {
- assertTrue(fi.omitNorms == (reader.normValues(fi.name) == null));
+ if (fi.isIndexed()) {
+ assertTrue(fi.omitsNorms() == (reader.normValues(fi.name) == null));
}
}
reader.close();
@@ -331,10 +331,10 @@ public class TestDocumentWriter extends
FieldInfos fi = reader.getFieldInfos();
// f1
assertFalse("f1 should have no norms", fi.fieldInfo("f1").hasNorms());
- assertEquals("omitTermFreqAndPositions field bit should not be set for f1", IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, fi.fieldInfo("f1").indexOptions);
+ assertEquals("omitTermFreqAndPositions field bit should not be set for f1", IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, fi.fieldInfo("f1").getIndexOptions());
// f2
assertTrue("f2 should have norms", fi.fieldInfo("f2").hasNorms());
- assertEquals("omitTermFreqAndPositions field bit should be set for f2", IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").indexOptions);
+ assertEquals("omitTermFreqAndPositions field bit should be set for f2", IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").getIndexOptions());
reader.close();
}
}
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestFieldInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestFieldInfos.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestFieldInfos.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestFieldInfos.java Wed May 16 06:28:31 2012
@@ -47,7 +47,9 @@ public class TestFieldInfos extends Luce
//Positive test of FieldInfos
assertTrue(testDoc != null);
MutableFieldInfos fieldInfos = new MutableFieldInfos(new MutableFieldInfos.FieldNumberBiMap());
- _TestUtil.add(testDoc, fieldInfos);
+ for (IndexableField field : testDoc) {
+ fieldInfos.addOrUpdate(field.name(), field.fieldType());
+ }
//Since the complement is stored as well in the fields map
assertTrue(fieldInfos.size() == DocHelper.all.size()); //this is all b/c we are using the no-arg constructor
@@ -76,22 +78,22 @@ public class TestFieldInfos extends Luce
assertTrue(fieldInfos.size() == readIn.size());
FieldInfo info = readIn.fieldInfo("textField1");
assertTrue(info != null);
- assertTrue(info.storeTermVector == false);
- assertTrue(info.omitNorms == false);
+ assertTrue(info.hasVectors() == false);
+ assertTrue(info.omitsNorms() == false);
info = readIn.fieldInfo("textField2");
assertTrue(info != null);
- assertTrue(info.omitNorms == false);
+ assertTrue(info.omitsNorms() == false);
info = readIn.fieldInfo("textField3");
assertTrue(info != null);
- assertTrue(info.storeTermVector == false);
- assertTrue(info.omitNorms == true);
+ assertTrue(info.hasVectors() == false);
+ assertTrue(info.omitsNorms() == true);
info = readIn.fieldInfo("omitNorms");
assertTrue(info != null);
- assertTrue(info.storeTermVector == false);
- assertTrue(info.omitNorms == true);
+ assertTrue(info.hasVectors() == false);
+ assertTrue(info.omitsNorms() == true);
dir.close();
}
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java Wed May 16 06:28:31 2012
@@ -55,7 +55,9 @@ public class TestFieldsReader extends Lu
public static void beforeClass() throws Exception {
fieldInfos = new MutableFieldInfos(new MutableFieldInfos.FieldNumberBiMap());
DocHelper.setupDoc(testDoc);
- _TestUtil.add(testDoc, fieldInfos);
+ for (IndexableField field : testDoc) {
+ fieldInfos.addOrUpdate(field.name(), field.fieldType());
+ }
dir = newDirectory();
IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setMergePolicy(newLogMergePolicy());
((LogMergePolicy) conf.getMergePolicy()).setUseCompoundFile(false);
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestNorms.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestNorms.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestNorms.java Wed May 16 06:28:31 2012
@@ -129,8 +129,8 @@ public class TestNorms extends LuceneTes
AtomicReader reader = SlowCompositeReaderWrapper.wrap(IndexReader.open(otherDir));
FieldInfos fieldInfos = reader.getFieldInfos();
FieldInfo fieldInfo = fieldInfos.fieldInfo(byteTestField);
- assertFalse(fieldInfo.omitNorms);
- assertTrue(fieldInfo.isIndexed);
+ assertFalse(fieldInfo.omitsNorms());
+ assertTrue(fieldInfo.isIndexed());
if (secondWriteNorm) {
assertTrue(fieldInfo.hasNorms());
} else {
@@ -146,13 +146,13 @@ public class TestNorms extends LuceneTes
DocValues normValues = mergedReader.normValues(byteTestField);
assertNull(normValues);
FieldInfo fi = mergedReader.getFieldInfos().fieldInfo(byteTestField);
- assertFalse(fi.omitNorms);
- assertTrue(fi.isIndexed);
+ assertFalse(fi.omitsNorms());
+ assertTrue(fi.isIndexed());
assertFalse(fi.hasNorms());
} else {
FieldInfo fi = mergedReader.getFieldInfos().fieldInfo(byteTestField);
- assertFalse(fi.omitNorms);
- assertTrue(fi.isIndexed);
+ assertFalse(fi.omitsNorms());
+ assertTrue(fi.isIndexed());
assertTrue(fi.hasNorms());
DocValues normValues = mergedReader.normValues(byteTestField);
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitNorms.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitNorms.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitNorms.java Wed May 16 06:28:31 2012
@@ -68,8 +68,8 @@ public class TestOmitNorms extends Lucen
SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram));
FieldInfos fi = reader.getFieldInfos();
- assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f1").omitNorms);
- assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f2").omitNorms);
+ assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f1").omitsNorms());
+ assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f2").omitsNorms());
reader.close();
ram.close();
@@ -122,8 +122,8 @@ public class TestOmitNorms extends Lucen
SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram));
FieldInfos fi = reader.getFieldInfos();
- assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f1").omitNorms);
- assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f2").omitNorms);
+ assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f1").omitsNorms());
+ assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f2").omitsNorms());
reader.close();
ram.close();
@@ -170,8 +170,8 @@ public class TestOmitNorms extends Lucen
SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram));
FieldInfos fi = reader.getFieldInfos();
- assertTrue("OmitNorms field bit should not be set.", !fi.fieldInfo("f1").omitNorms);
- assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f2").omitNorms);
+ assertTrue("OmitNorms field bit should not be set.", !fi.fieldInfo("f1").omitsNorms());
+ assertTrue("OmitNorms field bit should be set.", fi.fieldInfo("f2").omitsNorms());
reader.close();
ram.close();
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java Wed May 16 06:28:31 2012
@@ -156,23 +156,23 @@ public class TestOmitPositions extends L
SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram));
FieldInfos fi = reader.getFieldInfos();
// docs + docs = docs
- assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f1").indexOptions);
+ assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f1").getIndexOptions());
// docs + docs/freqs = docs
- assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").indexOptions);
+ assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").getIndexOptions());
// docs + docs/freqs/pos = docs
- assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f3").indexOptions);
+ assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f3").getIndexOptions());
// docs/freqs + docs = docs
- assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f4").indexOptions);
+ assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f4").getIndexOptions());
// docs/freqs + docs/freqs = docs/freqs
- assertEquals(IndexOptions.DOCS_AND_FREQS, fi.fieldInfo("f5").indexOptions);
+ assertEquals(IndexOptions.DOCS_AND_FREQS, fi.fieldInfo("f5").getIndexOptions());
// docs/freqs + docs/freqs/pos = docs/freqs
- assertEquals(IndexOptions.DOCS_AND_FREQS, fi.fieldInfo("f6").indexOptions);
+ assertEquals(IndexOptions.DOCS_AND_FREQS, fi.fieldInfo("f6").getIndexOptions());
// docs/freqs/pos + docs = docs
- assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f7").indexOptions);
+ assertEquals(IndexOptions.DOCS_ONLY, fi.fieldInfo("f7").getIndexOptions());
// docs/freqs/pos + docs/freqs = docs/freqs
- assertEquals(IndexOptions.DOCS_AND_FREQS, fi.fieldInfo("f8").indexOptions);
+ assertEquals(IndexOptions.DOCS_AND_FREQS, fi.fieldInfo("f8").getIndexOptions());
// docs/freqs/pos + docs/freqs/pos = docs/freqs/pos
- assertEquals(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, fi.fieldInfo("f9").indexOptions);
+ assertEquals(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, fi.fieldInfo("f9").getIndexOptions());
reader.close();
ram.close();
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java Wed May 16 06:28:31 2012
@@ -95,8 +95,8 @@ public class TestOmitTf extends LuceneTe
SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram));
FieldInfos fi = reader.getFieldInfos();
- assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f1").indexOptions);
- assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").indexOptions);
+ assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f1").getIndexOptions());
+ assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").getIndexOptions());
reader.close();
ram.close();
@@ -147,8 +147,8 @@ public class TestOmitTf extends LuceneTe
SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram));
FieldInfos fi = reader.getFieldInfos();
- assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f1").indexOptions);
- assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").indexOptions);
+ assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f1").getIndexOptions());
+ assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").getIndexOptions());
reader.close();
ram.close();
@@ -190,8 +190,8 @@ public class TestOmitTf extends LuceneTe
SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram));
FieldInfos fi = reader.getFieldInfos();
- assertEquals("OmitTermFreqAndPositions field bit should not be set.", IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, fi.fieldInfo("f1").indexOptions);
- assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").indexOptions);
+ assertEquals("OmitTermFreqAndPositions field bit should not be set.", IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, fi.fieldInfo("f1").getIndexOptions());
+ assertEquals("OmitTermFreqAndPositions field bit should be set.", IndexOptions.DOCS_ONLY, fi.fieldInfo("f2").getIndexOptions());
reader.close();
ram.close();
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java Wed May 16 06:28:31 2012
@@ -113,9 +113,9 @@ public class TestPayloads extends Lucene
SegmentReader reader = getOnlySegmentReader(IndexReader.open(ram));
FieldInfos fi = reader.getFieldInfos();
- assertFalse("Payload field bit should not be set.", fi.fieldInfo("f1").storePayloads);
- assertTrue("Payload field bit should be set.", fi.fieldInfo("f2").storePayloads);
- assertFalse("Payload field bit should not be set.", fi.fieldInfo("f3").storePayloads);
+ assertFalse("Payload field bit should not be set.", fi.fieldInfo("f1").hasPayloads());
+ assertTrue("Payload field bit should be set.", fi.fieldInfo("f2").hasPayloads());
+ assertFalse("Payload field bit should not be set.", fi.fieldInfo("f3").hasPayloads());
reader.close();
// now we add another document which has payloads for field f3 and verify if the SegmentMerger
@@ -140,9 +140,9 @@ public class TestPayloads extends Lucene
reader = getOnlySegmentReader(IndexReader.open(ram));
fi = reader.getFieldInfos();
- assertFalse("Payload field bit should not be set.", fi.fieldInfo("f1").storePayloads);
- assertTrue("Payload field bit should be set.", fi.fieldInfo("f2").storePayloads);
- assertTrue("Payload field bit should be set.", fi.fieldInfo("f3").storePayloads);
+ assertFalse("Payload field bit should not be set.", fi.fieldInfo("f1").hasPayloads());
+ assertTrue("Payload field bit should be set.", fi.fieldInfo("f2").hasPayloads());
+ assertTrue("Payload field bit should be set.", fi.fieldInfo("f3").hasPayloads());
reader.close();
ram.close();
}
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java Wed May 16 06:28:31 2012
@@ -108,7 +108,7 @@ public class TestSegmentMerger extends L
int tvCount = 0;
for(FieldInfo fieldInfo : mergedReader.getFieldInfos()) {
- if (fieldInfo.storeTermVector) {
+ if (fieldInfo.hasVectors()) {
tvCount++;
}
}
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java Wed May 16 06:28:31 2012
@@ -84,14 +84,14 @@ public class TestSegmentReader extends L
for(FieldInfo fieldInfo : reader.getFieldInfos()) {
final String name = fieldInfo.name;
allFieldNames.add(name);
- if (fieldInfo.isIndexed) {
+ if (fieldInfo.isIndexed()) {
indexedFieldNames.add(name);
} else {
notIndexedFieldNames.add(name);
}
- if (fieldInfo.storeTermVector) {
+ if (fieldInfo.hasVectors()) {
tvFieldNames.add(name);
- } else if (fieldInfo.isIndexed) {
+ } else if (fieldInfo.isIndexed()) {
noTVFieldNames.add(name);
}
}
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java Wed May 16 06:28:31 2012
@@ -48,8 +48,7 @@ public class TestTermVectorsReader exten
private int[][] positions = new int[testTerms.length][];
private Directory dir;
private SegmentInfo seg;
- // nocommit: make a fieldInfos.empty for stuff like this?
- private FieldInfos fieldInfos = new MutableFieldInfos(new MutableFieldInfos.FieldNumberBiMap());
+ private FieldInfos fieldInfos = new ReadOnlyFieldInfos(new FieldInfo[0]);
private static int TERM_FREQ = 3;
private class TestToken implements Comparable<TestToken> {
Modified: lucene/dev/branches/lucene4055/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java (original)
+++ lucene/dev/branches/lucene4055/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java Wed May 16 06:28:31 2012
@@ -127,7 +127,7 @@ public abstract class BaseFragmentsBuild
@Override
public void stringField(FieldInfo fieldInfo, String value) throws IOException {
FieldType ft = new FieldType(TextField.TYPE_STORED);
- ft.setStoreTermVectors(fieldInfo.storeTermVector);
+ ft.setStoreTermVectors(fieldInfo.hasVectors());
fields.add(new Field(fieldInfo.name, value, ft));
}
Modified: lucene/dev/branches/lucene4055/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java (original)
+++ lucene/dev/branches/lucene4055/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java Wed May 16 06:28:31 2012
@@ -25,6 +25,8 @@ import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import java.util.SortedMap;
+import java.util.TreeMap;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
@@ -35,7 +37,7 @@ import org.apache.lucene.analysis.tokena
import org.apache.lucene.document.Document;
import org.apache.lucene.index.AtomicReader;
import org.apache.lucene.index.AtomicReaderContext;
-import org.apache.lucene.index.MutableFieldInfos;
+import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.Norm;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.DocsAndPositionsEnum;
@@ -49,6 +51,7 @@ import org.apache.lucene.index.StoredFie
import org.apache.lucene.index.TermState;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.index.FieldInfo.IndexOptions;
import org.apache.lucene.index.memory.MemoryIndexNormDocValues.SingleValueSource;
import org.apache.lucene.search.Collector;
import org.apache.lucene.search.IndexSearcher;
@@ -200,7 +203,7 @@ public class MemoryIndex {
private static final boolean DEBUG = false;
- private final MutableFieldInfos fieldInfos;
+ private final MemoryFieldInfos fieldInfos;
/**
* Sorts term entries into ascending order; also works for
@@ -236,8 +239,7 @@ public class MemoryIndex {
*/
protected MemoryIndex(boolean storeOffsets) {
this.stride = storeOffsets ? 3 : 1;
- // nocommit: this can probably have a much simpler implementation
- fieldInfos = new MutableFieldInfos();
+ fieldInfos = new MemoryFieldInfos();
}
/**
@@ -354,7 +356,7 @@ public class MemoryIndex {
int numOverlapTokens = 0;
int pos = -1;
- fieldInfos.addOrUpdate(fieldName, true);
+ fieldInfos.addOrUpdate(fieldName);
TermToBytesRefAttribute termAtt = stream.getAttribute(TermToBytesRefAttribute.class);
PositionIncrementAttribute posIncrAttribute = stream.addAttribute(PositionIncrementAttribute.class);
@@ -557,6 +559,45 @@ public class MemoryIndex {
///////////////////////////////////////////////////////////////////////////////
// Nested classes:
///////////////////////////////////////////////////////////////////////////////
+ private static final class MemoryFieldInfos extends FieldInfos {
+ private final SortedMap<Integer,FieldInfo> byNumber = new TreeMap<Integer,FieldInfo>();
+ private final HashMap<String,FieldInfo> byName = new HashMap<String,FieldInfo>();
+
+ @Override
+ public FieldInfos clone() {
+ return this; // I think this is ok here.
+ }
+
+ @Override
+ public FieldInfo fieldInfo(String fieldName) {
+ return byName.get(fieldName);
+ }
+
+ @Override
+ public FieldInfo fieldInfo(int fieldNumber) {
+ return byNumber.get(fieldNumber);
+ }
+
+ @Override
+ public Iterator<FieldInfo> iterator() {
+ return byNumber.values().iterator();
+ }
+
+ @Override
+ public int size() {
+ return byNumber.size();
+ }
+
+ public void addOrUpdate(String name) {
+ if (!byName.containsKey(name)) {
+ int number = byNumber.isEmpty() ? 0 : byNumber.lastKey() + 1;
+ FieldInfo info = new FieldInfo(name, true, number, false, false, false, IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, null, null);
+ byNumber.put(number, info);
+ byName.put(name, info);
+ }
+ }
+ }
+
/**
* Index data structure for a field; Contains the tokenized term texts and
* their positions.
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldInfosReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldInfosReader.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldInfosReader.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldInfosReader.java Wed May 16 06:28:31 2012
@@ -44,10 +44,6 @@ class PreFlexRWFieldInfosReader extends
public FieldInfos read(Directory directory, String segmentName, IOContext iocontext) throws IOException {
final String fileName = IndexFileNames.segmentFileName(segmentName, "", PreFlexRWFieldInfosWriter.FIELD_INFOS_EXTENSION);
IndexInput input = directory.openInput(fileName, iocontext);
-
- boolean hasVectors = false;
- boolean hasFreq = false;
- boolean hasProx = false;
try {
final int format = input.readVInt();
@@ -89,9 +85,6 @@ class PreFlexRWFieldInfosReader extends
if (indexOptions != IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) {
storePayloads = false;
}
- hasVectors |= storeTermVector;
- hasProx |= isIndexed && indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
- hasFreq |= isIndexed && indexOptions != IndexOptions.DOCS_ONLY;
Type normType = isIndexed && !omitNorms ? Type.FIXED_INTS_8 : null;
if (format == PreFlexRWFieldInfosWriter.FORMAT_PREFLEX_RW && normType != null) {
@@ -106,7 +99,7 @@ class PreFlexRWFieldInfosReader extends
if (input.getFilePointer() != input.length()) {
throw new CorruptIndexException("did not read all bytes from file \"" + fileName + "\": read " + input.getFilePointer() + " vs size " + input.length() + " (resource: " + input + ")");
}
- return new ReadOnlyFieldInfos(infos, hasFreq, hasProx, hasVectors);
+ return new ReadOnlyFieldInfos(infos);
} finally {
input.close();
}
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldInfosWriter.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldInfosWriter.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldInfosWriter.java Wed May 16 06:28:31 2012
@@ -62,15 +62,15 @@ class PreFlexRWFieldInfosWriter extends
output.writeVInt(FORMAT_PREFLEX_RW);
output.writeVInt(infos.size());
for (FieldInfo fi : infos) {
- assert fi.indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS || !fi.storePayloads;
+ assert fi.getIndexOptions() == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS || !fi.hasPayloads();
byte bits = 0x0;
- if (fi.isIndexed) bits |= IS_INDEXED;
- if (fi.storeTermVector) bits |= STORE_TERMVECTOR;
- if (fi.omitNorms) bits |= OMIT_NORMS;
- if (fi.storePayloads) bits |= STORE_PAYLOADS;
- if (fi.indexOptions == IndexOptions.DOCS_ONLY) {
+ if (fi.isIndexed()) bits |= IS_INDEXED;
+ if (fi.hasVectors()) bits |= STORE_TERMVECTOR;
+ if (fi.omitsNorms()) bits |= OMIT_NORMS;
+ if (fi.hasPayloads()) bits |= STORE_PAYLOADS;
+ if (fi.getIndexOptions() == IndexOptions.DOCS_ONLY) {
bits |= OMIT_TERM_FREQ_AND_POSITIONS;
- } else if (fi.indexOptions == IndexOptions.DOCS_AND_FREQS) {
+ } else if (fi.getIndexOptions() == IndexOptions.DOCS_AND_FREQS) {
bits |= OMIT_POSITIONS;
}
output.writeString(fi.name);
@@ -81,7 +81,7 @@ class PreFlexRWFieldInfosWriter extends
*/
output.writeInt(fi.number);
output.writeByte(bits);
- if (fi.isIndexed && !fi.omitNorms) {
+ if (fi.isIndexed() && !fi.omitsNorms()) {
// to allow null norm types we need to indicate if norms are written
// only in RW case
output.writeByte((byte) (fi.getNormType() == null ? 0 : 1));
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldsWriter.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldsWriter.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWFieldsWriter.java Wed May 16 06:28:31 2012
@@ -85,7 +85,7 @@ class PreFlexRWFieldsWriter extends Fiel
@Override
public TermsConsumer addField(FieldInfo field) throws IOException {
assert field.number != -1;
- if (field.indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0) {
+ if (field.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0) {
throw new UnsupportedOperationException("this codec cannot index offsets");
}
//System.out.println("w field=" + field.name + " storePayload=" + field.storePayloads + " number=" + field.number);
@@ -107,8 +107,8 @@ class PreFlexRWFieldsWriter extends Fiel
public PreFlexTermsWriter(FieldInfo fieldInfo) {
this.fieldInfo = fieldInfo;
- omitTF = fieldInfo.indexOptions == IndexOptions.DOCS_ONLY;
- storePayloads = fieldInfo.storePayloads;
+ omitTF = fieldInfo.getIndexOptions() == IndexOptions.DOCS_ONLY;
+ storePayloads = fieldInfo.hasPayloads();
}
private class PostingsWriter extends PostingsConsumer {
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWNormsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWNormsConsumer.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWNormsConsumer.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWNormsConsumer.java Wed May 16 06:28:31 2012
@@ -209,7 +209,7 @@ class PreFlexRWNormsConsumer extends Per
}
public void startField(FieldInfo info) throws IOException {
- assert info.omitNorms == false;
+ assert info.omitsNorms() == false;
normCount++;
}
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java Wed May 16 06:28:31 2012
@@ -197,7 +197,7 @@ public class RAMOnlyPostingsFormat exten
@Override
public TermsConsumer addField(FieldInfo field) {
- if (field.indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0) {
+ if (field.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0) {
throw new UnsupportedOperationException("this codec cannot index offsets");
}
RAMField ramField = new RAMField(field.name);
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java Wed May 16 06:28:31 2012
@@ -18,6 +18,7 @@ package org.apache.lucene.index;
*/
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Set;
import org.apache.lucene.index.FilterAtomicReader;
@@ -26,19 +27,19 @@ public final class FieldFilterAtomicRead
private final Set<String> fields;
private final boolean negate;
- // nocommit: make read only
- private final MutableFieldInfos fieldInfos;
+ private final FieldInfos fieldInfos;
public FieldFilterAtomicReader(AtomicReader in, Set<String> fields, boolean negate) {
super(in);
this.fields = fields;
this.negate = negate;
- this.fieldInfos = new MutableFieldInfos();
+ ArrayList<FieldInfo> filteredInfos = new ArrayList<FieldInfo>();
for (FieldInfo fi : in.getFieldInfos()) {
if (hasField(fi.name)) {
- fieldInfos.add(fi);
+ filteredInfos.add(fi);
}
}
+ fieldInfos = new ReadOnlyFieldInfos(filteredInfos.toArray(new FieldInfo[filteredInfos.size()]));
}
boolean hasField(String field) {
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/_TestUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/_TestUtil.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/_TestUtil.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/_TestUtil.java Wed May 16 06:28:31 2012
@@ -62,7 +62,6 @@ import org.apache.lucene.index.LogMergeP
import org.apache.lucene.index.MergePolicy;
import org.apache.lucene.index.MergeScheduler;
import org.apache.lucene.index.MultiFields;
-import org.apache.lucene.index.MutableFieldInfos;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.index.TieredMergePolicy;
@@ -679,14 +678,6 @@ public class _TestUtil {
}
}
- /** Adds field info for a Document. */
- // nocommit: what uses this?
- public static void add(Document doc, MutableFieldInfos fieldInfos) {
- for (IndexableField field : doc) {
- fieldInfos.addOrUpdate(field.name(), field.fieldType());
- }
- }
-
/**
* insecure, fast version of File.createTempFile
* uses Random instead of SecureRandom.
Modified: lucene/dev/branches/lucene4055/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java (original)
+++ lucene/dev/branches/lucene4055/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java Wed May 16 06:28:31 2012
@@ -452,11 +452,10 @@ public class SolrIndexSearcher extends I
@Override
public void stringField(FieldInfo fieldInfo, String value) throws IOException {
final FieldType ft = new FieldType(TextField.TYPE_STORED);
- ft.setStoreTermVectors(fieldInfo.storeTermVector);
- ft.setStoreTermVectors(fieldInfo.storeTermVector);
- ft.setIndexed(fieldInfo.isIndexed);
- ft.setOmitNorms(fieldInfo.omitNorms);
- ft.setIndexOptions(fieldInfo.indexOptions);
+ ft.setStoreTermVectors(fieldInfo.hasVectors());
+ ft.setIndexed(fieldInfo.isIndexed());
+ ft.setOmitNorms(fieldInfo.omitsNorms());
+ ft.setIndexOptions(fieldInfo.getIndexOptions());
doc.add(new Field(fieldInfo.name, value, ft));
}
@@ -464,7 +463,7 @@ public class SolrIndexSearcher extends I
public void intField(FieldInfo fieldInfo, int value) {
FieldType ft = new FieldType(IntField.TYPE);
ft.setStored(true);
- ft.setIndexed(fieldInfo.isIndexed);
+ ft.setIndexed(fieldInfo.isIndexed());
doc.add(new IntField(fieldInfo.name, value, ft));
}
@@ -472,7 +471,7 @@ public class SolrIndexSearcher extends I
public void longField(FieldInfo fieldInfo, long value) {
FieldType ft = new FieldType(LongField.TYPE);
ft.setStored(true);
- ft.setIndexed(fieldInfo.isIndexed);
+ ft.setIndexed(fieldInfo.isIndexed());
doc.add(new LongField(fieldInfo.name, value, ft));
}
@@ -480,7 +479,7 @@ public class SolrIndexSearcher extends I
public void floatField(FieldInfo fieldInfo, float value) {
FieldType ft = new FieldType(FloatField.TYPE);
ft.setStored(true);
- ft.setIndexed(fieldInfo.isIndexed);
+ ft.setIndexed(fieldInfo.isIndexed());
doc.add(new FloatField(fieldInfo.name, value, ft));
}
@@ -488,7 +487,7 @@ public class SolrIndexSearcher extends I
public void doubleField(FieldInfo fieldInfo, double value) {
FieldType ft = new FieldType(DoubleField.TYPE);
ft.setStored(true);
- ft.setIndexed(fieldInfo.isIndexed);
+ ft.setIndexed(fieldInfo.isIndexed());
doc.add(new DoubleField(fieldInfo.name, value, ft));
}
}
Modified: lucene/dev/branches/lucene4055/solr/core/src/test/org/apache/solr/search/TestDocSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/solr/core/src/test/org/apache/solr/search/TestDocSet.java?rev=1339025&r1=1339024&r2=1339025&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/solr/core/src/test/org/apache/solr/search/TestDocSet.java (original)
+++ lucene/dev/branches/lucene4055/solr/core/src/test/org/apache/solr/search/TestDocSet.java Wed May 16 06:28:31 2012
@@ -367,8 +367,7 @@ public class TestDocSet extends LuceneTe
@Override
public FieldInfos getFieldInfos() {
- // nocommit
- return new ReadOnlyFieldInfos(new FieldInfo[0], false, false, false);
+ return new ReadOnlyFieldInfos(new FieldInfo[0]);
}
@Override