2017-06-09 5 views
3

を使用してドキュメントを更新する方法を「インデックス-000001」の主破片= 5とレプリカ= 1そして、私は2つのエイリアス私はインデックスを作成したインデックスの別名

を作成していると
  1. エイリアス読み - > index- 000001
  2. エイリアス・ライト - インデックス作成と検索の目的のために>インデックス-000001

。 >インデックス-000001およびインデックス-000002

  • - それが最大容量に達したとき、私は別名書き込みのロールオーバーを行うと、それは

    1. エイリアス読みなどの新しい「インデックス-000002」と更新のエイリアスを作成しますエイリアス - 書き込み - >インデックス - 000002

    インデックス-000001に存在するドキュメントを更新/削除するにはどうすればよいですか?ドキュメントIDはドキュメントIDですが、インデックスは存在しません。インデックスの別名を使用して

    おかげ

  • 答えて

    0

    更新が直接可能ではない、このための最善の解決策は、ドキュメントIDや用語を使用した検索クエリを使用して、必要なインデックスを取得することです。インデックスを使用すると、ドキュメントを直接更新できます。

    GET alias-read/{type}/{doc_id}は、doc_idがわかっている場合、必要なドキュメントを取得します。

    DOC_IDが、それはどちらの場合も

    GET alias-read/_search 
    { 
        "term" : { "field" : "value" } 
    } 
    

    一意のid参照を使用して見つけ、その後、知られていない場合は、応答として単一のドキュメントを取得します。

    ドキュメントが取得されたら、 "_index"フィールドを使用して必要なインデックスを取得できます。

    PUT {index_name}/{type}/{id} { 
        "required_field" : "new_value" 
    } 
    

    文書を更新する。

    関連する問題