You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by da...@apache.org on 2018/08/25 03:09:48 UTC
[11/15] lucene-solr:jira/http2: SOLR-11598: Fix bug while setting and
resetting string doc-values while exporting documents
SOLR-11598: Fix bug while setting and resetting string doc-values while exporting documents
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/9e78be40
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/9e78be40
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/9e78be40
Branch: refs/heads/jira/http2
Commit: 9e78be40c338005b75609a3b123778aea822bcf0
Parents: aa10cb7
Author: Varun Thacker <va...@apache.org>
Authored: Thu Aug 23 23:57:48 2018 -0700
Committer: Varun Thacker <va...@apache.org>
Committed: Thu Aug 23 23:57:48 2018 -0700
----------------------------------------------------------------------
.../apache/solr/handler/export/StringValue.java | 4 ++--
.../solr/handler/export/TestExportWriter.java | 23 ++++++++++++++++++++
2 files changed, 25 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/9e78be40/solr/core/src/java/org/apache/solr/handler/export/StringValue.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/export/StringValue.java b/solr/core/src/java/org/apache/solr/handler/export/StringValue.java
index b7f020b..5df4eeb 100644
--- a/solr/core/src/java/org/apache/solr/handler/export/StringValue.java
+++ b/solr/core/src/java/org/apache/solr/handler/export/StringValue.java
@@ -96,10 +96,10 @@ class StringValue implements SortValue {
}
public void setNextReader(LeafReaderContext context) throws IOException {
- if (globalDocValues instanceof MultiDocValues.MultiSortedDocValues) {
+ if (ordinalMap != null) {
toGlobal = ordinalMap.getGlobalOrds(context.ord);
- docValues = DocValues.getSorted(context.reader(), field);
}
+ docValues = DocValues.getSorted(context.reader(), field);
lastDocID = 0;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/9e78be40/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java b/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
index 6bb1bdb..206132e 100644
--- a/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
+++ b/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
@@ -84,6 +84,29 @@ public class TestExportWriter extends SolrTestCaseJ4 {
}
+ @Test
+ public void testSortingOnFieldWithNoValues() throws Exception {
+ assertU(delQ("*:*"));
+ assertU(commit());
+
+ assertU(adoc("id","1"));
+ assertU(commit());
+
+ // 10 fields
+ List<String> fieldNames = new ArrayList<>(Arrays.asList("floatdv", "intdv", "stringdv", "longdv", "doubledv",
+ "datedv", "booleandv", "field1_s_dv", "field2_i_p", "field3_l_p"));
+ for (String sortField : fieldNames) {
+ String resp = h.query(req("q", "*:*", "qt", "/export", "fl", "id," + sortField, "sort", sortField + " desc"));
+ assertJsonEquals(resp, "{\n" +
+ " \"responseHeader\":{\"status\":0},\n" +
+ " \"response\":{\n" +
+ " \"numFound\":1,\n" +
+ " \"docs\":[{\n" +
+ " \"id\":\"1\"}]}}");
+ }
+
+ }
+
public static void createIndex() {
assertU(adoc("id","1",
"floatdv","2.1",