![](/img/trans.png)
[英]Querying ElasticSearch document based on particular value without knowing field name
[英]Elasticsearch delete a document based on a field value
我是Elasticsearch的新手,正在尝试找出一种删除包含以时间戳为字段值的文档的方法。
我有一个文档,字段名为lastmodifiedtime 。 该字段的类型为long,用于存储时间戳(即自EPOCH。ex,1486709502起的毫秒数)。
现在,我有一个用例,需要删除lastmodifiedtime早于一天的所有文档。 因此,我找出与一天前时间相对应的timstamp值,然后尝试删除文档。
我尝试了REST调用,如下所示
DELETE http://localhost:9200/testindex/testtype/_query
"query": {
"term" : {
"lastmodifiedtime" : {
"lte": 1486709504
}
}
}
但是得到以下响应:
{
"found": false,
"_index": "testindex",
"_type": "testtype",
"_id": "_query",
"_version": 4,
"result": "not_found",
"_shards":
{
"total": 2,
"successful": 1,
"failed": 0
}
}
您能帮我如何处理这种情况吗?
您可以使用delete_by查询api
POST http://localhost:9200/testindex/testtype/_delete_by_query
{
"query": {
"range": {
"lastmodifiedtime": {
"lte": 1486709504
}
}
}
}
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.