Ruby Elasticsearch API:返回索引的最新条目

时间:2015-07-01 19:55:18

标签: ruby elasticsearch elasticsearch-api

我启用了" _timestamp"索引映射中的字段,我使用elasticsearch REST API成功检索到索引的最新条目。我使用的POST请求的主体如下所示:

{
    "query": {
        "match_all": {}
    },
    "size": "1",
    "sort": [
        {
            "_timestamp": {
                "order": "desc"
            }
        }
    ]
}

现在我试图将其转换为Ruby elasticsearch-api语法......这就是我到目前为止所做的:

client = Elasticsearch::Client.new host: 'blahblahblah:9200'
json = client.search index: 'index', 
                type: 'type',
                body: { query: { match_all: {} }},
                sort: '_timestamp',
                size: 1

我已尝试过上述代码的几种变体,但似乎没有任何内容可以返回最新的条目。我无法使用Ruby elasticsearch API语法在线找到很多示例,因此非常感谢任何帮助!

如果有办法在不使用" _timestamp"的情况下返回最新条目我也很乐意尝试这个!

1 个答案:

答案 0 :(得分:0)

我终于找到了正确的语法:

json = client.search index: 'index',
                    type: 'type',
                    body: { query: { match_all: {} }, size: 1, sort: [ { _timestamp: { order: "desc"} } ] }