dsmiley commented on a change in pull request #1151: SOLR-13890: Add 
"top-level" DVTQ implementation
URL: https://github.com/apache/lucene-solr/pull/1151#discussion_r365066879
 
 

 ##########
 File path: solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
 ##########
 @@ -88,7 +91,20 @@ Query makeFilter(String fname, BytesRef[] byteRefs) {
     docValuesTermsFilter {//on 4x this is FieldCacheTermsFilter but we use the 
5x name any way
       @Override
       Query makeFilter(String fname, BytesRef[] byteRefs) {
-        return new DocValuesTermsQuery(fname, byteRefs);//constant scores
+        // TODO Further tune this heuristic number
+        return (byteRefs.length > 700) ? new 
TopLevelDocValuesTermsQuery(fname, byteRefs) : new DocValuesTermsQuery(fname, 
byteRefs);
+      }
+    },
+    docValuesTermsFilterTopLevel {
+      @Override
+      Query makeFilter(String fname, BytesRef[] byteRefs) {
+        return new TopLevelDocValuesTermsQuery(fname, byteRefs);
 
 Review comment:
   I believe Joel argued strongly we should default both DV impls to 
cache=false?  You can do that here (and in the other method) easily via 
WrappedQuery wrapper and setting cache=false.  I mentioned another approach 
that messes with this.localParams but perhaps that might feel hacky compared to 
WrappedQuery.  Especially so since makeFilter doesn't have access to change the 
field this.localParams.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to