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/11/09 19:58:40 UTC
svn commit: r1407591 -
/lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java
Author: mikemccand
Date: Fri Nov 9 18:58:39 2012
New Revision: 1407591
URL: http://svn.apache.org/viewvc?rev=1407591&view=rev
Log:
add non-direct source for numbers
Modified:
lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.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=1407591&r1=1407590&r2=1407591&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 Fri Nov 9 18:58:39 2012
@@ -25,6 +25,7 @@ import java.util.Locale;
import java.util.Map;
import org.apache.lucene.codecs.BinaryDocValuesConsumer;
+import org.apache.lucene.codecs.DocValuesArraySource;
import org.apache.lucene.codecs.NumericDocValuesConsumer;
import org.apache.lucene.codecs.PerDocProducer;
import org.apache.lucene.codecs.SimpleDVConsumer;
@@ -243,14 +244,14 @@ public class SimpleTextSimpleDocValuesFo
int minValue;
};
+ final int maxDoc;
final IndexInput data;
final BytesRef scratch = new BytesRef();
final Map<String,OneField> fields = new HashMap<String,OneField>();
SimpleTextDocValuesReader(FieldInfos fieldInfos, Directory dir, SegmentInfo si, IOContext context) throws IOException {
data = dir.openInput(IndexFileNames.segmentFileName(si.name, "", "dat"), context);
-
- int maxDoc = si.getDocCount();
+ maxDoc = si.getDocCount();
while(true) {
readLine();
if (scratch.equals(END)) {
@@ -317,6 +318,22 @@ public class SimpleTextSimpleDocValuesFo
@Override
public Source loadSource() throws IOException {
// nocommit todo
+ DocValues.Type dvType = field.fieldInfo.getDocValuesType();
+ if (DocValues.isNumber(dvType)) {
+ Source source = loadDirectSource();
+ long[] values = new long[maxDoc];
+ for(int docID=0;docID<maxDoc;docID++) {
+ values[docID] = source.getInt(docID);
+ }
+ return DocValuesArraySource.forType(DocValues.Type.FIXED_INTS_64).newFromArray(values);
+ } else if (DocValues.isBytes(dvType)) {
+ // nocommit
+ return null;
+ } else if (DocValues.isSortedBytes(dvType)) {
+ // nocommit
+ return null;
+ }
+ // nocommit
return null;
}