[ 
https://issues.apache.org/jira/browse/LUCENE-7707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15881076#comment-15881076
 ] 

Simon Willnauer commented on LUCENE-7707:
-----------------------------------------

bq. Maybe we could require that either all incoming shardIndex are undefined, 
or all are set, but you are not allowed to mix?

I think this is what we should ultimately do. I don't see a different way than 
peaking at the at the TopDocs so see if it's preset and then executed based on 
that. I can certainly add assertions...

> 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
>             Fix For: master (7.0), 6.5.0
>
>         Attachments: 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to