2017-05-17 17 views
0

ユーザーごとにエイリアスを使用しています。私はroutingfilterをリンクしていた各エイリアスについて:ElasticSearch:再インデックスとエイリアス(ルーティングポリシーを維持する)

PUT _/<index>/_alias/[email protected]' 
{ 
    "routing": "[email protected]", 
    "filter": { 
    "term": { 
     "user": "[email protected]" 
    } 
    } 
} 

だから、私は、インデックス化し、検索がrouting情報を使用していることを設定しています。

_reindex apiを使用して、すべてのドキュメントを別のインデックスに再インデックスしたいとします。新しいインデックスを作成した後、私はすべてのエイリアスを作成しました。そこで、ルーティングポリシーを維持するためには、エイリアスを使用してドキュメントを再インデックスする必要があることがわかりました。

_reindexに設定する方法はありますか?

例:

POST _/_reindex 
{ 
    "source": { 
    "index": "old" 
    }, 
    "dest": { 
    "index": "new" 
    } 
} 
' 

任意のアイデア?

答えて

1

はい、次のことができます。this documentationによると

POST _reindex 
{ 
    "source": { 
    "index": "old", 
    "query": { 
     "term": { 
     "user": "[email protected]" 
     } 
    } 
    }, 
    "dest": { 
    "index": "new", 
    "routing": "[email protected]" 
    } 
} 
+0

あなたは私の答えにloookを取ることができますか? – Jordi

0

デフォルトで_reindexは、それがスクリプトによって変更されていますしない限り、ルーティングが保存され、その後、ルーティングとの文書を見れば。

これまでのところ、routingの情報が保存されているドキュメントごとに、既定では把握できました。

+0

ああ、私はそれを逃した。あなたが正しいと思います。 –

関連する問題