我有以下查询,我试图用来从ElasticSearch索引中删除数据.
{
"filter": {
"and": [
{
"range": {
"Time": {
"from": "20120101T000000",
"to": "20120331T000000"
}
}
},
{
"term": {
"Source": 1
}
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我试图根据此查询删除文档.当我针对索引运行它时,此查询返回结果.但是当我尝试对索引运行删除命令时,没有任何反应.
我不确定我是在构建错误的查询还是其他什么.
jav*_*nna 10
您只使用过滤器,而查询API删除可能需要查询.您可以使用过滤后的查询将过滤器转换为查询,如下所示:
{
"filtered" : {
"query" : {
"match_all" : {}
},
"filter": {
"and": [
{
"range": {
"Time": {
"from": "20120101T000000",
"to": "20120331T000000"
}
}
},
{
"term": {
"Source": 1
}
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
否则,您可以使用带有两个必须子句的bool查询将过滤器转换为查询,这样您就不再需要过滤查询了.无论如何,我猜过滤器方法更好,因为过滤器更快.
| 归档时间: |
|
| 查看次数: |
8193 次 |
| 最近记录: |