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 2011/08/30 01:13:23 UTC
svn commit: r1163047 [15/15] - in /lucene/dev/branches/flexscoring: ./
dev-tools/idea/lucene/contrib/ lucene/ lucene/contrib/
lucene/contrib/demo/src/java/org/apache/lucene/demo/
lucene/contrib/demo/src/java/org/apache/lucene/demo/xmlparser/ lucene/con...
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/CollationField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/CollationField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/CollationField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/CollationField.java Mon Aug 29 23:13:10 2011
@@ -31,7 +31,7 @@ import org.apache.lucene.analysis.Analyz
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute;
import org.apache.lucene.collation.CollationKeyAnalyzer;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.TermRangeQuery;
@@ -185,7 +185,7 @@ public class CollationField extends Fiel
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
writer.writeStr(name, f.stringValue(), true);
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/DateField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/DateField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/DateField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/DateField.java Mon Aug 29 23:13:10 2011
@@ -17,15 +17,15 @@
package org.apache.solr.schema;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.SortField;
+import org.apache.lucene.search.TermRangeQuery;
import org.apache.lucene.queries.function.DocValues;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.docvalues.StringIndexDocValues;
import org.apache.lucene.queries.function.valuesource.FieldCacheSource;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.SortField;
-import org.apache.lucene.search.TermRangeQuery;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
import org.apache.solr.common.SolrException;
@@ -186,7 +186,7 @@ public class DateField extends FieldType
}
}
- public Fieldable createField(SchemaField field, Object value, float boost) {
+ public IndexableField createField(SchemaField field, Object value, float boost) {
// Convert to a string before indexing
if(value instanceof Date) {
value = toInternal( (Date)value ) + Z;
@@ -211,7 +211,7 @@ public class DateField extends FieldType
}
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return indexedToReadable(f.stringValue());
}
@@ -220,7 +220,7 @@ public class DateField extends FieldType
}
@Override
- public Date toObject(Fieldable f) {
+ public Date toObject(IndexableField f) {
try {
return parseDate( toExternal(f) );
}
@@ -235,7 +235,7 @@ public class DateField extends FieldType
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
writer.writeDate(name, toExternal(f));
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/DoubleField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/DoubleField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/DoubleField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/DoubleField.java Mon Aug 29 23:13:10 2011
@@ -17,9 +17,9 @@
package org.apache.solr.schema;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.DoubleFieldSource;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.DoubleValuesCreator;
@@ -52,7 +52,7 @@ public class DoubleField extends FieldTy
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
String s = f.stringValue();
// these values may be from a legacy lucene index, which may
@@ -78,7 +78,7 @@ public class DoubleField extends FieldTy
@Override
- public Double toObject(Fieldable f) {
+ public Double toObject(IndexableField f) {
return Double.valueOf(toExternal(f));
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ExternalFileField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ExternalFileField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ExternalFileField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ExternalFileField.java Mon Aug 29 23:13:10 2011
@@ -18,7 +18,7 @@ package org.apache.solr.schema;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.search.SortField;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.search.function.FileFloatSource;
import org.apache.solr.search.QParser;
import org.apache.solr.response.TextResponseWriter;
@@ -76,7 +76,7 @@ public class ExternalFileField extends F
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
throw new UnsupportedOperationException();
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/FieldType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/FieldType.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/FieldType.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/FieldType.java Mon Aug 29 23:13:10 2011
@@ -22,8 +22,8 @@ import org.apache.lucene.analysis.Tokeni
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.Term;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.search.Query;
@@ -91,7 +91,7 @@ public abstract class FieldType extends
}
/**
- * A "polyField" is a FieldType that can produce more than one Fieldable instance for a single value, via the {@link #createFields(org.apache.solr.schema.SchemaField, Object, float)} method. This is useful
+ * A "polyField" is a FieldType that can produce more than one IndexableField instance for a single value, via the {@link #createFields(org.apache.solr.schema.SchemaField, Object, float)} method. This is useful
* when hiding the implementation details of a field from the Solr end user. For instance, a spatial point may be represented by multiple different fields.
* @return true if the {@link #createFields(org.apache.solr.schema.SchemaField, Object, float)} method may return more than one field
*/
@@ -235,7 +235,7 @@ public abstract class FieldType extends
*
*
*/
- public Fieldable createField(SchemaField field, Object value, float boost) {
+ public IndexableField createField(SchemaField field, Object value, float boost) {
if (!field.indexed() && !field.stored()) {
if (log.isTraceEnabled())
log.trace("Ignoring unindexed/unstored field: " + field);
@@ -250,78 +250,47 @@ public abstract class FieldType extends
}
if (val==null) return null;
- return createField(field.getName(), val,
- getFieldStore(field, val), getFieldIndex(field, val),
- getFieldTermVec(field, val), field.omitNorms(),
- getIndexOptions(field, val), boost);
+ org.apache.lucene.document.FieldType newType = new org.apache.lucene.document.FieldType();
+ newType.setIndexed(field.indexed());
+ newType.setTokenized(field.isTokenized());
+ newType.setStored(field.stored());
+ newType.setOmitNorms(field.omitNorms());
+ newType.setIndexOptions(getIndexOptions(field, val));
+ newType.setStoreTermVectors(field.storeTermVector());
+ newType.setStoreTermVectorOffsets(field.storeTermOffsets());
+ newType.setStoreTermVectorPositions(field.storeTermPositions());
+
+ return createField(field.getName(), val, newType, boost);
}
-
/**
* Create the field from native Lucene parts. Mostly intended for use by FieldTypes outputing multiple
* Fields per SchemaField
* @param name The name of the field
* @param val The _internal_ value to index
- * @param storage {@link org.apache.lucene.document.Field.Store}
- * @param index {@link org.apache.lucene.document.Field.Index}
- * @param vec {@link org.apache.lucene.document.Field.TermVector}
- * @param omitNorms true if norms should be omitted
- * @param options options for what should be indexed in the postings
+ * @param type {@link org.apache.lucene.document.FieldType}
* @param boost The boost value
- * @return the {@link org.apache.lucene.document.Fieldable}.
+ * @return the {@link org.apache.lucene.index.IndexableField}.
*/
- protected Fieldable createField(String name, String val, Field.Store storage, Field.Index index,
- Field.TermVector vec, boolean omitNorms, IndexOptions options, float boost){
- Field f = new Field(name,
- val,
- storage,
- index,
- vec);
- if (index.isIndexed()) {
- f.setOmitNorms(omitNorms);
- f.setIndexOptions(options);
- f.setBoost(boost);
- }
+ protected IndexableField createField(String name, String val, org.apache.lucene.document.FieldType type, float boost){
+ Field f = new Field(name, type, val);
+ f.setBoost(boost);
return f;
}
/**
- * Given a {@link org.apache.solr.schema.SchemaField}, create one or more {@link org.apache.lucene.document.Fieldable} instances
+ * Given a {@link org.apache.solr.schema.SchemaField}, create one or more {@link org.apache.lucene.index.IndexableField} instances
* @param field the {@link org.apache.solr.schema.SchemaField}
* @param value The value to add to the field
* @param boost The boost to apply
- * @return An array of {@link org.apache.lucene.document.Fieldable}
+ * @return An array of {@link org.apache.lucene.index.IndexableField}
*
* @see #createField(SchemaField, Object, float)
* @see #isPolyField()
*/
- public Fieldable[] createFields(SchemaField field, Object value, float boost) {
- Fieldable f = createField( field, value, boost);
- return f==null ? new Fieldable[]{} : new Fieldable[]{f};
- }
-
- /* Helpers for field construction */
- protected Field.TermVector getFieldTermVec(SchemaField field,
- String internalVal) {
- Field.TermVector ftv = Field.TermVector.NO;
- if (field.storeTermPositions() && field.storeTermOffsets())
- ftv = Field.TermVector.WITH_POSITIONS_OFFSETS;
- else if (field.storeTermPositions())
- ftv = Field.TermVector.WITH_POSITIONS;
- else if (field.storeTermOffsets())
- ftv = Field.TermVector.WITH_OFFSETS;
- else if (field.storeTermVector())
- ftv = Field.TermVector.YES;
- return ftv;
- }
- protected Field.Store getFieldStore(SchemaField field,
- String internalVal) {
- return field.stored() ? Field.Store.YES : Field.Store.NO;
- }
- protected Field.Index getFieldIndex(SchemaField field,
- String internalVal) {
- return field.indexed() ? (isTokenized() ? Field.Index.ANALYZED :
- Field.Index.NOT_ANALYZED) : Field.Index.NO;
+ public IndexableField[] createFields(SchemaField field, Object value, float boost) {
+ IndexableField f = createField( field, value, boost);
+ return f==null ? new IndexableField[]{} : new IndexableField[]{f};
}
protected IndexOptions getIndexOptions(SchemaField field,
String internalVal) {
@@ -350,9 +319,9 @@ public abstract class FieldType extends
* value
* @see #toInternal
*/
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
// currently used in writing XML of the search result (but perhaps
- // a more efficient toXML(Fieldable f, Writer w) should be used
+ // a more efficient toXML(IndexableField f, Writer w) should be used
// in the future.
return f.stringValue();
}
@@ -362,14 +331,14 @@ public abstract class FieldType extends
* @see #toInternal
* @since solr 1.3
*/
- public Object toObject(Fieldable f) {
+ public Object toObject(IndexableField f) {
return toExternal(f); // by default use the string
}
public Object toObject(SchemaField sf, BytesRef term) {
final CharsRef ref = new CharsRef(term.length);
indexedToReadable(term, ref);
- final Fieldable f = createField(sf, ref.toString(), 1.0f);
+ final IndexableField f = createField(sf, ref.toString(), 1.0f);
return toObject(f);
}
@@ -385,12 +354,12 @@ public abstract class FieldType extends
}
/** Given the stored field, return the human readable representation */
- public String storedToReadable(Fieldable f) {
+ public String storedToReadable(IndexableField f) {
return toExternal(f);
}
/** Given the stored field, return the indexed form */
- public String storedToIndexed(Fieldable f) {
+ public String storedToIndexed(IndexableField f) {
// right now, the transformation of single valued fields like SortableInt
// is done when the Field is created, not at analysis time... this means
// that the indexed form is the same as the stored field form.
@@ -569,7 +538,7 @@ public abstract class FieldType extends
/**
* calls back to TextResponseWriter to write the field value
*/
- public abstract void write(TextResponseWriter writer, String name, Fieldable f) throws IOException;
+ public abstract void write(TextResponseWriter writer, String name, IndexableField f) throws IOException;
/**
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/FloatField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/FloatField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/FloatField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/FloatField.java Mon Aug 29 23:13:10 2011
@@ -23,7 +23,7 @@ import org.apache.lucene.search.SortFiel
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.FloatValuesCreator;
import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.response.TextResponseWriter;
import java.util.Map;
@@ -50,7 +50,7 @@ public class FloatField extends FieldTyp
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
String s = f.stringValue();
// these values may be from a legacy lucene index, which may
@@ -75,7 +75,7 @@ public class FloatField extends FieldTyp
}
@Override
- public Float toObject(Fieldable f) {
+ public Float toObject(IndexableField f) {
return Float.valueOf( toExternal(f) );
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/GeoHashField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/GeoHashField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/GeoHashField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/GeoHashField.java Mon Aug 29 23:13:10 2011
@@ -17,9 +17,9 @@
package org.apache.solr.schema;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.LiteralValueSource;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.SortField;
import org.apache.lucene.spatial.geohash.GeoHashUtils;
@@ -68,14 +68,14 @@ public class GeoHashField extends FieldT
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f)
+ public void write(TextResponseWriter writer, String name, IndexableField f)
throws IOException {
writer.writeStr(name, toExternal(f), false);
}
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
double[] latLon = GeoHashUtils.decode(f.stringValue());
return latLon[0] + "," + latLon[1];
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/IndexSchema.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/IndexSchema.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/IndexSchema.java Mon Aug 29 23:13:10 2011
@@ -19,8 +19,7 @@ package org.apache.solr.schema;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.document.Fieldable;
-import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.similarities.DefaultSimilarity;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.search.similarities.SimilarityProvider;
@@ -34,7 +33,6 @@ import org.apache.solr.common.util.Syste
import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.Config;
import org.apache.solr.core.SolrResourceLoader;
-import org.apache.solr.search.SolrQueryParser;
import org.apache.solr.search.SolrSimilarityProvider;
import org.apache.solr.util.plugin.SolrCoreAware;
import org.w3c.dom.*;
@@ -43,8 +41,6 @@ import org.xml.sax.InputSource;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-import java.io.InputStream;
import java.io.Reader;
import java.io.IOException;
import java.util.*;
@@ -258,8 +254,8 @@ public final class IndexSchema {
* @return null if this schema has no unique key field
* @see #printableUniqueKey
*/
- public Fieldable getUniqueKeyField(org.apache.lucene.document.Document doc) {
- return doc.getFieldable(uniqueKeyFieldName); // this should return null if name is null
+ public IndexableField getUniqueKeyField(org.apache.lucene.document.Document doc) {
+ return doc.getField(uniqueKeyFieldName); // this should return null if name is null
}
/**
@@ -268,8 +264,8 @@ public final class IndexSchema {
* @return null if this schema has no unique key field
*/
public String printableUniqueKey(org.apache.lucene.document.Document doc) {
- Fieldable f = doc.getFieldable(uniqueKeyFieldName);
- return f==null ? null : uniqueKeyFieldType.toExternal(f);
+ IndexableField f = doc.getField(uniqueKeyFieldName);
+ return f==null ? null : uniqueKeyFieldType.toExternal(f);
}
private SchemaField getIndexedField(String fname) {
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/IntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/IntField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/IntField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/IntField.java Mon Aug 29 23:13:10 2011
@@ -23,7 +23,7 @@ import org.apache.lucene.search.SortFiel
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.IntValuesCreator;
import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.response.TextResponseWriter;
import java.util.Map;
@@ -50,7 +50,7 @@ public class IntField extends FieldType
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
String s = f.stringValue();
// these values may be from a legacy lucene index, which may
@@ -75,7 +75,7 @@ public class IntField extends FieldType
}
@Override
- public Integer toObject(Fieldable f) {
+ public Integer toObject(IndexableField f) {
return Integer.valueOf( toExternal(f) );
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/LatLonType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/LatLonType.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/LatLonType.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/LatLonType.java Mon Aug 29 23:13:10 2011
@@ -16,9 +16,8 @@ package org.apache.solr.schema;
* limitations under the License.
*/
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
-import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.queries.function.DocValues;
@@ -55,10 +54,10 @@ public class LatLonType extends Abstract
}
@Override
- public Fieldable[] createFields(SchemaField field, Object value, float boost) {
+ public IndexableField[] createFields(SchemaField field, Object value, float boost) {
String externalVal = value.toString();
//we could have tileDiff + 3 fields (two for the lat/lon, one for storage)
- Fieldable[] f = new Fieldable[(field.indexed() ? 2 : 0) + (field.stored() ? 1 : 0)];
+ IndexableField[] f = new IndexableField[(field.indexed() ? 2 : 0) + (field.stored() ? 1 : 0)];
if (field.indexed()) {
int i = 0;
double[] latLon = new double[0];
@@ -76,9 +75,9 @@ public class LatLonType extends Abstract
}
if (field.stored()) {
- f[f.length - 1] = createField(field.getName(), externalVal,
- getFieldStore(field, externalVal), Field.Index.NO, Field.TermVector.NO,
- false, IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, boost);
+ FieldType customType = new FieldType();
+ customType.setStored(true);
+ f[f.length - 1] = createField(field.getName(), externalVal, customType, boost);
}
return f;
}
@@ -268,7 +267,7 @@ public class LatLonType extends Abstract
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
writer.writeStr(name, f.stringValue(), false);
}
@@ -282,7 +281,7 @@ public class LatLonType extends Abstract
//It never makes sense to create a single field, so make it impossible to happen
@Override
- public Fieldable createField(SchemaField field, Object value, float boost) {
+ public IndexableField createField(SchemaField field, Object value, float boost) {
throw new UnsupportedOperationException("LatLonType uses multiple fields. field=" + field.getName());
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/LongField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/LongField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/LongField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/LongField.java Mon Aug 29 23:13:10 2011
@@ -17,9 +17,9 @@
package org.apache.solr.schema;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.LongFieldSource;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.LongValuesCreator;
@@ -52,7 +52,7 @@ public class LongField extends FieldType
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
String s = f.stringValue();
// these values may be from a legacy lucene index, which may
@@ -77,7 +77,7 @@ public class LongField extends FieldType
}
@Override
- public Long toObject(Fieldable f) {
+ public Long toObject(IndexableField f) {
return Long.valueOf( toExternal(f) );
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/PointType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/PointType.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/PointType.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/PointType.java Mon Aug 29 23:13:10 2011
@@ -17,11 +17,9 @@
package org.apache.solr.schema;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
-import org.apache.lucene.index.FieldInfo.IndexOptions;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.VectorValueSource;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.Query;
@@ -69,7 +67,7 @@ public class PointType extends Coordinat
}
@Override
- public Fieldable[] createFields(SchemaField field, Object value, float boost) {
+ public IndexableField[] createFields(SchemaField field, Object value, float boost) {
String externalVal = value.toString();
String[] point = new String[0];
try {
@@ -79,7 +77,7 @@ public class PointType extends Coordinat
}
// TODO: this doesn't currently support polyFields as sub-field types
- Fieldable[] f = new Fieldable[ (field.indexed() ? dimension : 0) + (field.stored() ? 1 : 0) ];
+ IndexableField[] f = new IndexableField[ (field.indexed() ? dimension : 0) + (field.stored() ? 1 : 0) ];
if (field.indexed()) {
for (int i=0; i<dimension; i++) {
@@ -89,9 +87,9 @@ public class PointType extends Coordinat
if (field.stored()) {
String storedVal = externalVal; // normalize or not?
- f[f.length - 1] = createField(field.getName(), storedVal,
- getFieldStore(field, storedVal), Field.Index.NO, Field.TermVector.NO,
- false, IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, boost);
+ org.apache.lucene.document.FieldType customType = new org.apache.lucene.document.FieldType();
+ customType.setStored(true);
+ f[f.length - 1] = createField(field.getName(), storedVal, customType, boost);
}
return f;
@@ -114,12 +112,12 @@ public class PointType extends Coordinat
*
*/
@Override
- public Fieldable createField(SchemaField field, Object value, float boost) {
+ public IndexableField createField(SchemaField field, Object value, float boost) {
throw new UnsupportedOperationException("PointType uses multiple fields. field=" + field.getName());
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
writer.writeStr(name, f.stringValue(), false);
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/RandomSortField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/RandomSortField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/RandomSortField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/RandomSortField.java Mon Aug 29 23:13:10 2011
@@ -20,7 +20,7 @@ package org.apache.solr.schema;
import java.io.IOException;
import java.util.Map;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.queries.function.DocValues;
@@ -97,7 +97,7 @@ public class RandomSortField extends Fie
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException { }
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException { }
private static FieldComparatorSource randomComparatorSource = new FieldComparatorSource() {
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SchemaField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SchemaField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SchemaField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SchemaField.java Mon Aug 29 23:13:10 2011
@@ -18,8 +18,7 @@
package org.apache.solr.schema;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrException.ErrorCode;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.SortField;
import org.apache.solr.search.QParser;
@@ -99,11 +98,11 @@ public final class SchemaField extends F
boolean isBinary() { return (properties & BINARY)!=0; }
- public Fieldable createField(Object val, float boost) {
+ public IndexableField createField(Object val, float boost) {
return type.createField(this,val,boost);
}
- public Fieldable[] createFields(Object val, float boost) {
+ public IndexableField[] createFields(Object val, float boost) {
return type.createFields(this,val,boost);
}
@@ -125,7 +124,7 @@ public final class SchemaField extends F
+ "}";
}
- public void write(TextResponseWriter writer, String name, Fieldable val) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField val) throws IOException {
// name is passed in because it may be null if name should not be used.
type.write(writer,name,val);
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ShortField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ShortField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ShortField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ShortField.java Mon Aug 29 23:13:10 2011
@@ -16,9 +16,9 @@ package org.apache.solr.schema;
* limitations under the License.
*/
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.ShortFieldSource;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.cache.CachedArrayCreator;
import org.apache.lucene.search.cache.ShortValuesCreator;
@@ -55,7 +55,7 @@ public class ShortField extends FieldTyp
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
String s = f.stringValue();
// these values may be from a legacy lucene index, which may
@@ -80,7 +80,7 @@ public class ShortField extends FieldTyp
}
@Override
- public Short toObject(Fieldable f) {
+ public Short toObject(IndexableField f) {
return Short.valueOf(toExternal(f));
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java Mon Aug 29 23:13:10 2011
@@ -27,8 +27,8 @@ import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.mutable.MutableValue;
import org.apache.lucene.util.mutable.MutableValueDouble;
import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.util.NumberUtils;
import org.apache.solr.response.TextResponseWriter;
@@ -62,12 +62,12 @@ public class SortableDoubleField extends
}
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return indexedToReadable(f.stringValue());
}
@Override
- public Double toObject(Fieldable f) {
+ public Double toObject(IndexableField f) {
return NumberUtils.SortableStr2double(f.stringValue());
}
@@ -86,7 +86,7 @@ public class SortableDoubleField extends
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
String sval = f.stringValue();
writer.writeDouble(name, NumberUtils.SortableStr2double(sval));
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableFloatField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableFloatField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableFloatField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableFloatField.java Mon Aug 29 23:13:10 2011
@@ -27,8 +27,8 @@ import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.mutable.MutableValue;
import org.apache.lucene.util.mutable.MutableValueFloat;
import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.util.NumberUtils;
import org.apache.solr.response.TextResponseWriter;
@@ -62,12 +62,12 @@ public class SortableFloatField extends
}
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return indexedToReadable(f.stringValue());
}
@Override
- public Float toObject(Fieldable f) {
+ public Float toObject(IndexableField f) {
return NumberUtils.SortableStr2float(f.stringValue());
}
@@ -84,7 +84,7 @@ public class SortableFloatField extends
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
String sval = f.stringValue();
writer.writeFloat(name, NumberUtils.SortableStr2float(sval));
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableIntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableIntField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableIntField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableIntField.java Mon Aug 29 23:13:10 2011
@@ -27,8 +27,8 @@ import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.mutable.MutableValue;
import org.apache.lucene.util.mutable.MutableValueInt;
import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.util.NumberUtils;
import org.apache.solr.response.TextResponseWriter;
@@ -65,7 +65,7 @@ public class SortableIntField extends Fi
}
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return indexedToReadable(f.stringValue());
}
@@ -82,12 +82,12 @@ public class SortableIntField extends Fi
}
@Override
- public Integer toObject(Fieldable f) {
+ public Integer toObject(IndexableField f) {
return NumberUtils.SortableStr2int(f.stringValue(), 0, 3);
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
String sval = f.stringValue();
writer.writeInt(name, NumberUtils.SortableStr2int(sval,0,sval.length()));
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableLongField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableLongField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableLongField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/SortableLongField.java Mon Aug 29 23:13:10 2011
@@ -27,8 +27,8 @@ import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.mutable.MutableValue;
import org.apache.lucene.util.mutable.MutableValueLong;
import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.util.NumberUtils;
import org.apache.solr.response.TextResponseWriter;
@@ -72,19 +72,19 @@ public class SortableLongField extends F
charsRef.copy(indexedToReadable, 0, indexedToReadable.length);
return charsRef;
}
-
+
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return indexedToReadable(f.stringValue());
}
@Override
- public Long toObject(Fieldable f) {
+ public Long toObject(IndexableField f) {
return NumberUtils.SortableStr2long(f.stringValue(),0,5);
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
String sval = f.stringValue();
writer.writeLong(name, NumberUtils.SortableStr2long(sval,0,sval.length()));
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/StrField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/StrField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/StrField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/StrField.java Mon Aug 29 23:13:10 2011
@@ -19,7 +19,7 @@ package org.apache.solr.schema;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.search.SortField;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.response.TextResponseWriter;
import org.apache.solr.search.QParser;
@@ -41,7 +41,7 @@ public class StrField extends FieldType
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
writer.writeStr(name, f.stringValue(), true);
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TextField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TextField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TextField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TextField.java Mon Aug 29 23:13:10 2011
@@ -24,7 +24,7 @@ import org.apache.lucene.search.TermQuer
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.MultiPhraseQuery;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.Term;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
@@ -74,7 +74,7 @@ public class TextField extends FieldType
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
writer.writeStr(name, f.stringValue(), true);
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TrieDateField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TrieDateField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TrieDateField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TrieDateField.java Mon Aug 29 23:13:10 2011
@@ -20,7 +20,7 @@ package org.apache.solr.schema;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.solr.search.QParser;
import org.apache.solr.response.TextResponseWriter;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.NumericRangeQuery;
@@ -45,7 +45,7 @@ public class TrieDateField extends DateF
}
@Override
- public Date toObject(Fieldable f) {
+ public Date toObject(IndexableField f) {
return (Date) wrappedField.toObject(f);
}
@@ -73,7 +73,7 @@ public class TrieDateField extends DateF
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
wrappedField.write(writer, name, f);
}
@@ -88,7 +88,7 @@ public class TrieDateField extends DateF
}
@Override
- public String storedToReadable(Fieldable f) {
+ public String storedToReadable(IndexableField f) {
return wrappedField.storedToReadable(f);
}
@@ -103,7 +103,7 @@ public class TrieDateField extends DateF
}
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return wrappedField.toExternal(f);
}
@@ -118,12 +118,12 @@ public class TrieDateField extends DateF
}
@Override
- public String storedToIndexed(Fieldable f) {
+ public String storedToIndexed(IndexableField f) {
return wrappedField.storedToIndexed(f);
}
@Override
- public Fieldable createField(SchemaField field, Object value, float boost) {
+ public IndexableField createField(SchemaField field, Object value, float boost) {
return wrappedField.createField(field, value, boost);
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TrieField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TrieField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TrieField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/TrieField.java Mon Aug 29 23:13:10 2011
@@ -16,18 +16,16 @@
*/
package org.apache.solr.schema;
-import org.apache.lucene.document.Fieldable;
-import org.apache.lucene.document.Field;
import org.apache.lucene.document.NumericField;
-import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.search.*;
+import org.apache.lucene.search.cache.CachedArrayCreator;
+import org.apache.lucene.search.cache.DoubleValuesCreator;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.DoubleFieldSource;
import org.apache.lucene.queries.function.valuesource.FloatFieldSource;
import org.apache.lucene.queries.function.valuesource.IntFieldSource;
import org.apache.lucene.queries.function.valuesource.LongFieldSource;
-import org.apache.lucene.search.*;
-import org.apache.lucene.search.cache.CachedArrayCreator;
-import org.apache.lucene.search.cache.DoubleValuesCreator;
import org.apache.lucene.search.cache.FloatValuesCreator;
import org.apache.lucene.search.cache.IntValuesCreator;
import org.apache.lucene.search.cache.LongValuesCreator;
@@ -108,26 +106,26 @@ public class TrieField extends FieldType
}
@Override
- public Object toObject(Fieldable f) {
+ public Object toObject(IndexableField f) {
if (f instanceof NumericField) {
- final Number val = ((NumericField) f).getNumericValue();
+ final Number val = ((NumericField) f).numericValue();
if (val==null) return badFieldString(f);
return (type == TrieTypes.DATE) ? new Date(val.longValue()) : val;
} else {
// the following code is "deprecated" and only to support pre-3.2 indexes using the old BinaryField encoding:
- final byte[] arr = f.getBinaryValue();
- if (arr==null) return badFieldString(f);
+ final BytesRef bytes = f.binaryValue();
+ if (bytes==null) return badFieldString(f);
switch (type) {
case INTEGER:
- return toInt(arr);
+ return toInt(bytes.bytes, bytes.offset);
case FLOAT:
- return Float.intBitsToFloat(toInt(arr));
+ return Float.intBitsToFloat(toInt(bytes.bytes, bytes.offset));
case LONG:
- return toLong(arr);
+ return toLong(bytes.bytes, bytes.offset);
case DOUBLE:
- return Double.longBitsToDouble(toLong(arr));
+ return Double.longBitsToDouble(toLong(bytes.bytes, bytes.offset));
case DATE:
- return new Date(toLong(arr));
+ return new Date(toLong(bytes.bytes, bytes.offset));
default:
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Unknown type for trie field: " + f.name());
}
@@ -212,7 +210,7 @@ public class TrieField extends FieldType
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
+ public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException {
writer.writeVal(name, toObject(f));
}
@@ -283,19 +281,19 @@ public class TrieField extends FieldType
}
@Deprecated
- static int toInt(byte[] arr) {
- return (arr[0]<<24) | ((arr[1]&0xff)<<16) | ((arr[2]&0xff)<<8) | (arr[3]&0xff);
+ static int toInt(byte[] arr, int offset) {
+ return (arr[offset]<<24) | ((arr[offset+1]&0xff)<<16) | ((arr[offset+2]&0xff)<<8) | (arr[offset+3]&0xff);
}
@Deprecated
- static long toLong(byte[] arr) {
- int high = (arr[0]<<24) | ((arr[1]&0xff)<<16) | ((arr[2]&0xff)<<8) | (arr[3]&0xff);
- int low = (arr[4]<<24) | ((arr[5]&0xff)<<16) | ((arr[6]&0xff)<<8) | (arr[7]&0xff);
+ static long toLong(byte[] arr, int offset) {
+ int high = (arr[offset]<<24) | ((arr[offset+1]&0xff)<<16) | ((arr[offset+2]&0xff)<<8) | (arr[offset+3]&0xff);
+ int low = (arr[offset+4]<<24) | ((arr[offset+5]&0xff)<<16) | ((arr[offset+6]&0xff)<<8) | (arr[offset+7]&0xff);
return (((long)high)<<32) | (low&0x0ffffffffL);
}
@Override
- public String storedToReadable(Fieldable f) {
+ public String storedToReadable(IndexableField f) {
return toExternal(f);
}
@@ -336,14 +334,13 @@ public class TrieField extends FieldType
return readableToIndexed(val);
}
-
- static String badFieldString(Fieldable f) {
+ static String badFieldString(IndexableField f) {
String s = f.stringValue();
return "ERROR:SCHEMA-INDEX-MISMATCH,stringValue="+s;
}
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return (type == TrieTypes.DATE)
? dateField.toExternal((Date) toObject(f))
: toObject(f).toString();
@@ -413,10 +410,10 @@ public class TrieField extends FieldType
}
@Override
- public String storedToIndexed(Fieldable f) {
+ public String storedToIndexed(IndexableField f) {
final BytesRef bytes = new BytesRef(NumericUtils.BUF_SIZE_LONG);
- if (f instanceof NumericField) {
- final Number val = ((NumericField) f).getNumericValue();
+ if (f instanceof org.apache.lucene.document.NumericField) {
+ final Number val = ((org.apache.lucene.document.NumericField) f).numericValue();
if (val==null)
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Invalid field contents: "+f.name());
switch (type) {
@@ -438,31 +435,31 @@ public class TrieField extends FieldType
}
} else {
// the following code is "deprecated" and only to support pre-3.2 indexes using the old BinaryField encoding:
- final byte[] arr = f.getBinaryValue();
- if (arr==null)
+ final BytesRef bytesRef = f.binaryValue();
+ if (bytesRef==null)
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Invalid field contents: "+f.name());
switch (type) {
case INTEGER:
- NumericUtils.intToPrefixCoded(toInt(arr), 0, bytes);
+ NumericUtils.intToPrefixCoded(toInt(bytesRef.bytes, bytesRef.offset), 0, bytes);
break;
case FLOAT: {
// WARNING: Code Duplication! Keep in sync with o.a.l.util.NumericUtils!
// copied from NumericUtils to not convert to/from float two times
// code in next 2 lines is identical to: int v = NumericUtils.floatToSortableInt(Float.intBitsToFloat(toInt(arr)));
- int v = toInt(arr);
+ int v = toInt(bytesRef.bytes, bytesRef.offset);
if (v<0) v ^= 0x7fffffff;
NumericUtils.intToPrefixCoded(v, 0, bytes);
break;
}
case LONG: //fallthrough!
case DATE:
- NumericUtils.longToPrefixCoded(toLong(arr), 0, bytes);
+ NumericUtils.longToPrefixCoded(toLong(bytesRef.bytes, bytesRef.offset), 0, bytes);
break;
case DOUBLE: {
// WARNING: Code Duplication! Keep in sync with o.a.l.util.NumericUtils!
// copied from NumericUtils to not convert to/from double two times
// code in next 2 lines is identical to: long v = NumericUtils.doubleToSortableLong(Double.longBitsToDouble(toLong(arr)));
- long v = toLong(arr);
+ long v = toLong(bytesRef.bytes, bytesRef.offset);
if (v<0) v ^= 0x7fffffffffffffffL;
NumericUtils.longToPrefixCoded(v, 0, bytes);
break;
@@ -473,9 +470,9 @@ public class TrieField extends FieldType
}
return bytes.utf8ToString();
}
-
+
@Override
- public Fieldable createField(SchemaField field, Object value, float boost) {
+ public IndexableField createField(SchemaField field, Object value, float boost) {
boolean indexed = field.indexed();
boolean stored = field.stored();
@@ -484,8 +481,15 @@ public class TrieField extends FieldType
log.trace("Ignoring unindexed/unstored field: " + field);
return null;
}
-
- final NumericField f = new NumericField(field.getName(), precisionStep, stored ? Field.Store.YES : Field.Store.NO, indexed);
+
+ org.apache.lucene.document.FieldType ft = new org.apache.lucene.document.FieldType();
+ ft.setStored(stored);
+ ft.setTokenized(true);
+ ft.setIndexed(indexed);
+ ft.setOmitNorms(field.omitNorms());
+ ft.setIndexOptions(getIndexOptions(field, value.toString()));
+
+ final org.apache.lucene.document.NumericField f = new org.apache.lucene.document.NumericField(field.getName(), precisionStep, ft);
switch (type) {
case INTEGER:
int i = (value instanceof Number)
@@ -521,8 +525,6 @@ public class TrieField extends FieldType
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Unknown type for trie field: " + type);
}
- f.setOmitNorms(field.omitNorms());
- f.setIndexOptions(getIndexOptions(field, value.toString()));
f.setBoost(boost);
return f;
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/UUIDField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/UUIDField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/UUIDField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/UUIDField.java Mon Aug 29 23:13:10 2011
@@ -22,7 +22,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.UUID;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.SortField;
import org.apache.solr.common.SolrException;
import org.apache.solr.response.TextResponseWriter;
@@ -53,7 +53,7 @@ public class UUIDField extends StrField
}
@Override
- public void write(TextResponseWriter writer, String name, Fieldable f)
+ public void write(TextResponseWriter writer, String name, IndexableField f)
throws IOException {
writer.writeStr(name, f.stringValue(), false);
}
@@ -88,7 +88,7 @@ public class UUIDField extends StrField
}
@Override
- public UUID toObject(Fieldable f) {
+ public UUID toObject(IndexableField f) {
return UUID.fromString(f.stringValue());
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/search/Grouping.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/search/Grouping.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/search/Grouping.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/search/Grouping.java Mon Aug 29 23:13:10 2011
@@ -18,8 +18,8 @@
package org.apache.solr.search;
import org.apache.commons.lang.ArrayUtils;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.queries.function.DocValues;
import org.apache.lucene.queries.function.FunctionQuery;
import org.apache.lucene.queries.function.ValueSource;
@@ -752,7 +752,7 @@ public class Grouping {
SchemaField schemaField = searcher.getSchema().getField(groupBy);
FieldType fieldType = schemaField.getType();
String readableValue = fieldType.indexedToReadable(group.groupValue.utf8ToString());
- Fieldable field = schemaField.createField(readableValue, 0.0f);
+ IndexableField field = schemaField.createField(readableValue, 0.0f);
nl.add("groupValue", fieldType.toObject(field));
} else {
nl.add("groupValue", null);
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java Mon Aug 29 23:13:10 2011
@@ -34,12 +34,14 @@ import java.util.concurrent.atomic.Atomi
import org.apache.lucene.document.Document;
import org.apache.lucene.document.FieldSelector;
import org.apache.lucene.document.FieldSelectorResult;
+import org.apache.lucene.document.FieldSelectorVisitor;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.Fields;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiDocsEnum;
import org.apache.lucene.index.MultiFields;
+import org.apache.lucene.index.StoredFieldVisitor;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
@@ -435,13 +437,13 @@ public class SolrIndexSearcher extends I
return doc(i, (Set<String>)null);
}
- /** Retrieve a {@link Document} using a {@link org.apache.lucene.document.FieldSelector}
- * This method does not currently use the Solr document cache.
+ /** Visit a document's fields using a {@link StoredFieldVisitor}
+ * This method does not currently use the Solr document cache.
*
- * @see IndexReader#document(int, FieldSelector) */
+ * @see IndexReader#document(int, StoredFieldVisitor) */
@Override
- public Document doc(int n, FieldSelector fieldSelector) throws IOException {
- return getIndexReader().document(n, fieldSelector);
+ public void doc(int n, StoredFieldVisitor visitor) throws IOException {
+ getIndexReader().document(n, visitor);
}
/**
@@ -462,8 +464,9 @@ public class SolrIndexSearcher extends I
if(!enableLazyFieldLoading || fields == null) {
d = getIndexReader().document(i);
} else {
- d = getIndexReader().document(i,
- new SetNonLazyFieldSelector(fields));
+ final FieldSelectorVisitor visitor = new FieldSelectorVisitor(new SetNonLazyFieldSelector(fields));
+ getIndexReader().document(i, visitor);
+ d = visitor.getDocument();
}
if (documentCache != null) {
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java Mon Aug 29 23:13:10 2011
@@ -25,7 +25,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.TextField;
import org.apache.lucene.search.spell.HighFrequencyDictionary;
import org.apache.lucene.search.spell.PlainTextDictionary;
import org.apache.lucene.store.RAMDirectory;
@@ -100,7 +100,7 @@ public class FileBasedSpellChecker exten
for (String s : lines) {
Document d = new Document();
- d.add(new Field(WORD_FIELD_NAME, s, Field.Store.NO, Field.Index.ANALYZED));
+ d.add(new TextField(WORD_FIELD_NAME, s));
writer.addDocument(d);
}
writer.optimize();
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java Mon Aug 29 23:13:10 2011
@@ -18,7 +18,6 @@
package org.apache.solr.update;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.Term;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.common.SolrException;
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/DocumentBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/DocumentBuilder.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/DocumentBuilder.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/DocumentBuilder.java Mon Aug 29 23:13:10 2011
@@ -22,7 +22,7 @@ import java.util.HashMap;
import java.util.List;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
@@ -56,7 +56,7 @@ public class DocumentBuilder {
// might actually want to map it to something. If createField()
// returns null, then we don't store the field.
if (sfield.isPolyField()) {
- Fieldable[] fields = sfield.createFields(val, boost);
+ IndexableField[] fields = sfield.createFields(val, boost);
if (fields.length > 0) {
if (!sfield.multiValued()) {
String oldValue = map.put(sfield.getName(), val);
@@ -66,12 +66,12 @@ public class DocumentBuilder {
}
}
// Add each field
- for (Fieldable field : fields) {
+ for (IndexableField field : fields) {
doc.add(field);
}
}
} else {
- Fieldable field = sfield.createField(val, boost);
+ IndexableField field = sfield.createField(val, boost);
if (field != null) {
if (!sfield.multiValued()) {
String oldValue = map.put(sfield.getName(), val);
@@ -145,10 +145,6 @@ public class DocumentBuilder {
}
}
- public void setBoost(float boost) {
- doc.setBoost(boost);
- }
-
public void endDoc() {
}
@@ -159,7 +155,7 @@ public class DocumentBuilder {
// default value are defacto 'required' fields.
List<String> missingFields = null;
for (SchemaField field : schema.getRequiredFields()) {
- if (doc.getFieldable(field.getName() ) == null) {
+ if (doc.getField(field.getName() ) == null) {
if (field.getDefaultValue() != null) {
addField(doc, field, field.getDefaultValue(), 1.0f);
} else {
@@ -176,7 +172,7 @@ public class DocumentBuilder {
// add the uniqueKey if possible
if( schema.getUniqueKeyField() != null ) {
String n = schema.getUniqueKeyField().getName();
- String v = doc.get( n );
+ String v = doc.getField( n ).stringValue();
builder.append( "Document ["+n+"="+v+"] " );
}
builder.append("missing required fields: " );
@@ -194,12 +190,12 @@ public class DocumentBuilder {
private static void addField(Document doc, SchemaField field, Object val, float boost) {
if (field.isPolyField()) {
- Fieldable[] farr = field.getType().createFields(field, val, boost);
- for (Fieldable f : farr) {
+ IndexableField[] farr = field.getType().createFields(field, val, boost);
+ for (IndexableField f : farr) {
if (f != null) doc.add(f); // null fields are not added
}
} else {
- Fieldable f = field.createField(val, boost);
+ IndexableField f = field.createField(val, boost);
if (f != null) doc.add(f); // null fields are not added
}
}
@@ -231,7 +227,7 @@ public class DocumentBuilder {
public static Document toDocument( SolrInputDocument doc, IndexSchema schema )
{
Document out = new Document();
- out.setBoost( doc.getDocumentBoost() );
+ final float docBoost = doc.getDocumentBoost();
// Load fields from SolrDocument to Document
for( SolrInputField field : doc ) {
@@ -258,7 +254,7 @@ public class DocumentBuilder {
hasField = true;
if (sfield != null) {
used = true;
- addField(out, sfield, v, boost);
+ addField(out, sfield, v, docBoost*boost);
}
// Check if we should copy this field to any other fields.
@@ -267,7 +263,7 @@ public class DocumentBuilder {
for (CopyField cf : copyFields) {
SchemaField destinationField = cf.getDestination();
// check if the copy field is a multivalued or not
- if (!destinationField.multiValued() && out.getFieldable(destinationField.getName()) != null) {
+ if (!destinationField.multiValued() && out.getField(destinationField.getName()) != null) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"ERROR: "+getID(doc, schema)+"multiple values encountered for non multiValued copy field " +
destinationField.getName() + ": " + v);
@@ -281,9 +277,9 @@ public class DocumentBuilder {
val = cf.getLimitedValue((String)val);
}
- Fieldable [] fields = destinationField.createFields(val, boost);
+ IndexableField [] fields = destinationField.createFields(val, docBoost*boost);
if (fields != null) { // null fields are not added
- for (Fieldable f : fields) {
+ for (IndexableField f : fields) {
if(f != null) out.add(f);
}
}
@@ -293,7 +289,7 @@ public class DocumentBuilder {
// document boost and *all* boosts on values of that field.
// For multi-valued fields, we only want to set the boost on the
// first field.
- boost = 1.0f;
+ boost = docBoost;
}
}
catch( Exception ex ) {
@@ -313,7 +309,7 @@ public class DocumentBuilder {
// Now validate required fields or add default values
// fields with default values are defacto 'required'
for (SchemaField field : schema.getRequiredFields()) {
- if (out.getFieldable(field.getName() ) == null) {
+ if (out.getField(field.getName() ) == null) {
if (field.getDefaultValue() != null) {
addField(out, field, field.getDefaultValue(), 1.0f);
}
@@ -339,8 +335,8 @@ public class DocumentBuilder {
*/
public SolrDocument loadStoredFields( SolrDocument doc, Document luceneDoc )
{
- for( Fieldable field : luceneDoc.getFields() ) {
- if( field.isStored() ) {
+ for( IndexableField field : luceneDoc) {
+ if( field.stored() ) {
SchemaField sf = schema.getField( field.name() );
if( !schema.isCopyFieldTarget( sf ) ) {
doc.addField( field.name(), sf.getType().toObject( field ) );
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/UpdateHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/UpdateHandler.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/UpdateHandler.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/update/UpdateHandler.java Mon Aug 29 23:13:10 2011
@@ -171,6 +171,3 @@ public abstract class UpdateHandler impl
optimizeCallbacks.add( listener );
}
}
-
-
-
Modified: lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java Mon Aug 29 23:13:10 2011
@@ -26,9 +26,10 @@ import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
+import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.LogMergePolicy;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.AppendedSolrParams;
@@ -357,32 +358,32 @@ public class BasicFunctionalityTest exte
IndexSchema ischema = new IndexSchema(solrConfig, getSchemaFile(), null);
SchemaField f; // Solr field type
- Fieldable luf; // Lucene field
+ IndexableField luf; // Lucene field
f = ischema.getField("test_basictv");
luf = f.createField("test", 0f);
assertTrue(f.storeTermVector());
- assertTrue(luf.isTermVectorStored());
+ assertTrue(luf.storeTermVectors());
f = ischema.getField("test_notv");
luf = f.createField("test", 0f);
assertTrue(!f.storeTermVector());
- assertTrue(!luf.isTermVectorStored());
+ assertTrue(!luf.storeTermVectors());
f = ischema.getField("test_postv");
luf = f.createField("test", 0f);
assertTrue(f.storeTermVector() && f.storeTermPositions());
- assertTrue(luf.isStorePositionWithTermVector());
+ assertTrue(luf.storeTermVectorPositions());
f = ischema.getField("test_offtv");
luf = f.createField("test", 0f);
assertTrue(f.storeTermVector() && f.storeTermOffsets());
- assertTrue(luf.isStoreOffsetWithTermVector());
+ assertTrue(luf.storeTermVectorOffsets());
f = ischema.getField("test_posofftv");
luf = f.createField("test", 0f);
assertTrue(f.storeTermVector() && f.storeTermPositions() && f.storeTermOffsets());
- assertTrue(luf.isStoreOffsetWithTermVector() && luf.isStorePositionWithTermVector());
+ assertTrue(luf.storeTermVectorOffsets() && luf.storeTermVectorPositions());
}
@@ -559,10 +560,10 @@ public class BasicFunctionalityTest exte
core.execute(core.getRequestHandler(req.getParams().get(CommonParams.QT)), req, rsp);
DocList dl = ((ResultContext) rsp.getValues().get("response")).docs;
- org.apache.lucene.document.Document d = req.getSearcher().doc(dl.iterator().nextDoc());
+ Document d = req.getSearcher().doc(dl.iterator().nextDoc());
// ensure field is not lazy, only works for Non-Numeric fields currently (if you change schema behind test, this may fail)
- assertTrue( d.getFieldable("test_hlt") instanceof Field );
- assertTrue( d.getFieldable("title") instanceof Field );
+ assertFalse( ((Field) d.getField("test_hlt")).getClass().getSimpleName().equals("LazyField"));
+ assertFalse( ((Field) d.getField("title")).getClass().getSimpleName().equals("LazyField"));
req.close();
}
@@ -582,10 +583,10 @@ public class BasicFunctionalityTest exte
DocList dl = ((ResultContext) rsp.getValues().get("response")).docs;
DocIterator di = dl.iterator();
- org.apache.lucene.document.Document d = req.getSearcher().doc(di.nextDoc());
+ Document d = req.getSearcher().doc(di.nextDoc());
// ensure field is lazy
- assertTrue( !( d.getFieldable("test_hlt") instanceof Field ) );
- assertTrue( d.getFieldable("title") instanceof Field );
+ assertTrue( ((Field) d.getField("test_hlt")).getClass().getSimpleName().equals("LazyField"));
+ assertFalse( ((Field) d.getField("title")).getClass().getSimpleName().equals("LazyField"));
req.close();
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java Mon Aug 29 23:13:10 2011
@@ -26,6 +26,7 @@ import javax.xml.parsers.ParserConfigura
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.queryparser.classic.ParseException;
@@ -105,8 +106,8 @@ public class TestArbitraryIndexDir exten
new IndexWriterConfig(Version.LUCENE_40, new StandardAnalyzer(Version.LUCENE_40))
);
Document doc = new Document();
- doc.add(new Field("id", "2", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("name", "name2", Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(new Field("id", TextField.TYPE_STORED, "2"));
+ doc.add(new Field("name", TextField.TYPE_STORED, "name2"));
iw.addDocument(doc);
iw.commit();
iw.close();
Modified: lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/schema/DateFieldTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/schema/DateFieldTest.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/schema/DateFieldTest.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/schema/DateFieldTest.java Mon Aug 29 23:13:10 2011
@@ -18,9 +18,8 @@
package org.apache.solr.schema;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.solr.schema.DateField;
import org.apache.solr.util.DateMathParser;
import java.util.Date;
import java.util.TimeZone;
@@ -119,7 +118,7 @@ public class DateFieldTest extends Lucen
public void testCreateField() {
int props = FieldProperties.INDEXED ^ FieldProperties.STORED;
SchemaField sf = new SchemaField( "test", f, props, null );
- Fieldable out = (Field)f.createField(sf, "1995-12-31T23:59:59Z", 1.0f );
+ IndexableField out = (Field)f.createField(sf, "1995-12-31T23:59:59Z", 1.0f );
assertEquals(820454399000l, f.toObject( out ).getTime() );
out = (Field)f.createField(sf, new Date(820454399000l), 1.0f );
Modified: lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java Mon Aug 29 23:13:10 2011
@@ -16,8 +16,8 @@ package org.apache.solr.schema;
* limitations under the License.
*/
-import org.apache.lucene.document.Fieldable;
import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.Query;
@@ -83,12 +83,12 @@ public class PolyFieldTest extends SolrT
assertEquals(pt.getDimension(), 2);
double[] xy = new double[]{35.0, -79.34};
String point = xy[0] + "," + xy[1];
- Fieldable[] fields = home.createFields(point, 2);
+ IndexableField[] fields = home.createFields(point, 2);
assertEquals(fields.length, 3);//should be 3, we have a stored field
//first two fields contain the values, third is just stored and contains the original
for (int i = 0; i < 3; i++) {
boolean hasValue = fields[1].tokenStreamValue() != null
- || fields[1].getBinaryValue() != null
+ || fields[1].binaryValue() != null
|| fields[1].stringValue() != null;
assertTrue("Doesn't have a value: " + fields[1], hasValue);
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/search/TestSort.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/search/TestSort.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/search/TestSort.java Mon Aug 29 23:13:10 2011
@@ -17,9 +17,13 @@
package org.apache.solr.search;
+import java.io.IOException;
+import java.util.*;
+
import org.apache.lucene.analysis.core.SimpleAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.StringField;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
@@ -29,16 +33,10 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.OpenBitSet;
import org.apache.lucene.util._TestUtil;
-
-import org.apache.solr.request.SolrQueryRequest;
-
import org.apache.solr.SolrTestCaseJ4;
-
+import org.apache.solr.request.SolrQueryRequest;
import org.junit.BeforeClass;
-import java.io.IOException;
-import java.util.*;
-
public class TestSort extends SolrTestCaseJ4 {
@BeforeClass
public static void beforeClass() throws Exception {
@@ -152,8 +150,8 @@ public class TestSort extends SolrTestCa
public void testSort() throws Exception {
Directory dir = new RAMDirectory();
- Field f = new Field("f","0", Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS);
- Field f2 = new Field("f2","0", Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS);
+ Field f = new Field("f", StringField.TYPE_UNSTORED,"0");
+ Field f2 = new Field("f2", StringField.TYPE_UNSTORED,"0");
for (int iterCnt = 0; iterCnt<iter; iterCnt++) {
IndexWriter iw = new IndexWriter(
Modified: lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/spelling/IndexBasedSpellCheckerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/spelling/IndexBasedSpellCheckerTest.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/spelling/IndexBasedSpellCheckerTest.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/spelling/IndexBasedSpellCheckerTest.java Mon Aug 29 23:13:10 2011
@@ -20,6 +20,7 @@ import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
@@ -289,7 +290,7 @@ public class IndexBasedSpellCheckerTest
);
for (int i = 0; i < ALT_DOCS.length; i++) {
Document doc = new Document();
- doc.add(new Field("title", ALT_DOCS[i], Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(new Field("title", TextField.TYPE_STORED, ALT_DOCS[i]));
iw.addDocument(doc);
}
iw.optimize();
Modified: lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/update/DocumentBuilderTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/update/DocumentBuilderTest.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/update/DocumentBuilderTest.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/update/DocumentBuilderTest.java Mon Aug 29 23:13:10 2011
@@ -109,8 +109,8 @@ public class DocumentBuilderTest extends
doc.addField( "home", "2.2,3.3", 1.0f );
Document out = DocumentBuilder.toDocument( doc, core.getSchema() );
assertNotNull( out.get( "home" ) );//contains the stored value and term vector, if there is one
- assertNotNull( out.getFieldable( "home_0" + FieldType.POLY_FIELD_SEPARATOR + "double" ) );
- assertNotNull( out.getFieldable( "home_1" + FieldType.POLY_FIELD_SEPARATOR + "double" ) );
+ assertNotNull( out.getField( "home_0" + FieldType.POLY_FIELD_SEPARATOR + "double" ) );
+ assertNotNull( out.getField( "home_1" + FieldType.POLY_FIELD_SEPARATOR + "double" ) );
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/update/TestIndexingPerformance.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/update/TestIndexingPerformance.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/update/TestIndexingPerformance.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/test/org/apache/solr/update/TestIndexingPerformance.java Mon Aug 29 23:13:10 2011
@@ -17,9 +17,6 @@
package org.apache.solr.update;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.IndexSchema;
Modified: lucene/dev/branches/flexscoring/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/branches/flexscoring/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java Mon Aug 29 23:13:10 2011
@@ -121,6 +121,7 @@ public abstract class SolrTestCaseJ4 ext
if (endNumOpens-numOpens != endNumCloses-numCloses) {
String msg = "ERROR: SolrIndexSearcher opens=" + (endNumOpens-numOpens) + " closes=" + (endNumCloses-numCloses);
log.error(msg);
+ testsFailed = true;
fail(msg);
}
}
@@ -139,6 +140,7 @@ public abstract class SolrTestCaseJ4 ext
if (endNumOpens-numOpens != endNumCloses-numCloses) {
String msg = "ERROR: SolrIndexWriter opens=" + (endNumOpens-numWriterOpens) + " closes=" + (endNumCloses-numWriterCloses);
log.error(msg);
+ testsFailed = true;
fail(msg);
}
}