Skip to content

Commit

Permalink
Merge pull request olivere#67 from nwolff/recreate_index_looses_mapping
Browse files Browse the repository at this point in the history
Remove Reindexer.recreateTargetIndex
  • Loading branch information
olivere committed Apr 26, 2015
2 parents 82d36c8 + edbd629 commit 6c8d508
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 52 deletions.
51 changes: 0 additions & 51 deletions reindexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ type Reindexer struct {
sourceIndex, targetIndex string
query Query
bulkSize int
shards int
replicas int
scroll string
progress ReindexerProgressFunc
statsOnly bool
Expand All @@ -56,8 +54,6 @@ func NewReindexer(client *Client, source, target string) *Reindexer {
sourceClient: client,
sourceIndex: source,
targetIndex: target,
shards: -1,
replicas: -1,
statsOnly: true,
}
}
Expand Down Expand Up @@ -85,18 +81,6 @@ func (ix *Reindexer) BulkSize(size int) *Reindexer {
return ix
}

// Shards will update the number_of_shards setting for the reindexed index.
func (ix *Reindexer) Shards(n int) *Reindexer {
ix.shards = n
return ix
}

// Replicas will update the number_of_replicas setting for the reindexed index.
func (ix *Reindexer) Replicas(n int) *Reindexer {
ix.replicas = n
return ix
}

// Scroll specifies for how long the scroll operation on the source index
// should be maintained. The default is 5m.
func (ix *Reindexer) Scroll(timeout string) *Reindexer {
Expand Down Expand Up @@ -157,11 +141,6 @@ func (ix *Reindexer) Do() (*ReindexerResponse, error) {
}
cursor, err := scanner.Do()

// Recreate the target index, optionally with new number_of_shards/number_of_replicas
if err := ix.recreateTargetIndex(); err != nil {
return nil, err
}

bulk := ix.targetClient.Bulk().Index(ix.targetIndex)

ret := &ReindexerResponse{
Expand Down Expand Up @@ -241,33 +220,3 @@ func (ix *Reindexer) commit(bulk *BulkService, ret *ReindexerResponse) (*BulkSer
bulk = ix.targetClient.Bulk().Index(ix.targetIndex)
return bulk, nil
}

// recreateTargetIndex drops the target index (if exists), then recreates
// it afresh. If shards/replicas has been specified, it will create the
// index with these options.
func (ix *Reindexer) recreateTargetIndex() error {
exists, err := ix.targetClient.IndexExists(ix.targetIndex).Do()
if err != nil {
return err
}
if exists {
if _, err := ix.targetClient.DeleteIndex(ix.targetIndex).Do(); err != nil {
return err
}
}

// Take shards/replicas into account (if specified)
settings := make(map[string]interface{})
if ix.shards > 0 || ix.replicas >= 0 {
ixs := make(map[string]interface{})
if ix.shards > 0 {
ixs["number_of_shards"] = ix.shards
}
if ix.replicas >= 0 {
ixs["number_of_replicas"] = ix.replicas
}
settings["index"] = ixs
}
_, err = ix.targetClient.CreateIndex(ix.targetIndex).BodyJson(settings).Do()
return err
}
1 change: 0 additions & 1 deletion reindexer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ func TestReindexer(t *testing.T) {
}

r := NewReindexer(client, testIndexName, testIndexName2)
r = r.Shards(1).Replicas(0)
ret, err := r.Do()
if err != nil {
t.Fatal(err)
Expand Down

0 comments on commit 6c8d508

Please sign in to comment.