Elasticsearch获得最近十个添加的事件

时间:2014-02-26 11:47:46

标签: elasticsearch

我有一个包含多种类型的索引,其中一种是事件,我希望按开始日期排序最后10个事件

{

"from":0, 
"size":10,
"query":{
    "range":{
        "start":{
            "from":"2014-02-25 00:00:01 UTC",
            "to":"2014-03-04 23:59:00 UTC"
        }
    }
},
"filter" :{
    "and": [
        {
            "type": {
                "value": "event"
            }
        }
    ]
},
"sort":[
    { "start":
        {"order":"asc"}
    }
]
}

我尝试过以上查询的变体但似乎无法使其正常工作,弹性搜索不会应用类型过滤器

2 个答案:

答案 0 :(得分:1)

上面的过滤器语法是正确的(并且不需要)。

如果您只是对事件感兴趣,那么您也可以查询其端点(例如localhost:9200/idx/event/_search

答案 1 :(得分:1)

实际上,如果要在查询中使用“类型”,则必须使用带有下划线的“_type”名称。这是一个例子:

POST /items/_search
{
    "query": {
        "match": {
           "_type": "item"
        }
    }
}