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

Ruby Elasticsearch API: Returning the latest entry to an index

我在索引映射中启用了“_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

我已经尝试了上述代码的几种变体,但似乎没有 return 最新的条目。我在网上找不到很多使用 Ruby elasticsearch API 语法的示例,所以非常感谢任何帮助!

如果有办法 return 最新条目而不使用“_timestamp”字段,我也愿意尝试!

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

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