Hello,

I am using BlockGroupingCollector for first time and I have some small problem with it. Indexing code is pretty much copy of the one from docs. Searching looks like this:

Filter groupEndFilter = new CachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("last", "true"))));
...
BlockGroupingCollector c = new BlockGroupingCollector(SORT_SCORE, offset + n, false, groupEndFilter);
                searcher.search(query, filter, c);
TopGroups groups = c.getTopGroups(SORT_ID, offset, 0, 1, true);
                if (groups != null) {
results.total_hits = groups.totalGroupCount.intValue();
                    for (int i = 0; i < groups.groups.length; i++)
                        if (groups.groups[i].totalHits > 0)
results.add(getResult(searcher, groups.groups[i].scoreDocs[0]));
                }

So I want to get top groups for given query with documents sorted by their IDs. For some reason I don't always get first document from group. It's like every 10th group of search results does not have document with lowest ID on first position in scoreDocs.
ID is numeric field. Sorting groups by field values works fine.
Documents also are sorted by their IDs during indexing and I'm adding them as block.

What am I doing wrong?

--
Regards,
  Grzegorz

Reply via email to