Elasticsearch按查询删除未完成删除
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch按查询删除未完成删除相关的知识,希望对你有一定的参考价值。
我需要删除5.5 Elasticsearch集群中的大量文档。我知道执行此操作的最佳方法是在没有预期文档的情况下重建集群,但是在我们的情况下这是不可能的。我运行以下查询,该查询从集群中一部分索引中删除文档:
GET myindex_1*/doc_type/_delete_by_query
{
"query": {
"bool": {
"filter": [
{
"terms": {
"typeCode": [
"Filtered_Type"
]
}
}
],
"must": [
{
"range": {
"createdDateUTC": {
"lt": "2017-10-28"
}
}
}
]
}
}
}
它开始删除文档几个小时,但随后停止,我不得不再次开始。为什么停止运行删除查询的任何想法?
请注意,我正在使用Kibana运行查询,并且尽管我可以看到它在后端继续删除,但请求在客户端超时。
答案
来自here:
默认情况下,_delete_by_query使用滚动批处理1000。您可以使用scroll_size URL参数更改批处理大小:
POST twitter/_delete_by_query?scroll_size=5000
{
"query": {
"term": {
"user": "kimchy"
}
}
}
您可以在此处找到有关批量和批量大小的信息:
以上是关于Elasticsearch按查询删除未完成删除的主要内容,如果未能解决你的问题,请参考以下文章
java操作elasticsearch实现查询删除和查询所有
PHP:如果用户未按下提交按钮,Mysql 回滚多个查询(通过 ajax 完成)