Hi Shai, all,

I am trying to write that Filter :). But I'm a bit at loss as how to
efficiently grab the multi-values. I can access the
context.reader().document() that accesses the storedfields, but that seems
slow.

For single-value fields I use a compiled JavaScript Expression with
simplebindings as ValueSource, which seems to work quite well. The downside
is that I cannot find a way to implement multi-value through that solution.

These create for example a LongFieldSource, which uses the
FieldCache.LongParser. These parsers only seem te parse one field.

Is there an efficient way to get -all- of the (numeric) values for a field
in a document?


On Wed, Apr 23, 2014 at 4:38 PM, Shai Erera <ser...@gmail.com> wrote:

> You can do that by writing a Filter which returns matching documents based
> on a sum of the field's value. However I suspect that is going to be slow,
> unless you know that you will need several such filters and can cache them.
>
> Another approach would be to write a Collector which serves as a Filter,
> but computes the sum only for documents that match the query. Hopefully
> that would mean you compute the sum for less documents than you would have
> w/ the Filter approach.
>
> Shai
>
>
> On Wed, Apr 23, 2014 at 5:11 PM, Michael Sokolov <
> msoko...@safaribooksonline.com> wrote:
>
> > This isn't really a good use case for an index like Lucene.  The most
> > essential property of an index is that it lets you look up documents very
> > quickly based on *precomputed* values.
> >
> > -Mike
> >
> >
> > On 04/23/2014 06:56 AM, Rob Audenaerde wrote:
> >
> >> Hi all,
> >>
> >> I'm looking for a way to use multi-values in a filter.
> >>
> >> I want to be able to search on  sum(field)=100, where field has values
> in
> >> one documents:
> >>
> >> field=60
> >> field=40
> >>
> >> In this case 'field' is a LongField. I examined the code in the
> >> FieldCache,
> >> but that seems to focus on single-valued fields only, or
> >>
> >>
> >> It this something that can be done in Lucene? And what would be a good
> >> approach?
> >>
> >> Thanks in advance,
> >>
> >> -Rob
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> > For additional commands, e-mail: java-user-h...@lucene.apache.org
> >
> >
>

Reply via email to