Elasticsearch delete_by_query错误用法

Alb*_*ert 0 python elasticsearch elasticsearch-py

我正在使用 2 个类似的 ES 方法来加载和删除文档:

result = es.search(index='users_favourite_documents',
                   doc_type='favourite_document',
                   body={"query": {"match": {'user': user}}})
Run Code Online (Sandbox Code Playgroud)

和:

result = es.delete_by_query(index='users_favourite_documents',
                            doc_type='favourite_document',
                            body={"query": {"match": {'user': user}}})
Run Code Online (Sandbox Code Playgroud)

第一个工作正常并返回预期记录。
第二个抛出异常:

"TransportError(404,'{
\"found\":false,
\"_index\":\"user_favourite_documents\",
\"_type\":\"favourite_document\",
\"_id\":\"_query\" ,\"_version\":1,
\"_shards\":{\"总计\":2,\"成功\":2,\"失败\":0}}')"

我究竟做错了什么?

Ham*_*ref 5

我使用了 Elastic Stack 6.2.0 版本,并且使用 API 进行删除,如下所示:

es.delete_by_query(index="index_name", doc_type='doc_type', body={"query":{"match": {"message": "message_value"}}})
Run Code Online (Sandbox Code Playgroud)

如果您的值是 INT,请删除 message_value 中的“”。