You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ja...@apache.org on 2012/01/18 15:55:58 UTC
svn commit: r1232918 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/java/org/apache/solr/response/CSVResponseWriter.java
core/src/test/org/apache/solr/response/TestCSVResponseWriter.java
Author: janhoy
Date: Wed Jan 18 14:55:57 2012
New Revision: 1232918
URL: http://svn.apache.org/viewvc?rev=1232918&view=rev
Log:
SOLR-2970: CSV ResponseWriter returns fields defined as stored=false in schema
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/CSVResponseWriter.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/response/TestCSVResponseWriter.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1232918&r1=1232917&r2=1232918&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Wed Jan 18 14:55:57 2012
@@ -484,6 +484,8 @@ Bug Fixes
* SOLR-3042: Fixed Maven Jetty plugin configuration.
(David Smiley via Steve Rowe)
+* SOLR-2970: CSV ResponseWriter returns fields defined as stored=false in schema (janhoy)
+
Other Changes
----------------------
* SOLR-2922: Upgrade commons-io and commons-lang to 2.1 and 2.6, respectively. (koji)
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/CSVResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/CSVResponseWriter.java?rev=1232918&r1=1232917&r2=1232918&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/CSVResponseWriter.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/CSVResponseWriter.java Wed Jan 18 14:55:57 2012
@@ -235,6 +235,7 @@ class CSVWriter extends TextResponseWrit
Collection<String> fields = returnFields.getLuceneFieldNames();
Object responseObj = rsp.getValues().get("response");
+ boolean returnOnlyStored = false;
if (fields==null) {
if (responseObj instanceof SolrDocumentList) {
// get the list of fields from the SolrDocumentList
@@ -251,6 +252,7 @@ class CSVWriter extends TextResponseWrit
} else {
fields.remove("score");
}
+ returnOnlyStored = true;
}
CSVSharedBufPrinter csvPrinterMV = new CSVSharedBufPrinter(mvWriter, mvStrategy);
@@ -268,9 +270,9 @@ class CSVWriter extends TextResponseWrit
FieldType ft = new StrField();
sf = new SchemaField(field, ft);
}
-
- // if we got the list of fields from the index, only list stored fields
- if (returnFields==null && sf != null && !sf.stored()) {
+
+ // Return only stored fields, unless an explicit field list is specified
+ if (returnOnlyStored && sf != null && !sf.stored()) {
continue;
}
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/response/TestCSVResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/response/TestCSVResponseWriter.java?rev=1232918&r1=1232917&r2=1232918&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/response/TestCSVResponseWriter.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/response/TestCSVResponseWriter.java Wed Jan 18 14:55:57 2012
@@ -36,7 +36,8 @@ public class TestCSVResponseWriter exten
public static void createIndex() {
assertU(adoc("id","1", "foo_i","-1", "foo_s","hi", "foo_l","12345678987654321", "foo_b","false", "foo_f","1.414","foo_d","-1.0E300","foo_dt","2000-01-02T03:04:05Z"));
- assertU(adoc("id","2", "v_ss","hi", "v_ss","there", "v2_ss","nice", "v2_ss","output"));
+ assertU(adoc("id","2", "v_ss","hi", "v_ss","there", "v2_ss","nice", "v2_ss","output", "shouldbeunstored","foo"));
+ assertU(adoc("id","3", "shouldbeunstored","foo"));
assertU(commit());
}
@@ -97,6 +98,10 @@ public class TestCSVResponseWriter exten
assertEquals("1,,hi\n2,\"hi,there\",\n"
, h.query(req("q","id:[1 TO 2]", "wt","csv", "csv.header","false", "fl","id,v_ss,foo_s")));
+ // test SOLR-2970 not returning non-stored fields by default
+ assertEquals("id,foo_b,foo_d,foo_s,foo_f,foo_i,foo_dt,foo_l,v_ss,v2_ss\n"
+ , h.query(req("q","id:3", "wt","csv", "csv.header","true", "fl","*", "rows","0")));
+
// now test SolrDocumentList
SolrDocument d = new SolrDocument();
@@ -119,6 +124,7 @@ public class TestCSVResponseWriter exten
d.addField("v2_ss","nice");
d.addField("v2_ss","output");
d.addField("score", "89.83");
+ d.addField("shouldbeunstored","foo");
SolrDocumentList sdl = new SolrDocumentList();
sdl.add(d1);