[ https://issues.apache.org/jira/browse/LUCENE-7707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael McCandless updated LUCENE-7707: --------------------------------------- Attachment: LUCENE-7707.patch OK, here's a patch to make the boolean {{setShardIndex}} explicit; I just feed that down to {{mergeAux}} and replace the auto-detect logic it previously had. There is no back-compat break: I default the original APIs to passing {{setShardIndex=true}}. I think it's ready. > Only assign ScoreDoc#shardIndex if it was already assigned to non default > (-1) value > ------------------------------------------------------------------------------------ > > Key: LUCENE-7707 > URL: https://issues.apache.org/jira/browse/LUCENE-7707 > Project: Lucene - Core > Issue Type: Improvement > Reporter: Simon Willnauer > Assignee: Simon Willnauer > Fix For: master (7.0), 6.5.0 > > Attachments: LUCENE-7707.patch, LUCENE-7707.patch, LUCENE-7707.patch, > LUCENE-7707.patch, LUCENE-7707.patch, LUCENE-7707.patch, LUCENE-7707.patch > > > When you use TopDocs.merge today it always overrides the ScoreDoc#shardIndex > value. The assumption that is made here is that all shard results are merges > at once which is not necessarily the case. If for instance incremental merge > phases are applied the shard index doesn't correspond to the index in the > outer TopDocs array. To make this a backwards compatible but yet > non-controversial change we could change the internals of TopDocs#merge to > only assign this value unless it's not been assigned before to a non-default > (-1) value to allow multiple or sparse top docs merging. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org