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 [14/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/modules/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java (original)
+++ lucene/dev/branches/flexscoring/modules/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java Mon Aug 29 23:13:10 2011
@@ -23,8 +23,11 @@ import java.util.*;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.NumericField;
import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -47,6 +50,9 @@ public class TestGrouping extends Lucene
final String groupField = "author";
+ FieldType customType = new FieldType();
+ customType.setStored(true);
+
Directory dir = newDirectory();
RandomIndexWriter w = new RandomIndexWriter(
random,
@@ -55,50 +61,50 @@ public class TestGrouping extends Lucene
new MockAnalyzer(random)).setMergePolicy(newLogMergePolicy()));
// 0
Document doc = new Document();
- doc.add(new Field(groupField, "author1", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("content", "random text", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("id", "1", Field.Store.YES, Field.Index.NO));
+ doc.add(new Field(groupField, TextField.TYPE_STORED, "author1"));
+ doc.add(new Field("content", TextField.TYPE_STORED, "random text"));
+ doc.add(new Field("id", customType, "1"));
w.addDocument(doc);
// 1
doc = new Document();
- doc.add(new Field(groupField, "author1", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("content", "some more random text", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("id", "2", Field.Store.YES, Field.Index.NO));
+ doc.add(new Field(groupField, TextField.TYPE_STORED, "author1"));
+ doc.add(new Field("content", TextField.TYPE_STORED, "some more random text"));
+ doc.add(new Field("id", customType, "2"));
w.addDocument(doc);
// 2
doc = new Document();
- doc.add(new Field(groupField, "author1", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("content", "some more random textual data", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("id", "3", Field.Store.YES, Field.Index.NO));
+ doc.add(new Field(groupField, TextField.TYPE_STORED, "author1"));
+ doc.add(new Field("content", TextField.TYPE_STORED, "some more random textual data"));
+ doc.add(new Field("id", customType, "3"));
w.addDocument(doc);
// 3
doc = new Document();
- doc.add(new Field(groupField, "author2", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("content", "some random text", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("id", "4", Field.Store.YES, Field.Index.NO));
+ doc.add(new Field(groupField, TextField.TYPE_STORED, "author2"));
+ doc.add(new Field("content", TextField.TYPE_STORED, "some random text"));
+ doc.add(new Field("id", customType, "4"));
w.addDocument(doc);
// 4
doc = new Document();
- doc.add(new Field(groupField, "author3", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("content", "some more random text", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("id", "5", Field.Store.YES, Field.Index.NO));
+ doc.add(new Field(groupField, TextField.TYPE_STORED, "author3"));
+ doc.add(new Field("content", TextField.TYPE_STORED, "some more random text"));
+ doc.add(new Field("id", customType, "5"));
w.addDocument(doc);
// 5
doc = new Document();
- doc.add(new Field(groupField, "author3", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("content", "random", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("id", "6", Field.Store.YES, Field.Index.NO));
+ doc.add(new Field(groupField, TextField.TYPE_STORED, "author3"));
+ doc.add(new Field("content", TextField.TYPE_STORED, "random"));
+ doc.add(new Field("id", customType, "6"));
w.addDocument(doc);
// 6 -- no author field
doc = new Document();
- doc.add(new Field("content", "random word stuck in alot of other text", Field.Store.YES, Field.Index.ANALYZED));
- doc.add(new Field("id", "6", Field.Store.YES, Field.Index.NO));
+ doc.add(new Field("content", TextField.TYPE_STORED, "random word stuck in alot of other text"));
+ doc.add(new Field("id", customType, "6"));
w.addDocument(doc);
IndexSearcher indexSearcher = new IndexSearcher(w.getReader());
@@ -386,18 +392,19 @@ public class TestGrouping extends Lucene
Document doc = new Document();
docs.add(doc);
if (groupValue.group != null) {
- doc.add(newField("group", groupValue.group.utf8ToString(), Field.Index.NOT_ANALYZED));
+ doc.add(newField("group", groupValue.group.utf8ToString(), StringField.TYPE_UNSTORED));
}
- doc.add(newField("sort1", groupValue.sort1.utf8ToString(), Field.Index.NOT_ANALYZED));
- doc.add(newField("sort2", groupValue.sort2.utf8ToString(), Field.Index.NOT_ANALYZED));
+ doc.add(newField("sort1", groupValue.sort1.utf8ToString(), StringField.TYPE_UNSTORED));
+ doc.add(newField("sort2", groupValue.sort2.utf8ToString(), StringField.TYPE_UNSTORED));
doc.add(new NumericField("id").setIntValue(groupValue.id));
- doc.add(newField("content", groupValue.content, Field.Index.ANALYZED));
+ doc.add(newField("content", groupValue.content, TextField.TYPE_UNSTORED));
//System.out.println("TEST: doc content=" + groupValue.content + " group=" + (groupValue.group == null ? "null" : groupValue.group.utf8ToString()) + " sort1=" + groupValue.sort1.utf8ToString() + " id=" + groupValue.id);
}
// So we can pull filter marking last doc in block:
- final Field groupEnd = newField("groupend", "x", Field.Index.NOT_ANALYZED);
- groupEnd.setIndexOptions(IndexOptions.DOCS_ONLY);
- groupEnd.setOmitNorms(true);
+ FieldType ft = new FieldType(StringField.TYPE_UNSTORED);
+ ft.setIndexOptions(IndexOptions.DOCS_ONLY);
+ ft.setOmitNorms(true);
+ final Field groupEnd = newField("groupend", "x", ft);
docs.get(docs.size()-1).add(groupEnd);
// Add as a doc block:
w.addDocuments(docs);
@@ -497,15 +504,15 @@ public class TestGrouping extends Lucene
Document doc = new Document();
Document docNoGroup = new Document();
- Field group = newField("group", "", Field.Index.NOT_ANALYZED);
+ Field group = newField("group", "", StringField.TYPE_UNSTORED);
doc.add(group);
- Field sort1 = newField("sort1", "", Field.Index.NOT_ANALYZED);
+ Field sort1 = newField("sort1", "", StringField.TYPE_UNSTORED);
doc.add(sort1);
docNoGroup.add(sort1);
- Field sort2 = newField("sort2", "", Field.Index.NOT_ANALYZED);
+ Field sort2 = newField("sort2", "", StringField.TYPE_UNSTORED);
doc.add(sort2);
docNoGroup.add(sort2);
- Field content = newField("content", "", Field.Index.ANALYZED);
+ Field content = newField("content", "", TextField.TYPE_UNSTORED);
doc.add(content);
docNoGroup.add(content);
NumericField id = new NumericField("id");
Modified: lucene/dev/branches/flexscoring/modules/join/src/test/org/apache/lucene/search/TestBlockJoin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/join/src/test/org/apache/lucene/search/TestBlockJoin.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/join/src/test/org/apache/lucene/search/TestBlockJoin.java (original)
+++ lucene/dev/branches/flexscoring/modules/join/src/test/org/apache/lucene/search/TestBlockJoin.java Mon Aug 29 23:13:10 2011
@@ -24,6 +24,7 @@ import java.util.List;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.NumericField;
+import org.apache.lucene.document.StringField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -42,16 +43,16 @@ public class TestBlockJoin extends Lucen
// One resume...
private Document makeResume(String name, String country) {
Document resume = new Document();
- resume.add(newField("docType", "resume", Field.Index.NOT_ANALYZED));
- resume.add(newField("name", name, Field.Store.YES, Field.Index.NOT_ANALYZED));
- resume.add(newField("country", country, Field.Index.NOT_ANALYZED));
+ resume.add(newField("docType", "resume", StringField.TYPE_UNSTORED));
+ resume.add(newField("name", name, StringField.TYPE_STORED));
+ resume.add(newField("country", country, StringField.TYPE_UNSTORED));
return resume;
}
// ... has multiple jobs
private Document makeJob(String skill, int year) {
Document job = new Document();
- job.add(newField("skill", skill, Field.Store.YES, Field.Index.NOT_ANALYZED));
+ job.add(newField("skill", skill, StringField.TYPE_STORED));
job.add(new NumericField("year").setIntValue(year));
return job;
}
@@ -188,15 +189,15 @@ public class TestBlockJoin extends Lucen
for(int parentDocID=0;parentDocID<numParentDocs;parentDocID++) {
Document parentDoc = new Document();
Document parentJoinDoc = new Document();
- Field id = newField("parentID", ""+parentDocID, Field.Store.YES, Field.Index.NOT_ANALYZED);
+ Field id = newField("parentID", ""+parentDocID, StringField.TYPE_STORED);
parentDoc.add(id);
parentJoinDoc.add(id);
- parentJoinDoc.add(newField("isParent", "x", Field.Index.NOT_ANALYZED));
+ parentJoinDoc.add(newField("isParent", "x", StringField.TYPE_UNSTORED));
for(int field=0;field<parentFields.length;field++) {
if (random.nextDouble() < 0.9) {
Field f = newField("parent" + field,
parentFields[field][random.nextInt(parentFields[field].length)],
- Field.Index.NOT_ANALYZED);
+ StringField.TYPE_UNSTORED);
parentDoc.add(f);
parentJoinDoc.add(f);
}
@@ -215,7 +216,7 @@ public class TestBlockJoin extends Lucen
Document joinChildDoc = new Document();
joinDocs.add(joinChildDoc);
- Field childID = newField("childID", ""+childDocID, Field.Store.YES, Field.Index.NOT_ANALYZED);
+ Field childID = newField("childID", ""+childDocID, StringField.TYPE_STORED);
childDoc.add(childID);
joinChildDoc.add(childID);
@@ -223,7 +224,7 @@ public class TestBlockJoin extends Lucen
if (random.nextDouble() < 0.9) {
Field f = newField("child" + childFieldID,
childFields[childFieldID][random.nextInt(childFields[childFieldID].length)],
- Field.Index.NOT_ANALYZED);
+ StringField.TYPE_UNSTORED);
childDoc.add(f);
joinChildDoc.add(f);
}
Modified: lucene/dev/branches/flexscoring/modules/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java (original)
+++ lucene/dev/branches/flexscoring/modules/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java Mon Aug 29 23:13:10 2011
@@ -20,18 +20,17 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermFreqVector;
import org.apache.lucene.search.*;
import org.apache.lucene.search.similarities.DefaultSimilarity;
import org.apache.lucene.search.similarities.TFIDFSimilarity;
-import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.PriorityQueue;
import java.io.*;
-import java.net.URL;
import java.util.*;
@@ -707,10 +706,13 @@ public final class MoreLikeThis {
// field does not store term vector info
if (vector == null) {
Document d = ir.document(docNum);
- String text[] = d.getValues(fieldName);
- if (text != null) {
- for (int j = 0; j < text.length; j++) {
- addTermFrequencies(new StringReader(text[j]), termFreqMap, fieldName);
+ IndexableField fields[] = d.getFields(fieldName);
+ if (fields != null) {
+ for (int j = 0; j < fields.length; j++) {
+ final String stringValue = fields[j].stringValue();
+ if (stringValue != null) {
+ addTermFrequencies(new StringReader(stringValue), termFreqMap, fieldName);
+ }
}
}
} else {
Modified: lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/BooleanFilterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/BooleanFilterTest.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/BooleanFilterTest.java (original)
+++ lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/BooleanFilterTest.java Mon Aug 29 23:13:10 2011
@@ -20,7 +20,7 @@ package org.apache.lucene.queries;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
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.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.RandomIndexWriter;
@@ -64,10 +64,10 @@ public class BooleanFilterTest extends L
private void addDoc(RandomIndexWriter writer, String accessRights, String price, String date, String inStock) throws IOException {
Document doc = new Document();
- doc.add(newField("accessRights", accessRights, Field.Store.YES, Field.Index.ANALYZED));
- doc.add(newField("price", price, Field.Store.YES, Field.Index.ANALYZED));
- doc.add(newField("date", date, Field.Store.YES, Field.Index.ANALYZED));
- doc.add(newField("inStock", inStock, Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(newField("accessRights", accessRights, TextField.TYPE_STORED));
+ doc.add(newField("price", price, TextField.TYPE_STORED));
+ doc.add(newField("date", date, TextField.TYPE_STORED));
+ doc.add(newField("inStock", inStock, TextField.TYPE_STORED));
writer.addDocument(doc);
}
Modified: lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/ChainedFilterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/ChainedFilterTest.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/ChainedFilterTest.java (original)
+++ lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/ChainedFilterTest.java Mon Aug 29 23:13:10 2011
@@ -21,7 +21,7 @@ import java.util.Calendar;
import java.util.GregorianCalendar;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.StringField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -29,10 +29,10 @@ import org.apache.lucene.search.BooleanC
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.CachingWrapperFilter;
import org.apache.lucene.search.Filter;
+import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.MatchAllDocsQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.QueryWrapperFilter;
-import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TermRangeFilter;
import org.apache.lucene.search.TopDocs;
@@ -62,9 +62,9 @@ public class ChainedFilterTest extends L
for (int i = 0; i < MAX; i++) {
Document doc = new Document();
- doc.add(newField("key", "" + (i + 1), Field.Store.YES, Field.Index.NOT_ANALYZED));
- doc.add(newField("owner", (i < MAX / 2) ? "bob" : "sue", Field.Store.YES, Field.Index.NOT_ANALYZED));
- doc.add(newField("date", cal.getTime().toString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
+ doc.add(newField("key", "" + (i + 1), StringField.TYPE_STORED));
+ doc.add(newField("owner", (i < MAX / 2) ? "bob" : "sue", StringField.TYPE_STORED));
+ doc.add(newField("date", cal.getTime().toString(), StringField.TYPE_STORED));
writer.addDocument(doc);
cal.add(Calendar.DATE, 1);
Modified: lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/TermsFilterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/TermsFilterTest.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/TermsFilterTest.java (original)
+++ lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/TermsFilterTest.java Mon Aug 29 23:13:10 2011
@@ -17,8 +17,10 @@ package org.apache.lucene.queries;
* limitations under the License.
*/
+import java.util.HashSet;
+
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.StringField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.RandomIndexWriter;
@@ -29,8 +31,6 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.LuceneTestCase;
-import java.util.HashSet;
-
public class TermsFilterTest extends LuceneTestCase {
public void testCachability() throws Exception {
@@ -57,7 +57,7 @@ public class TermsFilterTest extends Luc
for (int i = 0; i < 100; i++) {
Document doc = new Document();
int term = i * 10; //terms are units of 10;
- doc.add(newField(fieldName, "" + term, Field.Store.YES, Field.Index.NOT_ANALYZED));
+ doc.add(newField(fieldName, "" + term, StringField.TYPE_STORED));
w.addDocument(doc);
}
IndexReader reader = new SlowMultiReaderWrapper(w.getReader());
Modified: lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java (original)
+++ lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java Mon Aug 29 23:13:10 2011
@@ -4,9 +4,10 @@ import org.apache.lucene.analysis.Analyz
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
-import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.TextField;
import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.queries.function.valuesource.ByteFieldSource;
import org.apache.lucene.queries.function.valuesource.FloatFieldSource;
import org.apache.lucene.queries.function.valuesource.IntFieldSource;
@@ -128,23 +129,25 @@ public abstract class FunctionTestSetup
private static void addDoc(RandomIndexWriter iw, int i) throws Exception {
Document d = new Document();
- Fieldable f;
+ Field f;
int scoreAndID = i + 1;
- f = newField(ID_FIELD, id2String(scoreAndID), Field.Store.YES, Field.Index.NOT_ANALYZED); // for debug purposes
- f.setOmitNorms(true);
+ FieldType customType = new FieldType(TextField.TYPE_STORED);
+ customType.setTokenized(false);
+ customType.setOmitNorms(true);
+
+ f = newField(ID_FIELD, id2String(scoreAndID), customType); // for debug purposes
d.add(f);
- f = newField(TEXT_FIELD, "text of doc" + scoreAndID + textLine(i), Field.Store.NO, Field.Index.ANALYZED); // for regular search
- f.setOmitNorms(true);
+ FieldType customType2 = new FieldType(TextField.TYPE_UNSTORED);
+ customType2.setOmitNorms(true);
+ f = newField(TEXT_FIELD, "text of doc" + scoreAndID + textLine(i), customType2); // for regular search
d.add(f);
- f = newField(INT_FIELD, "" + scoreAndID, Field.Store.NO, Field.Index.NOT_ANALYZED); // for function scoring
- f.setOmitNorms(true);
+ f = newField(INT_FIELD, "" + scoreAndID, customType); // for function scoring
d.add(f);
- f = newField(FLOAT_FIELD, scoreAndID + ".000", Field.Store.NO, Field.Index.NOT_ANALYZED); // for function scoring
- f.setOmitNorms(true);
+ f = newField(FLOAT_FIELD, scoreAndID + ".000", customType); // for function scoring
d.add(f);
iw.addDocument(d);
Modified: lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java (original)
+++ lucene/dev/branches/flexscoring/modules/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java Mon Aug 29 23:13:10 2011
@@ -26,7 +26,7 @@ import java.util.Map;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
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.RandomIndexWriter;
import org.apache.lucene.search.BooleanClause;
@@ -66,7 +66,7 @@ public class TestMoreLikeThis extends Lu
private void addDoc(RandomIndexWriter writer, String text) throws IOException {
Document doc = new Document();
- doc.add(newField("text", text, Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(newField("text", text, TextField.TYPE_STORED));
writer.addDocument(doc);
}
Modified: lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java (original)
+++ lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java Mon Aug 29 23:13:10 2011
@@ -26,7 +26,7 @@ import org.apache.lucene.analysis.Analyz
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.MockAnalyzer;
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.search.BooleanClause;
import org.apache.lucene.search.IndexSearcher;
@@ -284,7 +284,7 @@ public class TestMultiFieldQueryParser e
Directory ramDir = newDirectory();
IndexWriter iw = new IndexWriter(ramDir, newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer));
Document doc = new Document();
- doc.add(newField("body", "blah the footest blah", Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("body", "blah the footest blah", TextField.TYPE_UNSTORED));
iw.addDocument(doc);
iw.close();
Modified: lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java (original)
+++ lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java Mon Aug 29 23:13:10 2011
@@ -35,5 +35,4 @@ public class TestQueryParser extends Que
qp.setDefaultOperator(QueryParser.OR_OPERATOR);
return qp;
}
-
}
Modified: lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java (original)
+++ lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java Mon Aug 29 23:13:10 2011
@@ -22,7 +22,7 @@ import java.util.HashSet;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
@@ -115,10 +115,8 @@ public class TestComplexPhraseQuery exte
IndexWriter w = new IndexWriter(rd, newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer));
for (int i = 0; i < docsContent.length; i++) {
Document doc = new Document();
- doc.add(newField("name", docsContent[i].name, Field.Store.YES,
- Field.Index.ANALYZED));
- doc.add(newField("id", docsContent[i].id, Field.Store.YES,
- Field.Index.ANALYZED));
+ doc.add(newField("name", docsContent[i].name, TextField.TYPE_STORED));
+ doc.add(newField("id", docsContent[i].id, TextField.TYPE_STORED));
w.addDocument(doc);
}
w.close();
Modified: lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java (original)
+++ lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java Mon Aug 29 23:13:10 2011
@@ -25,11 +25,10 @@ import org.apache.lucene.analysis.Analyz
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.MockAnalyzer;
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.queryparser.flexible.core.QueryNodeException;
import org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler;
-import org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler.Operator;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
@@ -321,8 +320,7 @@ public class TestMultiFieldQPHelper exte
Directory ramDir = newDirectory();
IndexWriter iw = new IndexWriter(ramDir, newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer));
Document doc = new Document();
- doc.add(newField("body", "blah the footest blah", Field.Store.NO,
- Field.Index.ANALYZED));
+ doc.add(newField("body", "blah the footest blah", TextField.TYPE_UNSTORED));
iw.addDocument(doc);
iw.close();
Modified: lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java (original)
+++ lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java Mon Aug 29 23:13:10 2011
@@ -33,7 +33,6 @@ import java.util.TimeZone;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
import org.apache.lucene.document.NumericField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
@@ -194,8 +193,7 @@ public class TestNumericQueryParser exte
numericConfigMap.put(type.name(), new NumericConfig(PRECISION_STEP,
NUMBER_FORMAT, type));
- NumericField field = new NumericField(type.name(), PRECISION_STEP,
- Field.Store.YES, true);
+ NumericField field = new NumericField(type.name(), PRECISION_STEP, NumericField.TYPE_STORED);
numericFieldMap.put(type.name(), field);
doc.add(field);
@@ -204,8 +202,7 @@ public class TestNumericQueryParser exte
numericConfigMap.put(DATE_FIELD_NAME, new NumericConfig(PRECISION_STEP,
DATE_FORMAT, NumericField.DataType.LONG));
- NumericField dateField = new NumericField(DATE_FIELD_NAME, PRECISION_STEP,
- Field.Store.YES, true);
+ NumericField dateField = new NumericField(DATE_FIELD_NAME, PRECISION_STEP, NumericField.TYPE_STORED);
numericFieldMap.put(DATE_FIELD_NAME, dateField);
doc.add(dateField);
Modified: lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java (original)
+++ lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java Mon Aug 29 23:13:10 2011
@@ -34,7 +34,7 @@ import org.apache.lucene.analysis.tokena
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.document.DateTools;
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.IndexReader;
import org.apache.lucene.index.Term;
@@ -1252,7 +1252,7 @@ public class TestQPHelper extends Lucene
Directory dir = newDirectory();
IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new CannedAnalyzer()));
Document doc = new Document();
- doc.add(newField("field", "", Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("field", "", TextField.TYPE_UNSTORED));
w.addDocument(doc);
IndexReader r = IndexReader.open(w, true);
IndexSearcher s = newSearcher(r);
Modified: lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SingleFieldTestDb.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SingleFieldTestDb.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SingleFieldTestDb.java (original)
+++ lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SingleFieldTestDb.java Mon Aug 29 23:13:10 2011
@@ -25,7 +25,7 @@ import org.apache.lucene.store.RAMDirect
import org.apache.lucene.util.Version;
import org.apache.lucene.analysis.MockAnalyzer;
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;
@@ -44,7 +44,7 @@ public class SingleFieldTestDb {
new MockAnalyzer(random)));
for (int j = 0; j < docs.length; j++) {
Document d = new Document();
- d.add(new Field(fieldName, docs[j], Field.Store.NO, Field.Index.ANALYZED));
+ d.add(new TextField(fieldName, docs[j]));
writer.addDocument(d);
}
writer.close();
Modified: lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java (original)
+++ lucene/dev/branches/flexscoring/modules/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java Mon Aug 29 23:13:10 2011
@@ -32,15 +32,15 @@ import org.apache.lucene.analysis.MockTo
import org.apache.lucene.analysis.TokenFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.document.DateTools;
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.Term;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.queryparser.classic.CharStream;
import org.apache.lucene.queryparser.classic.ParseException;
import org.apache.lucene.queryparser.classic.QueryParser;
@@ -1092,7 +1092,7 @@ public abstract class QueryParserTestBas
Analyzer a = new MockAnalyzer(random, MockTokenizer.SIMPLE, true, MockTokenFilter.ENGLISH_STOPSET, true);
IndexWriter w = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, a));
Document doc = new Document();
- doc.add(newField("f", "the wizard of ozzy", Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("f", "the wizard of ozzy", TextField.TYPE_UNSTORED));
w.addDocument(doc);
IndexReader r = IndexReader.open(w, true);
w.close();
Modified: lucene/dev/branches/flexscoring/modules/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java (original)
+++ lucene/dev/branches/flexscoring/modules/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java Mon Aug 29 23:13:10 2011
@@ -18,17 +18,16 @@ package org.apache.lucene.search.spell;
*/
import java.io.IOException;
-import java.io.Reader;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.document.StringField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
@@ -607,9 +606,7 @@ public class SpellChecker implements jav
Document doc = new Document();
// the word field is never queried on... its indexed so it can be quickly
// checked for rebuild (and stored for retrieval). Doesn't need norms or TF/pos
- Field f = new Field(F_WORD, text, Field.Store.YES, Field.Index.NOT_ANALYZED);
- f.setIndexOptions(IndexOptions.DOCS_ONLY);
- f.setOmitNorms(true);
+ Field f = new Field(F_WORD, StringField.TYPE_STORED, text);
doc.add(f); // orig term
addGram(text, doc, ng1, ng2);
return doc;
@@ -622,25 +619,22 @@ public class SpellChecker implements jav
String end = null;
for (int i = 0; i < len - ng + 1; i++) {
String gram = text.substring(i, i + ng);
- Field ngramField = new Field(key, gram, Field.Store.NO, Field.Index.NOT_ANALYZED);
+ FieldType ft = new FieldType(StringField.TYPE_UNSTORED);
+ ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS);
+ Field ngramField = new Field(key, ft, gram);
// spellchecker does not use positional queries, but we want freqs
// for scoring these multivalued n-gram fields.
- ngramField.setIndexOptions(IndexOptions.DOCS_AND_FREQS);
doc.add(ngramField);
if (i == 0) {
// only one term possible in the startXXField, TF/pos and norms aren't needed.
- Field startField = new Field("start" + ng, gram, Field.Store.NO, Field.Index.NOT_ANALYZED);
- startField.setIndexOptions(IndexOptions.DOCS_ONLY);
- startField.setOmitNorms(true);
+ Field startField = new StringField("start" + ng, gram);
doc.add(startField);
}
end = gram;
}
if (end != null) { // may not be present if len==ng1
// only one term possible in the endXXField, TF/pos and norms aren't needed.
- Field endField = new Field("end" + ng, end, Field.Store.NO, Field.Index.NOT_ANALYZED);
- endField.setIndexOptions(IndexOptions.DOCS_ONLY);
- endField.setOmitNorms(true);
+ Field endField = new StringField("end" + ng, end);
doc.add(endField);
}
}
Modified: lucene/dev/branches/flexscoring/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTLookup.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTLookup.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTLookup.java (original)
+++ lucene/dev/branches/flexscoring/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTLookup.java Mon Aug 29 23:13:10 2011
@@ -515,7 +515,7 @@ public class FSTLookup extends Lookup {
this.automaton = new FST<Object>(new InputStreamDataInput(is), NoOutputs.getSingleton());
cacheRootArcs();
} finally {
- IOUtils.closeSafely(false, is);
+ IOUtils.close(is);
}
return true;
}
@@ -537,7 +537,7 @@ public class FSTLookup extends Lookup {
try {
this.automaton.save(new OutputStreamDataOutput(os));
} finally {
- IOUtils.closeSafely(false, os);
+ IOUtils.close(os);
}
return true;
Modified: lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java (original)
+++ lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java Mon Aug 29 23:13:10 2011
@@ -20,7 +20,7 @@ package org.apache.lucene.search.spell;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
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.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -39,7 +39,7 @@ public class TestDirectSpellChecker exte
for (int i = 0; i < 20; i++) {
Document doc = new Document();
- doc.add(newField("numbers", English.intToEnglish(i), Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("numbers", English.intToEnglish(i), TextField.TYPE_UNSTORED));
writer.addDocument(doc);
}
@@ -73,7 +73,7 @@ public class TestDirectSpellChecker exte
// add some more documents
for (int i = 1000; i < 1100; i++) {
Document doc = new Document();
- doc.add(newField("numbers", English.intToEnglish(i), Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("numbers", English.intToEnglish(i), TextField.TYPE_UNSTORED));
writer.addDocument(doc);
}
@@ -96,13 +96,13 @@ public class TestDirectSpellChecker exte
new MockAnalyzer(random, MockTokenizer.SIMPLE, true));
Document doc = new Document();
- doc.add(newField("text", "foobar", Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("text", "foobar", TextField.TYPE_UNSTORED));
writer.addDocument(doc);
- doc.add(newField("text", "foobar", Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("text", "foobar", TextField.TYPE_UNSTORED));
writer.addDocument(doc);
- doc.add(newField("text", "foobaz", Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("text", "foobaz", TextField.TYPE_UNSTORED));
writer.addDocument(doc);
- doc.add(newField("text", "fobar", Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("text", "fobar", TextField.TYPE_UNSTORED));
writer.addDocument(doc);
IndexReader ir = writer.getReader();
@@ -150,7 +150,7 @@ public class TestDirectSpellChecker exte
for (int i = 0; i < 20; i++) {
Document doc = new Document();
- doc.add(newField("numbers", English.intToEnglish(i), Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(newField("numbers", English.intToEnglish(i), TextField.TYPE_UNSTORED));
writer.addDocument(doc);
}
Modified: lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestLuceneDictionary.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestLuceneDictionary.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestLuceneDictionary.java (original)
+++ lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestLuceneDictionary.java Mon Aug 29 23:13:10 2011
@@ -23,7 +23,7 @@ import java.util.Iterator;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
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.store.Directory;
@@ -51,23 +51,23 @@ public class TestLuceneDictionary extend
Document doc;
doc = new Document();
- doc.add(newField("aaa", "foo", Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(newField("aaa", "foo", TextField.TYPE_STORED));
writer.addDocument(doc);
doc = new Document();
- doc.add(newField("aaa", "foo", Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(newField("aaa", "foo", TextField.TYPE_STORED));
writer.addDocument(doc);
doc = new Document();
- doc.add(new Field("contents", "Tom", Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(newField("contents", "Tom", TextField.TYPE_STORED));
writer.addDocument(doc);
doc = new Document();
- doc.add(new Field("contents", "Jerry", Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(newField("contents", "Jerry", TextField.TYPE_STORED));
writer.addDocument(doc);
doc = new Document();
- doc.add(newField("zzz", "bar", Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(newField("zzz", "bar", TextField.TYPE_STORED));
writer.addDocument(doc);
writer.optimize();
Modified: lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestSpellChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestSpellChecker.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestSpellChecker.java (original)
+++ lucene/dev/branches/flexscoring/modules/suggest/src/test/org/apache/lucene/search/spell/TestSpellChecker.java Mon Aug 29 23:13:10 2011
@@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.TextField;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
@@ -58,9 +58,9 @@ public class TestSpellChecker extends Lu
for (int i = 0; i < 1000; i++) {
Document doc = new Document();
- doc.add(newField("field1", English.intToEnglish(i), Field.Store.YES, Field.Index.ANALYZED));
- doc.add(newField("field2", English.intToEnglish(i + 1), Field.Store.YES, Field.Index.ANALYZED)); // + word thousand
- doc.add(newField("field3", "fvei" + (i % 2 == 0 ? " five" : ""), Field.Store.YES, Field.Index.ANALYZED)); // + word thousand
+ doc.add(newField("field1", English.intToEnglish(i), TextField.TYPE_STORED));
+ doc.add(newField("field2", English.intToEnglish(i + 1), TextField.TYPE_STORED)); // + word thousand
+ doc.add(newField("field3", "fvei" + (i % 2 == 0 ? " five" : ""), TextField.TYPE_STORED)); // + word thousand
writer.addDocument(doc);
}
writer.close();
Modified: lucene/dev/branches/flexscoring/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java (original)
+++ lucene/dev/branches/flexscoring/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java Mon Aug 29 23:13:10 2011
@@ -27,7 +27,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.ICUCollationKeyAnalyzer;
-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;
@@ -164,7 +164,7 @@ public class ICUCollationField 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 {
writer.writeStr(name, f.stringValue(), true);
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java Mon Aug 29 23:13:10 2011
@@ -353,7 +353,7 @@ public class MoreLikeThisHandler extends
realMLTQuery = new BooleanQuery();
realMLTQuery.add(boostedMLTQuery, BooleanClause.Occur.MUST);
realMLTQuery.add(
- new TermQuery(new Term(uniqueKeyField.getName(), uniqueKeyField.getType().storedToIndexed(doc.getFieldable(uniqueKeyField.getName())))),
+ new TermQuery(new Term(uniqueKeyField.getName(), uniqueKeyField.getType().storedToIndexed(doc.getField(uniqueKeyField.getName())))),
BooleanClause.Occur.MUST_NOT);
DocListAndSet results = new DocListAndSet();
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java Mon Aug 29 23:13:10 2011
@@ -247,7 +247,7 @@ public class CoreAdminHandler extends Re
if (solrCore != null) solrCore.close();
}
}
- if (readersToBeClosed != null) IOUtils.closeSafely(true, readersToBeClosed);
+ if (readersToBeClosed != null) IOUtils.closeWhileHandlingException(readersToBeClosed);
if (dirsToBeReleased != null) {
for (Directory dir : dirsToBeReleased) {
DirectoryFactory dirFactory = core.getDirectoryFactory();
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java Mon Aug 29 23:13:10 2011
@@ -34,9 +34,9 @@ import org.slf4j.LoggerFactory;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Fieldable;
-import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.Fields;
import org.apache.lucene.index.FieldsEnum;
@@ -163,21 +163,21 @@ public class LukeRequestHandler extends
/**
- * @return a string representing a Fieldable's flags.
+ * @return a string representing a IndexableField's flags.
*/
- private static String getFieldFlags( Fieldable f )
+ private static String getFieldFlags( IndexableField f )
{
StringBuilder flags = new StringBuilder();
- flags.append( (f != null && f.isIndexed()) ? FieldFlag.INDEXED.getAbbreviation() : '-' );
- flags.append( (f != null && f.isTokenized()) ? FieldFlag.TOKENIZED.getAbbreviation() : '-' );
- flags.append( (f != null && f.isStored()) ? FieldFlag.STORED.getAbbreviation() : '-' );
+ flags.append( (f != null && f.indexed()) ? FieldFlag.INDEXED.getAbbreviation() : '-' );
+ flags.append( (f != null && f.tokenized()) ? FieldFlag.TOKENIZED.getAbbreviation() : '-' );
+ flags.append( (f != null && f.stored()) ? FieldFlag.STORED.getAbbreviation() : '-' );
flags.append( (false) ? FieldFlag.MULTI_VALUED.getAbbreviation() : '-' ); // SchemaField Specific
- flags.append( (f != null && f.isTermVectorStored()) ? FieldFlag.TERM_VECTOR_STORED.getAbbreviation() : '-' );
- flags.append( (f != null && f.isStoreOffsetWithTermVector()) ? FieldFlag.TERM_VECTOR_OFFSET.getAbbreviation() : '-' );
- flags.append( (f != null && f.isStorePositionWithTermVector()) ? FieldFlag.TERM_VECTOR_POSITION.getAbbreviation() : '-' );
- flags.append( (f != null && f.getOmitNorms()) ? FieldFlag.OMIT_NORMS.getAbbreviation() : '-' );
- flags.append( (f != null && f.isLazy()) ? FieldFlag.LAZY.getAbbreviation() : '-' );
- flags.append( (f != null && f.isBinary()) ? FieldFlag.BINARY.getAbbreviation() : '-' );
+ flags.append( (f != null && f.storeTermVectors()) ? FieldFlag.TERM_VECTOR_STORED.getAbbreviation() : '-' );
+ flags.append( (f != null && f.storeTermVectorOffsets()) ? FieldFlag.TERM_VECTOR_OFFSET.getAbbreviation() : '-' );
+ flags.append( (f != null && f.storeTermVectorPositions()) ? FieldFlag.TERM_VECTOR_POSITION.getAbbreviation() : '-' );
+ flags.append( (f != null && f.omitNorms()) ? FieldFlag.OMIT_NORMS.getAbbreviation() : '-' );
+ flags.append( (f != null && f.getClass().getSimpleName().equals("LazyField")) ? FieldFlag.LAZY.getAbbreviation() : '-' );
+ flags.append( (f != null && f.binaryValue()!=null) ? FieldFlag.BINARY.getAbbreviation() : '-' );
flags.append( (false) ? FieldFlag.SORT_MISSING_FIRST.getAbbreviation() : '-' ); // SchemaField Specific
flags.append( (false) ? FieldFlag.SORT_MISSING_LAST.getAbbreviation() : '-' ); // SchemaField Specific
return flags.toString();
@@ -239,34 +239,34 @@ public class LukeRequestHandler extends
final CharsRef spare = new CharsRef();
SimpleOrderedMap<Object> finfo = new SimpleOrderedMap<Object>();
for( Object o : doc.getFields() ) {
- Fieldable fieldable = (Fieldable)o;
+ Field field = (Field)o;
SimpleOrderedMap<Object> f = new SimpleOrderedMap<Object>();
- SchemaField sfield = schema.getFieldOrNull( fieldable.name() );
+ SchemaField sfield = schema.getFieldOrNull( field.name() );
FieldType ftype = (sfield==null)?null:sfield.getType();
f.add( "type", (ftype==null)?null:ftype.getTypeName() );
f.add( "schema", getFieldFlags( sfield ) );
- f.add( "flags", getFieldFlags( fieldable ) );
+ f.add( "flags", getFieldFlags( field ) );
- Term t = new Term(fieldable.name(), ftype!=null ? ftype.storedToIndexed(fieldable) : fieldable.stringValue());
+ Term t = new Term(field.name(), ftype!=null ? ftype.storedToIndexed(field) : field.stringValue());
- f.add( "value", (ftype==null)?null:ftype.toExternal( fieldable ) );
+ f.add( "value", (ftype==null)?null:ftype.toExternal( field ) );
// TODO: this really should be "stored"
- f.add( "internal", fieldable.stringValue() ); // may be a binary number
+ f.add( "internal", field.stringValue() ); // may be a binary number
- byte[] arr = fieldable.getBinaryValue();
- if (arr != null) {
- f.add( "binary", Base64.byteArrayToBase64(arr, 0, arr.length));
+ BytesRef bytes = field.binaryValue();
+ if (bytes != null) {
+ f.add( "binary", Base64.byteArrayToBase64(bytes.bytes, bytes.offset, bytes.length));
}
- f.add( "boost", fieldable.getBoost() );
+ f.add( "boost", field.boost() );
f.add( "docFreq", t.text()==null ? 0 : reader.docFreq( t ) ); // this can be 0 for non-indexed fields
// If we have a term vector, return that
- if( fieldable.isTermVectorStored() ) {
+ if( field.storeTermVectors() ) {
try {
- TermFreqVector v = reader.getTermFreqVector( docId, fieldable.name() );
+ TermFreqVector v = reader.getTermFreqVector( docId, field.name() );
if( v != null ) {
SimpleOrderedMap<Integer> tfv = new SimpleOrderedMap<Integer>();
for( int i=0; i<v.size(); i++ ) {
@@ -280,7 +280,7 @@ public class LukeRequestHandler extends
}
}
- finfo.add( fieldable.name(), f );
+ finfo.add( field.name(), f );
}
return finfo;
}
@@ -324,7 +324,7 @@ public class LukeRequestHandler extends
// Find a document with this field
try {
Document doc = searcher.doc( top.scoreDocs[0].doc );
- Fieldable fld = doc.getFieldable( fieldName );
+ IndexableField fld = doc.getField( fieldName );
if( fld != null ) {
f.add( "index", getFieldFlags( fld ) );
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java Mon Aug 29 23:13:10 2011
@@ -17,7 +17,12 @@
package org.apache.solr.handler.component;
+import java.io.IOException;
+import java.net.URL;
+import java.util.*;
+
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.StringField;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexReader.ReaderContext;
import org.apache.lucene.index.Term;
@@ -47,10 +52,6 @@ import org.apache.solr.schema.SchemaFiel
import org.apache.solr.search.*;
import org.apache.solr.util.SolrPluginUtils;
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-
/**
* TODO!
*
@@ -426,7 +427,7 @@ public class QueryComponent extends Sear
Sort sort = searcher.weightSort(rb.getSortSpec().getSort());
SortField[] sortFields = sort==null ? new SortField[]{SortField.FIELD_SCORE} : sort.getSort();
NamedList sortVals = new NamedList(); // order is important for the sort fields
- Field field = new Field("dummy", "", Field.Store.YES, Field.Index.NO); // a dummy Field
+ Field field = new StringField("dummy", ""); // a dummy Field
ReaderContext topReaderContext = searcher.getTopReaderContext();
AtomicReaderContext[] leaves = ReaderUtil.leaves(topReaderContext);
AtomicReaderContext currentLeaf = null;
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java Mon Aug 29 23:13:10 2011
@@ -1,14 +1,22 @@
package org.apache.solr.handler.component;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Fieldable;
-import org.apache.lucene.document.SetBasedFieldSelector;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
+import org.apache.lucene.index.StoredFieldVisitor;
import org.apache.lucene.index.TermVectorMapper;
import org.apache.lucene.index.TermVectorOffsetInfo;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
@@ -26,15 +34,6 @@ import org.apache.solr.search.SolrIndexS
import org.apache.solr.util.SolrPluginUtils;
import org.apache.solr.util.plugin.SolrCoreAware;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -194,8 +193,42 @@ public class TermVectorComponent extends
if (keyField != null) {
uniqFieldName = keyField.getName();
}
- //Only load the id field to get the uniqueKey of that field
- SetBasedFieldSelector fieldSelector = new SetBasedFieldSelector(Collections.singleton(uniqFieldName), Collections.<String>emptySet());
+ //Only load the id field to get the uniqueKey of that
+ //field
+
+ final String finalUniqFieldName = uniqFieldName;
+
+ final List<String> uniqValues = new ArrayList<String>();
+ final StoredFieldVisitor getUniqValue = new StoredFieldVisitor() {
+ @Override
+ public boolean stringField(FieldInfo fieldInfo, IndexInput in, int numUTF8Bytes) throws IOException {
+ if (fieldInfo.name.equals(finalUniqFieldName)) {
+ final byte[] b = new byte[numUTF8Bytes];
+ in.readBytes(b, 0, b.length);
+ uniqValues.add(new String(b, "UTF-8"));
+ } else {
+ in.seek(in.getFilePointer() + numUTF8Bytes);
+ }
+ return false;
+ }
+
+ @Override
+ public boolean intField(FieldInfo fieldInfo, int value) throws IOException {
+ if (fieldInfo.name.equals(finalUniqFieldName)) {
+ uniqValues.add(Integer.toString(value));
+ }
+ return false;
+ }
+
+ @Override
+ public boolean longField(FieldInfo fieldInfo, long value) throws IOException {
+ if (fieldInfo.name.equals(finalUniqFieldName)) {
+ uniqValues.add(Long.toString(value));
+ }
+ return false;
+ }
+ };
+
TVMapper mapper = new TVMapper(reader);
mapper.fieldOptions = allFields; //this will only stay set if fieldOptions.isEmpty() (in other words, only if the user didn't set any fields)
while (iter.hasNext()) {
@@ -205,13 +238,11 @@ public class TermVectorComponent extends
termVectors.add("doc-" + docId, docNL);
if (keyField != null) {
- Document document = reader.document(docId, fieldSelector);
- Fieldable uniqId = document.getFieldable(uniqFieldName);
+ reader.document(docId, getUniqValue);
String uniqVal = null;
- if (uniqId != null) {
- uniqVal = keyField.getType().storedToReadable(uniqId);
- }
- if (uniqVal != null) {
+ if (uniqValues.size() != 0) {
+ uniqVal = uniqValues.get(0);
+ uniqValues.clear();
docNL.add("uniqueKey", uniqVal);
termVectors.add("uniqueKeyFieldName", uniqFieldName);
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java Mon Aug 29 23:13:10 2011
@@ -33,6 +33,7 @@ import org.apache.lucene.analysis.TokenF
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.document.Document;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.highlight.*;
import org.apache.lucene.search.vectorhighlight.FastVectorHighlighter;
@@ -416,7 +417,14 @@ public class DefaultSolrHighlighter exte
// END: Hack
SolrParams params = req.getParams();
- String[] docTexts = doc.getValues(fieldName);
+ IndexableField[] docFields = doc.getFields(fieldName);
+ List<String> listFields = new ArrayList<String>();
+ for (IndexableField field : docFields) {
+ listFields.add(field.stringValue());
+ }
+
+ String[] docTexts = (String[]) listFields.toArray(new String[listFields.size()]);
+
// according to Document javadoc, doc.getValues() never returns null. check empty instead of null
if (docTexts.length == 0) return;
@@ -537,7 +545,15 @@ public class DefaultSolrHighlighter exte
private void alternateField( NamedList docSummaries, SolrParams params, Document doc, String fieldName ){
String alternateField = params.getFieldParam(fieldName, HighlightParams.ALTERNATE_FIELD);
if (alternateField != null && alternateField.length() > 0) {
- String[] altTexts = doc.getValues(alternateField);
+ IndexableField[] docFields = doc.getFields(alternateField);
+ List<String> listFields = new ArrayList<String>();
+ for (IndexableField field : docFields) {
+ if (field.binaryValue() == null)
+ listFields.add(field.stringValue());
+ }
+
+ String[] altTexts = listFields.toArray(new String[listFields.size()]);
+
if (altTexts != null && altTexts.length > 0){
int alternateFieldLen = params.getFieldInt(fieldName, HighlightParams.ALTERNATE_FIELD_LENGTH,0);
if( alternateFieldLen <= 0 ){
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java Mon Aug 29 23:13:10 2011
@@ -16,13 +16,16 @@
*/
package org.apache.solr.response;
+import java.io.*;
+import java.util.*;
+
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.util.BytesRef;
import org.apache.solr.common.SolrDocument;
-import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.params.CommonParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.JavaBinCodec;
+import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.transform.DocTransformer;
import org.apache.solr.response.transform.TransformContext;
@@ -33,9 +36,6 @@ import org.apache.solr.search.SolrIndexS
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.*;
-import java.util.*;
-
public class BinaryResponseWriter implements BinaryQueryResponseWriter {
private static final Logger LOG = LoggerFactory.getLogger(BinaryResponseWriter.class);
@@ -159,7 +159,7 @@ public class BinaryResponseWriter implem
public SolrDocument getDoc(Document doc) {
SolrDocument solrDoc = new SolrDocument();
- for (Fieldable f : doc.getFields()) {
+ for (IndexableField f : doc) {
String fieldName = f.name();
if( !returnFields.wantsField(fieldName) )
continue;
@@ -168,8 +168,16 @@ public class BinaryResponseWriter implem
if(sf != null) ft =sf.getType();
Object val;
if (ft == null) { // handle fields not in the schema
- if (f.isBinary()) val = f.getBinaryValue();
- else val = f.stringValue();
+ BytesRef bytesRef = f.binaryValue();
+ if (bytesRef != null) {
+ if (bytesRef.offset == 0 && bytesRef.length == bytesRef.bytes.length) {
+ val = bytesRef.bytes;
+ } else {
+ final byte[] bytes = new byte[bytesRef.length];
+ val = bytes;
+ System.arraycopy(bytesRef.bytes, bytesRef.offset, bytes, 0, bytesRef.length);
+ }
+ } else val = f.stringValue();
} else {
try {
if (useFieldObjects && KNOWN_TYPES.contains(ft.getClass())) {
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/CSVResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/CSVResponseWriter.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/CSVResponseWriter.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/CSVResponseWriter.java Mon Aug 29 23:13:10 2011
@@ -19,8 +19,7 @@ package org.apache.solr.response;
import org.apache.commons.csv.CSVPrinter;
import org.apache.commons.csv.CSVStrategy;
-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.SolrDocumentList;
import org.apache.solr.common.SolrException;
@@ -32,10 +31,8 @@ import org.apache.solr.request.SolrQuery
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.schema.StrField;
-import org.apache.solr.search.DocIterator;
import org.apache.solr.search.DocList;
import org.apache.solr.search.ReturnFields;
-import org.apache.solr.search.SolrIndexSearcher;
import java.io.CharArrayWriter;
import java.io.IOException;
@@ -146,7 +143,7 @@ class CSVWriter extends TextResponseWrit
CSVSharedBufPrinter mvPrinter; // printer used to encode multiple values in a single CSV value
// used to collect values
- List<Fieldable> values = new ArrayList<Fieldable>(1); // low starting amount in case there are many fields
+ List<IndexableField> values = new ArrayList<IndexableField>(1); // low starting amount in case there are many fields
int tmp;
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java Mon Aug 29 23:13:10 2011
@@ -26,7 +26,7 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Set;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
@@ -302,10 +302,10 @@ class JSONWriter extends TextResponseWri
protected static class MultiValueField {
final SchemaField sfield;
- final ArrayList<Fieldable> fields;
- MultiValueField(SchemaField sfield, Fieldable firstVal) {
+ final ArrayList<IndexableField> fields;
+ MultiValueField(SchemaField sfield, IndexableField firstVal) {
this.sfield = sfield;
- this.fields = new ArrayList<Fieldable>(4);
+ this.fields = new ArrayList<IndexableField>(4);
this.fields.add(firstVal);
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/TextResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/TextResponseWriter.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/TextResponseWriter.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/response/TextResponseWriter.java Mon Aug 29 23:13:10 2011
@@ -22,7 +22,7 @@ import java.io.Writer;
import java.util.*;
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.SolrDocumentList;
import org.apache.solr.common.util.FastWriter;
@@ -120,8 +120,8 @@ public abstract class TextResponseWriter
} else if (val instanceof String) {
writeStr(name, val.toString(), true);
// micro-optimization... using toString() avoids a cast first
- } else if (val instanceof Fieldable) {
- Fieldable f = (Fieldable)val;
+ } else if (val instanceof IndexableField) {
+ IndexableField f = (IndexableField)val;
SchemaField sf = schema.getFieldOrNull( f.name() );
if( sf != null ) {
sf.getType().write(this, name, f);
@@ -202,7 +202,7 @@ public abstract class TextResponseWriter
public final SolrDocument toSolrDocument( Document doc )
{
SolrDocument out = new SolrDocument();
- for( Fieldable f : doc.getFields() ) {
+ for( IndexableField f : doc) {
// Make sure multivalued fields are represented as lists
Object existing = out.get(f.name());
if (existing == null) {
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDIntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDIntField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDIntField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDIntField.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.lucene.search.SortField;
import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
import org.apache.solr.util.BCDUtils;
import org.apache.solr.response.TextResponseWriter;
@@ -51,13 +51,13 @@ public class BCDIntField extends FieldTy
}
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return indexedToReadable(f.stringValue());
}
// Note, this can't return type 'Integer' because BCDStrField and BCDLong extend it
@Override
- public Object toObject(Fieldable f) {
+ public Object toObject(IndexableField f) {
return Integer.valueOf( toExternal(f) );
}
@@ -67,7 +67,7 @@ public class BCDIntField 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 {
writer.writeInt(name,toExternal(f));
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDLongField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDLongField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDLongField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDLongField.java Mon Aug 29 23:13:10 2011
@@ -17,13 +17,13 @@
package org.apache.solr.schema;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
/**
*
*/
public class BCDLongField extends BCDIntField {
@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/BCDStrField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDStrField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDStrField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BCDStrField.java Mon Aug 29 23:13:10 2011
@@ -17,7 +17,7 @@
package org.apache.solr.schema;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.index.IndexableField;
/**
*
*/
@@ -27,7 +27,7 @@ public class BCDStrField extends BCDIntF
* is not an integer, it will not survive the base10k conversion!
*/
@Override
- public String toObject(Fieldable f) {
+ public String toObject(IndexableField f) {
return toExternal(f);
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BinaryField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BinaryField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BinaryField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BinaryField.java Mon Aug 29 23:13:10 2011
@@ -17,24 +17,25 @@
package org.apache.solr.schema;
-import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.common.util.Base64;
-import org.apache.lucene.document.Fieldable;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.search.SortField;
-
import java.io.IOException;
import java.nio.ByteBuffer;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.search.SortField;
+import org.apache.lucene.util.BytesRef;
+import org.apache.solr.common.util.Base64;
+import org.apache.solr.response.TextResponseWriter;
+
public class BinaryField extends FieldType {
- private String toBase64String(ByteBuffer buf) {
+ private String toBase64String(ByteBuffer buf) {
return Base64.byteArrayToBase64(buf.array(), buf.position(), buf.limit()-buf.position());
}
@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, toBase64String(toObject(f)), false);
}
@@ -45,17 +46,18 @@ public class BinaryField extends FieldTy
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return toBase64String(toObject(f));
}
-
+
@Override
- public ByteBuffer toObject(Fieldable f) {
- return ByteBuffer.wrap(f.getBinaryValue(), f.getBinaryOffset(), f.getBinaryLength() ) ;
+ public ByteBuffer toObject(IndexableField f) {
+ BytesRef bytes = f.binaryValue();
+ return ByteBuffer.wrap(bytes.bytes, bytes.offset, bytes.length);
}
@Override
- public Fieldable createField(SchemaField field, Object val, float boost) {
+ public IndexableField createField(SchemaField field, Object val, float boost) {
if (val == null) return null;
if (!field.stored()) {
log.trace("Ignoring unstored binary field: " + field);
@@ -79,7 +81,7 @@ public class BinaryField extends FieldTy
len = buf.length;
}
- Field f = new Field(field.getName(), buf, offset, len);
+ Field f = new org.apache.lucene.document.BinaryField(field.getName(), buf, offset, len);
f.setBoost(boost);
return f;
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BoolField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BoolField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BoolField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/BoolField.java Mon Aug 29 23:13:10 2011
@@ -18,13 +18,14 @@
package org.apache.solr.schema;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.search.FieldCache;
+import org.apache.lucene.search.SortField;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.queries.function.DocValues;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.docvalues.BoolDocValues;
import org.apache.lucene.queries.function.valuesource.OrdFieldSource;
-import org.apache.lucene.search.FieldCache;
-import org.apache.lucene.search.SortField;
-import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.mutable.MutableValue;
import org.apache.lucene.util.mutable.MutableValueBool;
@@ -33,7 +34,6 @@ import org.apache.solr.search.function.*
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.lucene.document.Fieldable;
import org.apache.solr.response.TextResponseWriter;
import org.apache.solr.analysis.SolrAnalyzer;
@@ -117,12 +117,12 @@ public class BoolField extends FieldType
}
@Override
- public String toExternal(Fieldable f) {
+ public String toExternal(IndexableField f) {
return indexedToReadable(f.stringValue());
}
@Override
- public Boolean toObject(Fieldable f) {
+ public Boolean toObject(IndexableField f) {
return Boolean.valueOf( toExternal(f) );
}
@@ -151,7 +151,7 @@ public class BoolField 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.writeBool(name, f.stringValue().charAt(0) == 'T');
}
}
Modified: lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ByteField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ByteField.java?rev=1163047&r1=1163046&r2=1163047&view=diff
==============================================================================
--- lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ByteField.java (original)
+++ lucene/dev/branches/flexscoring/solr/core/src/java/org/apache/solr/schema/ByteField.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.ByteFieldSource;
+import org.apache.lucene.index.IndexableField;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.cache.ByteValuesCreator;
import org.apache.lucene.search.cache.CachedArrayCreator;
@@ -52,7 +52,7 @@ public class ByteField 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 ByteField extends FieldType
}
@Override
- public Byte toObject(Fieldable f) {
+ public Byte toObject(IndexableField f) {
return Byte.valueOf(toExternal(f));
}
}