【发布时间】:2017-04-18 11:40:07
【问题描述】:
我想删除 ElasticSearch 中与查询匹配的数据。我使用 ElasticSeach 1.5 并执行此查询以实现此目的:
POST employee/report/_delete_by_query
{
"query": {
"bool": {
"must": [
[
{ "match_phrase" : { "year_month" : "2016-8" } },
{ "term" : { "status" : "Inactive" } }
]
]
}
}
}
当我这样做时,我得到了这个结果:
{
"_index": "employee",
"_type": "report",
"_id": "_delete_by_query",
"_version": 6,
"created": false
}
每次我运行查询时,_version 数字都会得到 +1。 然后我查询已删除的条款,以检查是否没有更多结果:
GET employee/report/_search
{
"query": {
"bool": {
"must": [
[
{ "match_phrase" : { "year_month" : "2016-8" } },
{ "term" : { "status" : "Inactive" } }
]
]
}
}
}
我仍然得到结果!我做错了什么?我需要刷新 ElasticSearch 吗?我错过了一些步骤?
【问题讨论】:
-
这个答案会有所帮助:stackoverflow.com/questions/36563687/…
-
我正在使用 1.5.2 版本,所以我认为它已经是一个核心功能,然后他们将其删除,然后他们为此编写了另一个 api……我错了吗?
标签: elasticsearch