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

Shai Erera commented on LUCENE-4598:
------------------------------------

Hmm ... if you pass liveDocs, then I think this becomes expensive, because of 
how MultiBits is implemented (doing binary search on every lookup). So two 
options:

# Pass liveDocs=null, this class is used for matching documents, and should 
traverse whatever the query matched. If it matched deleted docs, we should 
traverse them too?
#* Maybe even now it's a bug that it always passes liveDocs?
# Modify the class impl to work on the leaves(). But then, we'll just duplicate 
the code of MultiDocsAndPositionsEnum?

Mike, if we pass liveDocs=null, how much difference would it make if the class 
iterated on the leaves(), vs. iterating through MultiDocsAndPositionsEnum?
                
> Facet aggregation should work per segment
> -----------------------------------------
>
>                 Key: LUCENE-4598
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4598
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/facet
>            Reporter: Michael McCandless
>
> Currently the facet module uses MultiFields.* to pull the D&PEnum in 
> PayloadIterator, to access the payloads that store the facet ords.
> It then makes heavy use of .advance and .getPayload to visit all docIDs in 
> the result set.
> I think we should get some speedup if we go segment by segment instead ...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to