| 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(); |
| } |