lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilad Barkai (JIRA)" <>
Subject [jira] [Commented] (LUCENE-5155) Add OrdinalValueResolver in favor of FacetRequest.getValueOf
Date Thu, 01 Aug 2013 09:25:50 GMT


Gilad Barkai commented on LUCENE-5155:

Patch looks good.
+1 for commit.

Perhaps also document that FRNode is now comparable?

> Add OrdinalValueResolver in favor of FacetRequest.getValueOf
> ------------------------------------------------------------
>                 Key: LUCENE-5155
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/facet
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>         Attachments: LUCENE-5155.patch
> FacetRequest.getValueOf is responsible for resolving an ordinal's value. It is given
FacetArrays, and typically does something like {{arrays.getIntArray()[ord]}} -- for every
ordinal! The purpose of this method is to allow special requests, e.g. average, to do some
post processing on the values, that couldn't be done during aggregation.
> I feel that getValueOf is in the wrong place -- the calls to getInt/FloatArray are really
redundant. Also, if an aggregator maintains some statistics by which it needs to "correct"
the aggregated values, it's not trivial to pass it from the aggregator to the request.
> Therefore I would like to make the following changes:
> * Remove FacetRequest.getValueOf and .getFacetArraysSource
> * Add FacetsAggregator.createOrdinalValueResolver which takes the FacetArrays and has
a simple API .valueOf(ordinal).
> * Modify the FacetResultHandlers to use OrdValResolver.
> This allows an OVR to initialize the right array instance(s) in the ctor, and return
the value of the requested ordinal, without doing arrays.getArray() calls.
> Will post a patch shortly.

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:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message