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/15 19:01:40 UTC
svn commit: r1409900 - in /lucene/dev/branches/lucene4547/lucene:
codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java
core/src/test/org/apache/lucene/TestDemoDocValue.java
Author: mikemccand
Date: Thu Nov 15 18:01:39 2012
New Revision: 1409900
URL: http://svn.apache.org/viewvc?rev=1409900&view=rev
Log:
add test case
Modified:
lucene/dev/branches/lucene4547/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSimpleDocValuesFormat.java
lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/TestDemoDocValue.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=1409900&r1=1409899&r2=1409900&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 Thu Nov 15 18:01:39 2012
@@ -421,7 +421,6 @@ public class SimpleTextSimpleDocValuesFo
@Override
public Source loadSource() throws IOException {
- // nocommit todo
DocValues.Type dvType = field.fieldInfo.getDocValuesType();
if (DocValues.isNumber(dvType)) {
Source source = loadDirectSource();
@@ -576,7 +575,7 @@ public class SimpleTextSimpleDocValuesFo
@Override
public int ord(int docID) {
try {
- in.seek(field.dataStartFilePointer + field.numValues * (9 + field.pattern.length() + field.maxLength) + (1 + field.ordPattern.length()) * docID);
+ in.seek(field.dataStartFilePointer + field.numValues * (9 + field.pattern.length() + field.maxLength) + docID * (1 + field.ordPattern.length()));
SimpleTextUtil.readLine(in, scratch);
try {
return ordDecoder.parse(scratch.utf8ToString()).intValue();
Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/TestDemoDocValue.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/TestDemoDocValue.java?rev=1409900&r1=1409899&r2=1409900&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/TestDemoDocValue.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/TestDemoDocValue.java Thu Nov 15 18:01:39 2012
@@ -241,4 +241,36 @@ public class TestDemoDocValue extends Lu
ireader.close();
directory.close();
}
+
+ public void testSortedBytesTwoDocuments() throws IOException {
+ Analyzer analyzer = new MockAnalyzer(random());
+
+ // Store the index in memory:
+ Directory directory = newDirectory();
+ // To store an index on disk, use this instead:
+ // Directory directory = FSDirectory.open(new File("/tmp/testindex"));
+ // we don't use RandomIndexWriter because it might add more docvalues than we expect !!!!1
+ IndexWriterConfig iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer);
+ iwc.setMergePolicy(newLogMergePolicy());
+ IndexWriter iwriter = new IndexWriter(directory, iwc);
+ Document doc = new Document();
+ doc.add(new SortedBytesDocValuesField("dv", new BytesRef("hello world 1")));
+ iwriter.addDocument(doc);
+ doc = new Document();
+ doc.add(new SortedBytesDocValuesField("dv", new BytesRef("hello world 2")));
+ iwriter.addDocument(doc);
+ iwriter.forceMerge(1);
+ iwriter.close();
+
+ // Now search the index:
+ IndexReader ireader = DirectoryReader.open(directory); // read-only=true
+ assert ireader.leaves().size() == 1;
+ DocValues dv = ireader.leaves().get(0).reader().docValues("dv");
+ assertEquals("hello world 1", dv.getSource().getBytes(0, new BytesRef()).utf8ToString());
+ assertEquals("hello world 2", dv.getSource().getBytes(1, new BytesRef()).utf8ToString());
+
+ ireader.close();
+ directory.close();
+ }
+
}