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

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

Thanks, I'll run tests again just to make sure and commit.

I'm glad that it sped things up. I was skeptic that duplicating MultiDPE logic 
into PayloadIterator will improve anything, but perhaps these results show that 
people should consider moving to the per-segment API. Maybe we need a separate 
benchmark to prove that ...

PayloadIterator is just a utility class that encapsulates a logic that is 
similar to TermsEnum.seekExact. I.e., if DISI had an advanceExact(doc), I'm 
quite sure that we wouldn't need that class. I think that DISI.advanceExact is 
not that complicated to implement, and possibly even as a final method (so it 
doesn't affect any DISI out there), by calling advance() and docID(). I'll 
think about it and perhaps open an issue for it.

Then, PayloadIterator could be annihilated completely, and maybe we can make 
CLI a per-segment thing too, and FacetsAccumulator will iterate per-segment. 
It's a bigger change though, so I agree with "save that for another day" :).
                
> Change PayloadIterator to not use top-level reader API
> ------------------------------------------------------
>
>                 Key: LUCENE-4598
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4598
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/facet
>            Reporter: Michael McCandless
>         Attachments: LUCENE-4598.patch, LUCENE-4598.patch, LUCENE-4598.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to