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 2012/08/11 23:02:14 UTC
svn commit: r1372026 - in /lucene/dev/branches/branch_4x: ./ lucene/
lucene/benchmark/
lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/ lucene/core/
lucene/core/src/java/org/apache/lucene/index/
lucene/core/src/test/org/apache/lucene/index...
Author: mikemccand
Date: Sat Aug 11 21:02:13 2012
New Revision: 1372026
URL: http://svn.apache.org/viewvc?rev=1372026&view=rev
Log:
throw IllegalArgumentException if you try to index term vector offsets/positions when term vectors are not indexed, or if you try to index term vectors when field is not index
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/lucene/ (props changed)
lucene/dev/branches/branch_4x/lucene/benchmark/ (props changed)
lucene/dev/branches/branch_4x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
lucene/dev/branches/branch_4x/lucene/core/ (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/core/ (props changed)
lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema.xml
Modified: lucene/dev/branches/branch_4x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java?rev=1372026&r1=1372025&r2=1372026&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java (original)
+++ lucene/dev/branches/branch_4x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java Sat Aug 11 21:02:13 2012
@@ -206,6 +206,7 @@ public class TestPerfTasksLogic extends
// 1. alg definition (required in every "logic" test)
String algLines[] = {
"doc.stored=true",//doc storage is required in order to have text to highlight
+ "doc.term.vector=true",
"doc.term.vector.offsets=true",
"content.source=org.apache.lucene.benchmark.byTask.feeds.LineDocSource",
"docs.file=" + getReuters20LinesFile(),
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java?rev=1372026&r1=1372025&r2=1372026&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java Sat Aug 11 21:02:13 2012
@@ -67,15 +67,40 @@ final class TermVectorsConsumerPerField
for(int i=0;i<count;i++) {
IndexableField field = fields[i];
- if (field.fieldType().indexed() && field.fieldType().storeTermVectors()) {
- doVectors = true;
- doVectorPositions |= field.fieldType().storeTermVectorPositions();
- doVectorOffsets |= field.fieldType().storeTermVectorOffsets();
- if (doVectorPositions) {
- doVectorPayloads |= field.fieldType().storeTermVectorPayloads();
- } else if (field.fieldType().storeTermVectorPayloads()) {
- // TODO: move this check somewhere else, and impl the other missing ones
- throw new IllegalArgumentException("cannot index term vector payloads for field: " + field + " without term vector positions");
+ if (field.fieldType().indexed()) {
+ if (field.fieldType().storeTermVectors()) {
+ doVectors = true;
+ doVectorPositions |= field.fieldType().storeTermVectorPositions();
+ doVectorOffsets |= field.fieldType().storeTermVectorOffsets();
+ if (doVectorPositions) {
+ doVectorPayloads |= field.fieldType().storeTermVectorPayloads();
+ } else if (field.fieldType().storeTermVectorPayloads()) {
+ // TODO: move this check somewhere else, and impl the other missing ones
+ throw new IllegalArgumentException("cannot index term vector payloads for field: " + field + " without term vector positions");
+ }
+ } else {
+ if (field.fieldType().storeTermVectorOffsets()) {
+ throw new IllegalArgumentException("cannot index term vector offsets when term vectors are not indexed (field=\"" + field.name());
+ }
+ if (field.fieldType().storeTermVectorPositions()) {
+ throw new IllegalArgumentException("cannot index term vector positions when term vectors are not indexed (field=\"" + field.name());
+ }
+ if (field.fieldType().storeTermVectorPayloads()) {
+ throw new IllegalArgumentException("cannot index term vector payloads when term vectors are not indexed (field=\"" + field.name());
+ }
+ }
+ } else {
+ if (field.fieldType().storeTermVectors()) {
+ throw new IllegalArgumentException("cannot index term vectors when field is not indexed (field=\"" + field.name());
+ }
+ if (field.fieldType().storeTermVectorOffsets()) {
+ throw new IllegalArgumentException("cannot index term vector offsets when field is not indexed (field=\"" + field.name());
+ }
+ if (field.fieldType().storeTermVectorPositions()) {
+ throw new IllegalArgumentException("cannot index term vector positions when field is not indexed (field=\"" + field.name());
+ }
+ if (field.fieldType().storeTermVectorPayloads()) {
+ throw new IllegalArgumentException("cannot index term vector payloads when field is not indexed (field=\"" + field.name());
}
}
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java?rev=1372026&r1=1372025&r2=1372026&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java Sat Aug 11 21:02:13 2012
@@ -526,8 +526,6 @@ public class TestIndexWriterOnDiskFull e
dir.setMaxSizeInBytes(Math.max(1, dir.getRecomputedActualSizeInBytes()));
final Document doc = new Document();
FieldType customType = new FieldType(TextField.TYPE_STORED);
- customType.setStoreTermVectorPositions(true);
- customType.setStoreTermVectorOffsets(true);
doc.add(newField("field", "aaa bbb ccc ddd eee fff ggg hhh iii jjj", customType));
try {
writer.addDocument(doc);
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java?rev=1372026&r1=1372025&r2=1372026&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java Sat Aug 11 21:02:13 2012
@@ -60,17 +60,17 @@ public class TestIndexableField extends
@Override
public boolean storeTermVectors() {
- return counter % 2 == 1 && counter % 10 != 9;
+ return indexed() && counter % 2 == 1 && counter % 10 != 9;
}
@Override
public boolean storeTermVectorOffsets() {
- return counter % 2 == 1 && counter % 10 != 9;
+ return storeTermVectors() && counter % 10 != 9;
}
@Override
public boolean storeTermVectorPositions() {
- return counter % 2 == 1 && counter % 10 != 9;
+ return storeTermVectors() && counter % 10 != 9;
}
@Override
@@ -78,7 +78,7 @@ public class TestIndexableField extends
if (PREFLEX_IMPERSONATION_IS_ACTIVE) {
return false; // 3.x doesnt support
} else {
- return counter % 2 == 1 && counter % 10 != 9;
+ return storeTermVectors() && counter % 10 != 9;
}
}
Modified: lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema.xml?rev=1372026&r1=1372025&r2=1372026&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema.xml (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema.xml Sat Aug 11 21:02:13 2012
@@ -559,7 +559,7 @@
<field name="inStock" type="boolean" indexed="true" stored="true" />
<field name="subword" type="subword" indexed="true" stored="true"/>
- <field name="subword_offsets" type="subword" indexed="true" stored="true" termOffsets="true"/>
+ <field name="subword_offsets" type="subword" indexed="true" stored="true" termVectors="true" termOffsets="true"/>
<field name="numericsubword" type="numericsubword" indexed="true" stored="true"/>
<field name="protectedsubword" type="protectedsubword" indexed="true" stored="true"/>