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

Shai Erera commented on LUCENE-4610:
------------------------------------

Talked to Gilad about it, he reminded me of the Aggregator class which is 
responsible for aggregating a document's ordinals. I.e., this is where you 
would tap in to e.g. compute functions on ordinals, aggregate by doc score etc.

So what we should do is write a NoParentsAggregator, which for every ordinal, 
counts the parents too. Such aggregator can be implemented to produce 'correct' 
counts, because in the context of a single document, it can know that it 
already counted a parent. If we do that, users will only need to set the right 
Aggregator on the FacetRequest, and we will still be able to use 
StandardFacetsAccumulator, which handles partitions as well (we don't want to 
duplicate much code).

I'll look into it, and if it makes sense, rename the issue too.
                
> Implement a NoParentsAccumulator
> --------------------------------
>
>                 Key: LUCENE-4610
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4610
>             Project: Lucene - Core
>          Issue Type: New Feature
>          Components: modules/facet
>            Reporter: Shai Erera
>
> Mike experimented with encoding just the exact categories ordinals on 
> LUCENE-4602, and I added OrdinalPolicy.NO_PARENTS, with a comment saying that 
> this requires a special FacetsAccumulator.
> The idea is to write the exact categories only for each document, and then at 
> search time count up the parents chain to compute requested facets (I say 
> count, but it can be any weight).
> One limitation of such accumulator is that it cannot be used when e.g. a 
> document is associated with two categories who share the same parent, because 
> that may result in incorrect weights computed (e.g. a document might have 
> several Authors, and so counting the Author facet may yield wrong counts). So 
> it can be used only when the app knows it doesn't add such facets, or that it 
> always asks to aggregate a 'root' that in its path this criteria doesn't hold 
> (no categories share the same parent).

--
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