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