2017-04-17 10 views
0

質問と一致するElasticSearchのデータを削除します。 +ElasticSearchでデータを削除する

{ 
    "_index": "employee", 
    "_type": "report", 
    "_id": "_delete_by_query", 
    "_version": 6, 
    "created": false 
} 

私は、クエリを実行するたびに、_version番号が取得する:イムElasticSeach 1.5を使用してイムは、この達成するために、このクエリを実行する:

POST employee/report/_delete_by_query 
{ 
    "query": { 
     "bool": { 
     "must": [ 
      [     
        { "match_phrase" : { "year_month" : "2016-8" } }, 
        { "term" : { "status" : "Inactive" } } 
      ] 
     ] 
     } 
    } 
} 

をそして、私はこれを行うとき、私はこの結果を得ます1。

GET employee/report/_search 
{ 
    "query": { 
     "bool": { 
     "must": [ 
      [     
        { "match_phrase" : { "year_month" : "2016-8" } }, 
        { "term" : { "status" : "Inactive" } } 
      ] 
     ] 
     } 
    } 
} 

とIMまだ取得結果: は、それから私はこれ以上の結果をそこにいることを確認するために削除された用語を、照会します!何が間違っている? ElasticSearchをリフレッシュする必要がありますか?私はいくつかのステップを逃した?

+0

この答えは助けるます。http:// stackoverflowの.com/questions/36563687/elasticsearch-2-3-delete-documents-by-query/36564375#36564375 – Val

+0

私はバージョン1.5.2で作業しているので、すでにコア機能だと思って削除してから書いていますこれに別のAPI ...間違っている? –

答えて

1

次のように削除・バイ・クエリAPIを使用しての正しい方法は、あなたがDELETE HTTPメソッドを使用して_queryエンドポイントをヒットする必要がある。すなわち:

DELETE employee/report/_query 
{ 
    "query": { 
     "bool": { 
     "must": [ 
      [     
        { "match_phrase" : { "year_month" : "2016-8" } }, 
        { "term" : { "status" : "Inactive" } } 
      ] 
     ] 
     } 
    } 
} 
関連する問題