You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ry...@apache.org on 2016/03/25 20:37:28 UTC
[1/2] lucene-solr:branch_6x: SOLR-8902: Make sure ReturnFields only
returns the requested fields
Repository: lucene-solr
Updated Branches:
refs/heads/branch_6x e26a44319 -> 9cbaa028d
SOLR-8902: Make sure ReturnFields only returns the requested fields
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/8254724b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/8254724b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/8254724b
Branch: refs/heads/branch_6x
Commit: 8254724bb17fd4cf479ab34c3919d9a862ca4ea5
Parents: 39aaa10
Author: Ryan McKinley <ry...@apache.org>
Authored: Fri Mar 25 12:22:44 2016 -0700
Committer: Ryan McKinley <ry...@apache.org>
Committed: Fri Mar 25 12:22:44 2016 -0700
----------------------------------------------------------------------
solr/CHANGES.txt | 3 +++
.../org/apache/solr/response/BinaryResponseWriter.java | 11 ++++++++---
.../java/org/apache/solr/search/SolrReturnFields.java | 12 +-----------
.../test/org/apache/solr/search/ReturnFieldsTest.java | 8 ++++++++
4 files changed, 20 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8254724b/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index a9731e1..baca0df1 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -55,6 +55,9 @@ Bug Fixes
* SOLR-8857: HdfsUpdateLog does not use configured or new default number of version buckets and is
hard coded to 256. (Mark Miller, yonik, Gregory Chanan)
+* SOLR-8902: Make sure ReturnFields only returns the requested fields from (fl=) evn when
+ DocumentTransformers ask for getExtraRequestFields() (ryan)
+
Optimizations
----------------------
* SOLR-8722: Don't force a full ZkStateReader refresh on every Overseer operation.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8254724b/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java b/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java
index 6878f16..885bf78 100644
--- a/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/response/BinaryResponseWriter.java
@@ -72,8 +72,7 @@ public class BinaryResponseWriter implements BinaryQueryResponseWriter {
public static class Resolver implements JavaBinCodec.ObjectResolver , JavaBinCodec.WritableDocFields {
protected final SolrQueryRequest solrQueryRequest;
protected IndexSchema schema;
- protected SolrIndexSearcher searcher; // TODO - this is never set? always null?
- protected final ReturnFields returnFields;
+ protected ReturnFields returnFields;
public Resolver(SolrQueryRequest req, ReturnFields returnFields) {
solrQueryRequest = req;
@@ -83,7 +82,13 @@ public class BinaryResponseWriter implements BinaryQueryResponseWriter {
@Override
public Object resolve(Object o, JavaBinCodec codec) throws IOException {
if (o instanceof ResultContext) {
- writeResults((ResultContext) o, codec);
+ ReturnFields orig = returnFields;
+ ResultContext res = (ResultContext)o;
+ if(res.getReturnFields()!=null) {
+ returnFields = res.getReturnFields();
+ }
+ writeResults(res, codec);
+ returnFields = orig;
return null; // null means we completely handled it
}
if (o instanceof DocList) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8254724b/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java b/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java
index b84f4de..b667f0e 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrReturnFields.java
@@ -51,6 +51,7 @@ public class SolrReturnFields extends ReturnFields {
private final List<String> globs = new ArrayList<>(1);
// The lucene field names to request from the SolrIndexSearcher
+ // This *may* include fields that will not be in the final response
private final Set<String> fields = new HashSet<>();
// Field names that are OK to include in the response.
@@ -130,17 +131,6 @@ public class SolrReturnFields extends ReturnFields {
augmenters.addTransformer( new RenameFieldTransformer( from, to, copy ) );
}
- if( !_wantsAllFields ) {
- if( !globs.isEmpty() ) {
- // TODO??? need to fill up the fields with matching field names in the index
- // and add them to okFieldNames?
- // maybe just get all fields?
- // this would disable field selection optimization... i think thatis OK
- fields.clear(); // this will get all fields, and use wantsField to limit
- }
- okFieldNames.addAll( fields );
- }
-
if( augmenters.size() == 1 ) {
transformer = augmenters.getTransformer(0);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8254724b/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java b/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java
index f72aee8..459f959 100644
--- a/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java
+++ b/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java
@@ -264,6 +264,14 @@ public class ReturnFieldsTest extends SolrTestCaseJ4 {
assertFalse( rf.wantsField( "id" ) );
assertFalse(rf.wantsAllFields());
assertNull(rf.getTransformer());
+
+ // Don't return 'store_rpt' just because it is required by the transformer
+ rf = new SolrReturnFields( req("fl", "[geo f=store_rpt]") );
+ assertFalse( rf.wantsScore() );
+ assertTrue(rf.wantsField("[geo]"));
+ assertFalse( rf.wantsField( "store_rpt" ) );
+ assertFalse(rf.wantsAllFields());
+ assertNotNull(rf.getTransformer());
}
@Test
[2/2] lucene-solr:branch_6x: Merge branch 'branch_6x' of
https://git-wip-us.apache.org/repos/asf/lucene-solr into branch_6x
Posted by ry...@apache.org.
Merge branch 'branch_6x' of https://git-wip-us.apache.org/repos/asf/lucene-solr into branch_6x
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/9cbaa028
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/9cbaa028
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/9cbaa028
Branch: refs/heads/branch_6x
Commit: 9cbaa028dc09774395b4454c1433a1b18bbdfb53
Parents: 8254724 e26a443
Author: Ryan McKinley <ry...@apache.org>
Authored: Fri Mar 25 12:36:30 2016 -0700
Committer: Ryan McKinley <ry...@apache.org>
Committed: Fri Mar 25 12:36:30 2016 -0700
----------------------------------------------------------------------
lucene/CHANGES.txt | 12 +
.../org/apache/lucene/util/bkd/BKDWriter.java | 14 +-
.../lucene/util/bkd/OfflinePointReader.java | 25 ++
.../org/apache/lucene/util/bkd/PointReader.java | 12 +
.../highlight/WeightedSpanTermExtractor.java | 7 +-
.../custom/HighlightCustomQueryTest.java | 15 +
.../org/apache/lucene/search/join/JoinUtil.java | 274 ++++++++++++++-
.../join/PointInSetIncludingScoreQuery.java | 340 +++++++++++++++++++
.../apache/lucene/search/join/TestJoinUtil.java | 54 ++-
.../lucene/spatial3d/geom/PlanetModel.java | 120 ++++---
.../lucene/spatial3d/geom/GeoPointTest.java | 33 ++
solr/CHANGES.txt | 3 +
.../handler/component/RealTimeGetComponent.java | 13 +-
.../solr/collection1/conf/schema15.xml | 1 +
.../solr/collection1/conf/schema_latest.xml | 51 ++-
.../org/apache/solr/search/TestRealTimeGet.java | 49 ++-
16 files changed, 928 insertions(+), 95 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/9cbaa028/solr/CHANGES.txt
----------------------------------------------------------------------