You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by nk...@apache.org on 2016/02/08 23:36:02 UTC
[27/50] [abbrv] lucene-solr git commit: LUCENE-6950: Fix FieldInfos
handling of UninvertingReader
LUCENE-6950: Fix FieldInfos handling of UninvertingReader
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_5_4@1724060 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/48ec10f0
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/48ec10f0
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/48ec10f0
Branch: refs/heads/branch_5_4
Commit: 48ec10f0823ca0b74f647250c4154577ed4efb80
Parents: dd0eefe
Author: Adrien Grand <jp...@apache.org>
Authored: Mon Jan 11 15:19:42 2016 +0000
Committer: Adrien Grand <jp...@apache.org>
Committed: Mon Jan 11 15:19:42 2016 +0000
----------------------------------------------------------------------
lucene/CHANGES.txt | 4 ++
.../lucene/uninverting/UninvertingReader.java | 2 +-
.../uninverting/TestUninvertingReader.java | 45 ++++++++++++++++++++
3 files changed, 50 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/48ec10f0/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 2d1e11e..db0d8c2 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -25,6 +25,10 @@ Bug Fixes
(https://scan.coverity.com/projects/5620 CID 119973 and CID 120081)
(Christine Poerschke, Coverity Scan (via Rishabh Patel))
+* LUCENE-6950: Fix FieldInfos handling of UninvertingReader, e.g. do not
+ hide the true docvalues update generation or other properties.
+ (Ishan Chattopadhyaya via Robert Muir)
+
======================= Lucene 5.4.0 =======================
New Features
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/48ec10f0/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java b/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java
index 63db357..a681981 100644
--- a/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java
+++ b/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java
@@ -216,7 +216,7 @@ public class UninvertingReader extends FilterLeafReader {
}
}
filteredInfos.add(new FieldInfo(fi.name, fi.number, fi.hasVectors(), fi.omitsNorms(),
- fi.hasPayloads(), fi.getIndexOptions(), type, -1, Collections.<String,String>emptyMap()));
+ fi.hasPayloads(), fi.getIndexOptions(), type, fi.getDocValuesGen(), fi.attributes()));
}
fieldInfos = new FieldInfos(filteredInfos.toArray(new FieldInfo[filteredInfos.size()]));
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/48ec10f0/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java
index 6300f18..24ac7cc 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java
@@ -19,6 +19,7 @@ package org.apache.lucene.uninverting;
import java.io.IOException;
import java.util.EnumSet;
+import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Map;
@@ -30,7 +31,13 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.IntField;
import org.apache.lucene.document.LongField;
+import org.apache.lucene.document.NumericDocValuesField;
+import org.apache.lucene.document.StoredField;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.Field.Store;
import org.apache.lucene.index.DocValues;
+import org.apache.lucene.index.DocValuesType;
+import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.DirectoryReader;
@@ -339,4 +346,42 @@ public class TestUninvertingReader extends LuceneTestCase {
dir.close();
}
+ public void testFieldInfos() throws IOException {
+ Directory dir = newDirectory();
+ IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(null));
+
+ Document doc = new Document();
+ BytesRef idBytes = new BytesRef("id");
+ doc.add(new StringField("id", idBytes, Store.YES));
+ doc.add(new IntField("int", 5, Store.YES));
+ doc.add(new NumericDocValuesField("dv", 5));
+ doc.add(new StoredField("stored", 5)); // not indexed
+ iw.addDocument(doc);
+
+ iw.forceMerge(1);
+ iw.close();
+
+ Map<String, Type> uninvertingMap = new HashMap<>();
+ uninvertingMap.put("int", Type.INTEGER);
+ uninvertingMap.put("dv", Type.INTEGER);
+
+ DirectoryReader ir = UninvertingReader.wrap(DirectoryReader.open(dir),
+ uninvertingMap);
+ LeafReader leafReader = ir.leaves().get(0).reader();
+
+ FieldInfo intFInfo = leafReader.getFieldInfos().fieldInfo("int");
+ assertEquals(DocValuesType.NUMERIC, intFInfo.getDocValuesType());
+
+ FieldInfo dvFInfo = leafReader.getFieldInfos().fieldInfo("dv");
+ assertEquals(DocValuesType.NUMERIC, dvFInfo.getDocValuesType());
+ assertEquals("0", dvFInfo.getAttribute("PerFieldDocValuesFormat.suffix"));
+
+ FieldInfo storedFInfo = leafReader.getFieldInfos().fieldInfo("stored");
+ assertEquals(DocValuesType.NONE, storedFInfo.getDocValuesType());
+
+ TestUtil.checkReader(ir);
+ ir.close();
+ dir.close();
+ }
+
}