Roll up needs documents to be sorted by the "over" field.
Check this for more details
http://lucene.472066.n3.nabble.com/Streaming-Expressions-rollup-function-returning-results-with-duplicate-tuples-td4342398.html

On Wed, Nov 1, 2017 at 3:41 PM, Kojo <rbsnk...@gmail.com> wrote:

> Wrap cartesianProduct function with fetch function works as expected.
>
> But rollup function over cartesianProduct doesn´t aggregate on a returned
> field of the cartesianProduct.
>
>
> The field "id_researcher" bellow is a Multivalued field:
>
>
>
> This one works:
>
>
> fetch(reasercher,
>
>     cartesianProduct(
>         having(
>             cartesianProduct(
>             search(schoolarship,zkHost="localhost:9983",qt="/export",
> q="*:*",
> fl="process, area, id_reasercher",sort="process asc"),
>             area
>         ),
>         eq(area, val(Anything))),
>     id_reasercher),
>     fl="name, django_id",
>     on="id_reasercher=django_id"
> )
>
>
> This one doesn´t works:
>
> rollup(
>
>     cartesianProduct(
>         having(
>             cartesianProduct(
>             search(schoolarship,zkHost="localhost:9983",qt="/export",
> q="*:*",
> fl="process, area, id_researcher, status",sort="process asc"),
>             area
>         ),
>         eq(area, val(Anything))),
>     id_researcher),
>     over=id_researcher,count(*)
> )
>
> If I aggregate over a non MultiValued field, it works.
>
>
> Is that correct, rollup doesn´t work on a cartesianProduct?
>

Reply via email to