You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2011/07/11 23:28:41 UTC
svn commit: r1145365 - in /lucene/dev/branches/fieldtype/lucene/src:
test-framework/org/apache/lucene/util/LuceneTestCase.java
test/org/apache/lucene/search/TestTermVectors.java
Author: mikemccand
Date: Mon Jul 11 21:28:41 2011
New Revision: 1145365
URL: http://svn.apache.org/viewvc?rev=1145365&view=rev
Log:
LUCENE-2308: re-enable LTC.newField to randomly enable TVs if they are disabled
Modified:
lucene/dev/branches/fieldtype/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java
lucene/dev/branches/fieldtype/lucene/src/test/org/apache/lucene/search/TestTermVectors.java
Modified: lucene/dev/branches/fieldtype/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/fieldtype/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java?rev=1145365&r1=1145364&r2=1145365&view=diff
==============================================================================
--- lucene/dev/branches/fieldtype/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/branches/fieldtype/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java Mon Jul 11 21:28:41 2011
@@ -1079,15 +1079,37 @@ public abstract class LuceneTestCase ext
}
public static org.apache.lucene.document2.Field newField(Random random, String name, String value, FieldType type) {
- FieldType newType = new FieldType(type);
if (usually(random)) {
// most of the time, don't modify the params
- return new org.apache.lucene.document2.Field(name, newType, value);
+ return new org.apache.lucene.document2.Field(name, type, value);
}
+ FieldType newType = new FieldType(type);
if (!newType.stored() && random.nextBoolean()) {
newType.setStored(true); // randomly store it
}
+
+ if (!newType.storeTermVectors()) {
+ newType.setStoreTermVectors(random.nextBoolean());
+ }
+
+ if (!newType.storeTermVectors()) {
+ if (!newType.storeTermVectorOffsets()) {
+ newType.setStoreTermVectorOffsets(random.nextBoolean());
+ }
+ if (!newType.storeTermVectorPositions()) {
+ newType.setStoreTermVectorPositions(random.nextBoolean());
+ }
+ }
+
+ // TODO: we need to do this, but smarter, ie, most of
+ // the time we set the same value for a given field but
+ // sometimes (rarely) we change it up:
+ /*
+ if (newType.omitNorms()) {
+ newType.setOmitNorms(random.nextBoolean());
+ }
+ */
return new org.apache.lucene.document2.Field(name, newType, value);
}
Modified: lucene/dev/branches/fieldtype/lucene/src/test/org/apache/lucene/search/TestTermVectors.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/fieldtype/lucene/src/test/org/apache/lucene/search/TestTermVectors.java?rev=1145365&r1=1145364&r2=1145365&view=diff
==============================================================================
--- lucene/dev/branches/fieldtype/lucene/src/test/org/apache/lucene/search/TestTermVectors.java (original)
+++ lucene/dev/branches/fieldtype/lucene/src/test/org/apache/lucene/search/TestTermVectors.java Mon Jul 11 21:28:41 2011
@@ -52,25 +52,22 @@ public class TestTermVectors extends Luc
FieldType ft = new FieldType(TextField.TYPE_STORED);
int mod3 = i % 3;
int mod2 = i % 2;
- if (mod2 == 0 && mod3 == 0){
+ if (mod2 == 0 && mod3 == 0) {
ft.setStoreTermVectors(true);
ft.setStoreTermVectorOffsets(true);
ft.setStoreTermVectorPositions(true);
- }
- else if (mod2 == 0){
+ } else if (mod2 == 0) {
ft.setStoreTermVectors(true);
ft.setStoreTermVectorPositions(true);
- }
- else if (mod3 == 0){
+ } else if (mod3 == 0) {
ft.setStoreTermVectors(true);
ft.setStoreTermVectorOffsets(true);
- }
- else {
+ } else {
ft.setStoreTermVectors(true);
}
- doc.add(newField("field", English.intToEnglish(i), ft));
+ doc.add(new Field("field", ft, English.intToEnglish(i)));
//test no term vectors too
- doc.add(newField("noTV", English.intToEnglish(i), TextField.TYPE_STORED));
+ doc.add(new Field("noTV", TextField.TYPE_STORED, English.intToEnglish(i)));
writer.addDocument(doc);
}
reader = writer.getReader();
@@ -95,11 +92,10 @@ public class TestTermVectors extends Luc
ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
assertEquals(100, hits.length);
- for (int i = 0; i < hits.length; i++)
- {
+ for (int i = 0; i < hits.length; i++) {
TermFreqVector [] vector = searcher.reader.getTermFreqVectors(hits[i].doc);
assertTrue(vector != null);
- assertTrue(vector.length == 1);
+ assertEquals("doc=" + hits[i].doc + " tv=" + vector, 1, vector.length);
}
TermFreqVector vector;
vector = searcher.reader.getTermFreqVector(hits[0].doc, "noTV");