You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/11/19 15:16:45 UTC
svn commit: r1411193 - in /lucene/dev/branches/lucene4547/lucene:
codecs/src/java/org/apache/lucene/codecs/simpletext/
core/src/java/org/apache/lucene/codecs/
core/src/java/org/apache/lucene/index/
Author: rmuir
Date: Mon Nov 19 14:16:44 2012
New Revision: 1411193
URL: http://svn.apache.org/viewvc?rev=1411193&view=rev
Log:
make producer api parallel the consumer api
Modified:
lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java
lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java
lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java
lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java
Modified: lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java?rev=1411193&r1=1411192&r2=1411193&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java (original)
+++ lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java Mon Nov 19 14:16:44 2012
@@ -65,6 +65,7 @@ public class SimpleTextSimpleDocValuesFo
final static BytesRef FIELD = new BytesRef("field ");
// used for numerics
final static BytesRef MINVALUE = new BytesRef(" minvalue ");
+ final static BytesRef MAXVALUE = new BytesRef(" maxvalue ");
final static BytesRef PATTERN = new BytesRef(" pattern ");
// used for bytes
final static BytesRef FIXEDLENGTH = new BytesRef(" fixedlength ");
@@ -89,6 +90,7 @@ public class SimpleTextSimpleDocValuesFo
* <pre>
* field myField
* minvalue 0
+ * maxvalue 234
* pattern 000
* 005
* 234
@@ -165,6 +167,10 @@ public class SimpleTextSimpleDocValuesFo
SimpleTextUtil.write(data, MINVALUE);
SimpleTextUtil.write(data, Long.toString(minValue), scratch);
SimpleTextUtil.writeNewline(data);
+
+ SimpleTextUtil.write(data, MAXVALUE);
+ SimpleTextUtil.write(data, Long.toString(maxValue), scratch);
+ SimpleTextUtil.writeNewline(data);
assert maxValue >= minValue;
@@ -386,6 +392,7 @@ public class SimpleTextSimpleDocValuesFo
int maxLength;
boolean fixedLength;
long minValue;
+ long maxValue;
int numValues;
};
@@ -422,6 +429,9 @@ public class SimpleTextSimpleDocValuesFo
assert startsWith(MINVALUE);
field.minValue = Long.parseLong(stripPrefix(MINVALUE));
readLine();
+ assert startsWith(MAXVALUE);
+ field.maxValue = Long.parseLong(stripPrefix(MAXVALUE));
+ readLine();
assert startsWith(PATTERN);
field.pattern = stripPrefix(PATTERN);
field.dataStartFilePointer = data.getFilePointer();
@@ -500,6 +510,21 @@ public class SimpleTextSimpleDocValuesFo
throw new RuntimeException(ioe);
}
}
+
+ @Override
+ public long minValue() {
+ return field.minValue;
+ }
+
+ @Override
+ public long maxValue() {
+ return field.maxValue;
+ }
+
+ @Override
+ public int size() {
+ return maxDoc;
+ }
};
}
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java?rev=1411193&r1=1411192&r2=1411193&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/NumericDocValuesConsumer.java Mon Nov 19 14:16:44 2012
@@ -38,7 +38,7 @@ public abstract class NumericDocValuesCo
final Bits liveDocs = reader.getLiveDocs();
NumericDocValues source = reader.getNumericDocValues(mergeState.fieldInfo.name);
if (source == null) {
- source = NumericDocValues.DEFAULT;
+ source = new NumericDocValues.EMPTY(maxDoc);
}
for (int i = 0; i < maxDoc; i++) {
if (liveDocs == null || liveDocs.get(i)) {
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java?rev=1411193&r1=1411192&r2=1411193&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/SimpleDVConsumer.java Mon Nov 19 14:16:44 2012
@@ -85,7 +85,7 @@ public abstract class SimpleDVConsumer i
//System.out.println("merge field=" + mergeState.fieldInfo.name);
NumericDocValues docValues = reader.getNumericDocValues(mergeState.fieldInfo.name);
if (docValues == null) {
- docValues = NumericDocValues.DEFAULT;
+ docValues = new NumericDocValues.EMPTY(1);
}
for (int i = 0; i < maxDoc; i++) {
if (liveDocs == null || liveDocs.get(i)) {
Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java?rev=1411193&r1=1411192&r2=1411193&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java Mon Nov 19 14:16:44 2012
@@ -21,11 +21,36 @@ package org.apache.lucene.index;
public abstract class NumericDocValues {
// nocommit throws IOE or not?
public abstract long get(int docID);
+
+ public abstract long minValue();
+ public abstract long maxValue();
+ public abstract int size();
- public static final NumericDocValues DEFAULT = new NumericDocValues() {
- @Override
- public long get(int docID) {
- return 0;
- }
- };
+ public static final class EMPTY extends NumericDocValues {
+ private final int size;
+
+ public EMPTY(int size) {
+ this.size = size;
+ }
+
+ @Override
+ public long get(int docID) {
+ return 0;
+ }
+
+ @Override
+ public long minValue() {
+ return 0;
+ }
+
+ @Override
+ public long maxValue() {
+ return 0;
+ }
+
+ @Override
+ public int size() {
+ return size;
+ }
+ };
}