Shai Erera created LUCENE-4831:
----------------------------------

             Summary: Association facets aggregators should not support 
rollupValues
                 Key: LUCENE-4831
                 URL: https://issues.apache.org/jira/browse/LUCENE-4831
             Project: Lucene - Core
          Issue Type: Bug
          Components: modules/facet
            Reporter: Shai Erera
            Assignee: Shai Erera
            Priority: Minor


While porting code to 4.2 I noticed that AssociationIntSumFacetsAggregator 
implements rollupValues by using the floatArray() rather than the int[]. This 
is probably a copy-paste mistake from AssociationFloatSum, but it got me 
thinking how come tests do not fail? After reviewing the tests I realized why 
don't fail -- associations should not work with OrdinalPolicy.NO_PARENTS. They 
do not rollupValues, but aggregate the exact ordinals' values that they meet. 
I.e. if you added Movie/Genre/Horror with confidence level 0.65, it applies to 
just that category, and not the parents. If you want to apply it to the 
parents, you need to add Movie/Genre with that confidence level (or different 
one) as well.

I am not sure though what's the best approach to handle it. Should rollupValues 
throw UOE or have a no-op impl? On one hand, you really shouldn't be calling 
that method, meaning you cannot assume that if you index association values 
with NO_PARENTS, then their parents will be aggregated.

On the other hand, someone might want to index the full hierarchy for counting 
too, using different aggregators for different requests. In that case, the 
OrdinalPolicy of that CP might be NO_PARENTS, and FacetsAccumulator will call 
rollupValues. So having a no-op method impl is quieter.

I think I'll leave a no-op impl?

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