2017-03-28 8 views
0

2つのわずかな異なるフォーマットで同じデータであるべきものを含むelasticsearchクラスタ内に2つのインデックスがあります。ただし、レコード数は異なります。各文書のIDは同じでなければなりません。 1つのインデックスに存在するIDのリストを抽出する方法はありますか?elasticsearch内の2つのインデックス間のIDの比較

+1

この回答は役に立ちました:http://stackoverflow.com/questions/22034722/tool-to-compare-elasticsearch-index-into-data-base-records-to-ascertain-inconsis/35643728#35643728私はまた、[審査官](https://github.com/consulthys/examiner)というツールで作業していますが、私はその開発に少し遅れています。 – Val

+0

うん。データベースではなく、2つのelasticsearchインデックスを精査してみる方法はありますか? – Beornwulf

答えて

0

あなたの2つの指標は、これらの文書が保存されている同じ型を持っている場合、あなたはこのようなものを使用することができます

GET index1,index2/_search 
{ 
    "size": 0, 
    "aggs": { 
    "group_by_uid": { 
     "terms": { 
     "field": "_uid" 
     }, 
     "aggs": { 
     "count_indices": { 
      "cardinality": { 
      "field": "_index" 
      } 
     }, 
     "values_bucket_filter_by_index_count": { 
      "bucket_selector": { 
      "buckets_path": { 
       "count": "count_indices" 
      }, 
      "script": "params.count < 2" 
      } 
     } 
     } 
    } 
    } 
} 

5.xで作品上記のクエリをあなたのIDが文書の中にあるフィールドであれば、それはさらにテストする方がいいです。

関連する問題