11using System ;
2+ using System . Collections . Generic ;
3+ using System . Collections . ObjectModel ;
24using Elasticsearch . Net ;
35
46namespace Nest
@@ -43,12 +45,15 @@ private void Reindex(IObserver<IReindexResponse<T>> observer)
4345 var resolvedTo = toIndex . Resolve ( this . _connectionSettings ) ;
4446 resolvedTo . ThrowIfNullOrEmpty ( nameof ( toIndex ) ) ;
4547
46- var indexSettings = this . _client . GetIndex ( fromIndex ) ;
47- Func < CreateIndexDescriptor , ICreateIndexRequest > settings = ( ci ) => this . _reindexRequest . CreateIndexRequest ?? ci ;
48- var createIndexResponse = this . _client . CreateIndex (
49- toIndex , ( c ) => settings ( c . InitializeUsing ( indexSettings . Indices [ resolvedFrom ] ) ) ) ;
50- if ( ! createIndexResponse . IsValid )
51- throw new ElasticsearchClientException ( PipelineFailure . BadResponse , $ "Failed to create destination index { toIndex } .", createIndexResponse . ApiCall ) ;
48+ if ( ! this . _reindexRequest . OmitIndexCreation )
49+ {
50+ var indexSettings = this . _client . GetIndex ( fromIndex ) ;
51+ Func < CreateIndexDescriptor , ICreateIndexRequest > settings = ( ci ) => this . _reindexRequest . CreateIndexRequest ?? ci ;
52+ var createIndexResponse = this . _client . CreateIndex (
53+ toIndex , ( c ) => settings ( c . InitializeUsing ( indexSettings . Indices [ resolvedFrom ] ) ) ) ;
54+ if ( ! createIndexResponse . IsValid )
55+ throw new ElasticsearchClientException ( PipelineFailure . BadResponse , $ "Failed to create destination index { toIndex } .", createIndexResponse . ApiCall ) ;
56+ }
5257
5358 var page = 0 ;
5459 var searchResult = this . _client . Search < T > (
@@ -58,6 +63,7 @@ private void Reindex(IObserver<IReindexResponse<T>> observer)
5863 . From ( 0 )
5964 . Size ( size )
6065 . Query ( q=> this . _reindexRequest . Query )
66+ . Sort ( sort=> sort . Field ( f=> f . Field ( "_doc" ) ) )
6167 . SearchType ( SearchType . Scan )
6268 . Scroll ( scroll )
6369 ) ;
0 commit comments