gerlowskija 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_r365315479
########## 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'd forgotten about this, done. FWIW I buy Joel's argument that most real-world use-cases are going to require `cache=false`. But I worry that users who want caching will be bitten by this. I guess it depends how hands-on you expect users to be with their query tuning. For hands-off users, this change is best. But for hands-on users, we've just created a "gotcha". I'll make sure to add this to the ref-guide docs at the least. ---------------------------------------------------------------- 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