blob: 4dd79e19328925d4cf7c9e12b32a3883d3c0ee67 [file] [log] [blame]
diff --git a/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java b/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
index cde20e5..b6adcf0 100644
--- a/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
+++ b/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
@@ -753,6 +753,7 @@ public class MemoryIndex {
int sumPositions = 0;
int sumTerms = 0;
final BytesRef spare = new BytesRef();
+ final BytesRefBuilder payloadBuilder = storePayloads ? new BytesRefBuilder() : null;
for (Map.Entry<String, Info> entry : fields.entrySet()) {
String fieldName = entry.getKey();
Info info = entry.getValue();
@@ -760,6 +761,7 @@ public class MemoryIndex {
result.append(fieldName + ":\n");
SliceByteStartArray sliceArray = info.sliceArray;
int numPositions = 0;
+ int numPayloads = 0;
SliceReader postingsReader = new SliceReader(intBlockPool);
for (int j = 0; j < info.terms.size(); j++) {
int ord = info.sortedTerms[j];
@@ -779,6 +781,13 @@ public class MemoryIndex {
}
}
result.append(")");
+ if (storePayloads) {
+ int payloadIndex = postingsReader.readInt();
+ if (payloadIndex != -1) {
+ numPayloads += 1;
+ result.append(" : " + payloadsBytesRefs.get(payloadBuilder, payloadIndex));
+ }
+ }
if (!postingsReader.endOfSlice()) {
result.append(",");
}
@@ -791,6 +800,7 @@ public class MemoryIndex {
result.append("\tterms=" + info.terms.size());
result.append(", positions=" + numPositions);
+ result.append(", payloads=" + numPayloads);
result.append("\n");
sumPositions += numPositions;
sumTerms += info.terms.size();
diff --git a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
index 5751457..96d39aa 100644
--- a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
+++ b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
@@ -137,23 +137,33 @@ public class TestMemoryIndex extends LuceneTestCase {
MemoryIndex mi = new MemoryIndex();
mi.addField("field", "some terms be here", analyzer);
TestUtil.checkReader(mi.createSearcher().getIndexReader());
+ assertNotNull(mi.toString());
+ System.out.println(mi.toString());
// all combinations of offsets/payloads options
mi = new MemoryIndex(true, true);
mi.addField("field", "some terms be here", analyzer);
TestUtil.checkReader(mi.createSearcher().getIndexReader());
+ assertNotNull(mi.toString());
+ System.out.println(mi.toString());
mi = new MemoryIndex(true, false);
mi.addField("field", "some terms be here", analyzer);
TestUtil.checkReader(mi.createSearcher().getIndexReader());
+ assertNotNull(mi.toString());
+ System.out.println(mi.toString());
mi = new MemoryIndex(false, true);
mi.addField("field", "some terms be here", analyzer);
TestUtil.checkReader(mi.createSearcher().getIndexReader());
+ assertNotNull(mi.toString());
+ System.out.println(mi.toString());
mi = new MemoryIndex(false, false);
mi.addField("field", "some terms be here", analyzer);
TestUtil.checkReader(mi.createSearcher().getIndexReader());
+ assertNotNull(mi.toString());
+ System.out.println(mi.toString());
analyzer.close();
}