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

Adrien Grand commented on LUCENE-6766:
--------------------------------------

I think a challenge to sorting flushed segments is how we write stored fields 
and term vectors directly to the directory at index time. We should somehow 
buffer them in memory and sort on flush when a non-default sort order is 
configured? Or do you see an easier way?

I agree merge sorting feels like the right approach to this problem. The reason 
why I used SlowCompositeReaderWrapper in the first place was that merging can 
be quite tricky and using SlowCompositeReaderWrapper allowed me to reuse the 
existing merging logic of all codec components. But it is likely less efficient 
like you said.



> Make index sorting a first-class citizen
> ----------------------------------------
>
>                 Key: LUCENE-6766
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6766
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Adrien Grand
>            Priority: Minor
>         Attachments: LUCENE-6766.patch
>
>
> Today index sorting is a very expert feature. You need to use a custom merge 
> policy, custom collectors, etc. I would like to explore making it a 
> first-class citizen so that:
>  - the sort order could be configured on IndexWriterConfig
>  - segments would record the sort order that was used to write them
>  - IndexSearcher could automatically early terminate when computing top docs 
> on a sort order that is a prefix of the sort order of a segment (and if the 
> user is not interested in totalHits).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to