[ 
https://issues.apache.org/jira/browse/SOLR-13890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17002416#comment-17002416
 ] 

Joel Bernstein edited comment on SOLR-13890 at 12/23/19 6:09 PM:
-----------------------------------------------------------------

I dug into this pretty deeply and I believe there is large advantage to the top 
level doc values approach when there is a large number of terms. The reason is 
that *MultiSortedSetDocValues.lookupOrd*  (in MultiDocValues) is really clever, 
so the overhead of doing the top level term lookup is much less than doing the 
segment by segment term lookups. Using the top level ordinals inside of the 
scorer would be possible also but seemed kind of awkward. But, in theory using 
top level ordinals in the scorer would get similar similar performance as this 
patch.


was (Author: joel.bernstein):
I dug into this pretty deeply and I believe there is large advantage to top 
level doc values approach when there is a large number of terms. The reason is 
that *MultiSortedSetDocValues.lookupOrd*  (in MultiDocValues) is really clever, 
so the overhead of doing the top level term lookup is much less than doing the 
segment by segment term lookups. Using the top level ordinals inside of the 
scorer would be possible also but seemed kind of awkward. But, in theory using 
top level ordinals in the scorer would get as similar performance as this patch.

> Add postfilter support to {!terms} queries
> ------------------------------------------
>
>                 Key: SOLR-13890
>                 URL: https://issues.apache.org/jira/browse/SOLR-13890
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: query parsers
>    Affects Versions: master (9.0)
>            Reporter: Jason Gerlowski
>            Assignee: Jason Gerlowski
>            Priority: Major
>         Attachments: SOLR-13890.patch, SOLR-13890.patch, SOLR-13890.patch
>
>
> There are some use-cases where it'd be nice if the "terms" qparser created a 
> query that could be run as a postfilter.  Particularly, when users are 
> checking for hundreds or thousands of terms, a postfilter implementation can 
> be more performant than the standard processing.
> WIth this issue, I'd like to propose a post-filter implementation for the 
> {{docValuesTermsFilter}} "method".  Postfilter creation can use a 
> SortedSetDocValues object to populate a DV bitset with the "terms" being 
> checked for.  Each document run through the post-filter can look at their 
> doc-values for the field in question and check them efficiently against the 
> constructed bitset.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to