2016-10-10 8 views
0

私は 'マッチ'キーワードで検索するときに表示される私の弾性にいくつかの単語があります。aioes 'delete_by_query'メソッドが機能しません

{ 
    "took": 3, 
    "timed_out": false, 
    "_shards": { 
     "total": 10, 
     "successful": 10, 
     "failed": 0 
    }, 
    "hits": { 
     "total": 1, 
     "max_score": 0.30685282, 
     "hits": [ 
     { 
      "_index": "my_words_pack", 
      "_type": "work_g1", 
      "_id": "AVetfhx1AM1sow6PcrL0", 
      "_score": 0.30685282, 
      "_source": { 
       "keyword": "morteza" 
      } 
     } 
     ] 
    } 
} 

が、私は '_id' でそれらを削除したいとき、それは見つける仕事と私は、このエラーが表示されていません。

es.delete_by_query(index='my_words_pack', doc_type='work_g1' body={"query": {"match": {"_id": "AVetfhx1AM1sow6PcrL0"}}})

エラー:

aioes.exception.NotFoundError: TransportError(404, '{"found":false,"_index":"my_words_pack","_type":"work_g1","_id":"_query","_version":1,"_shards":{"total":2,"successful":1,"failed":0}}')

答えて

1

Elasticsearchは、バージョン2.0のクエリ機能による削除を削除し、pluginとして追加しました。この能力を使いたいと思っています。

すでにドキュメントIDがあるので、これらのドキュメントをクエリではなくIDで削除する方がよいでしょう。私は、Python拡張でそれを行う方法は、

es.delete(index="my_words_pack",doc_type="work_g1",id="AVetfhx1AM1sow6PcrL0")

だと思う
関連する問題