我是Elasticsearch的新手,我在Elasticsearch中有一个文档,并且该文档包含成千上万的用户视图,现在我想删除那些早于3小时的视图,为此我在Elasticsearch中编写以下查询
POST {INDEX}/_delete_by_query
{
"query": {
"bool": {
"must": [
{
"term": {
"type": "box_views"
}
},
{
"query": {
"range": {
"@created_at": {
"gte": "now-3h"
}
}
}
}
]
}
}
}
执行此查询时,出现以下错误
{“错误”:{ “根本原因”: [ { “ type”:“ parsing_exception”, “ reason”:“没有为[query]注册任何[query]”, “行”:1, “ col”:66 } ], “ type”:“ parsing_exception”, “ reason”:“没有为[query]注册任何[query]”, “行”:1, “ col”:66},“ status”:400}
答案 0 :(得分:1)
您的查询应如下所示:
POST {INDEX}/_delete_by_query
{
"query": {
"bool": {
"must": [
{
"term": {
"type": "box_views"
}
},
{
"range": {
"@created_at": {
"gte": "now-3h"
}
}
}
]
}
}
}
此外,如果您要查找较旧的文档,我认为您应该使用lte
而不是gte
。