删除文档
想找个删除的api,找不到能用的,只能自己去翻译了。。。。。。
英文原文出自:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html
delete API
允许从基于其id的特定索引中删除一个JSON文档,下面的示例从twitter中删除类型为_doc的JSON文档,其id为1:
DELETE /twitter/_doc/1
上述删除操作的结果为:
{
"_shards" : { "total" : 2, "failed" : 0, "successful" : 2 },
"_index" : "twitter",
"_type" : "_doc",
"_id" : "1",
"_version" : 2,
"_primary_term": 1,
"_seq_no": 5,
"result": "deleted" }
Versioning
索引的每个文档都是版本化的。在删除文档时,可以指定版本,以确保正在删除的相关文档实际上正在被删除,同时它也没有改变。每个在文档上执行的写操作,包括删除,都会使其版本增加。删除文档的版本号可以在删除后短时间内可用,以控制并发操作。删除文档的版本仍然可用的时间长度由索引决定。gc_deletes索引设置和默认设置为60秒。
Routing
当索引使用控制路由的能力时,为了删除文档,也应该提供路由值。例如:
DELETE /twitter/_doc/1?routing=kimchy
上面的消息将会删除一条id为1的tweet,但是会基于用户发送。注意,在没有正确路由的情况下发出删除,将导致文档不被删除。
当将_routing映射设置为required且没有指定路由值时,delete api将抛出一个RoutingMissingException并拒绝该请求。
Automatic index creation
如果使用外部版本变体,删除操作会自动创建索引,如果没有之前创建(create index API手动创建一个索引),并自动创建一个动态类型映射为特定类型,如果没有之前创建(查看手动映射API创建类型映射)。
Distributed
删除操作被散列到一个特定的shard id中,然后被重定向到该id组内的主分片,并在该id组中复制(如果需要)到shard副本。
Wait For Active Shards
在删除请求时,您可以设置wait_for_active_shards参数,在开始处理删除请求之前,需要使用最少的shard副本。有关详细信息和使用示例,请参阅此处。
Refresh
在搜索时,可以看到该请求所做的更改。看到了什么?刷新。
Timeout
在执行删除操作时,指定执行删除操作的主碎片可能无法使用。一些原因可能是,主要碎片目前正在从商店中恢复,或者正在进行重新安置。默认情况下,delete操作在失败和响应一个错误前将在主分片上等待1分钟。timeout参数可用于显式指定等待的时间。这里有一个设置为5分钟的例子:
DELETE /twitter/_doc/1?timeout=5m
eg:自己的例子:
在policy_document中删除类型为policy_document的,id=e_87431dc564341cf2cc1af8d2877476df的文档
DELETE policy_document/policy_document/e_87431dc564341cf2cc1af8d2877476df
返回结果:
{
"took": 0,
"timed_out": false,
"_shards": { "total": 5, "successful": 5, "failed": 0 },
"hits": { "total": 0, "max_score": null, "hits": [] } }
今天的文章elasticsearch删除数据慢_删除数据库中表的命令分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/75851.html