0

我在索引映射中启用了“_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”字段的情况下返回最新条目,我也愿意尝试!

4

1 回答 1

0

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

json = client.search index: 'index',
                    type: 'type',
                    body: { query: { match_all: {} }, size: 1, sort: [ { _timestamp: { order: "desc"} } ] }
于 2015-07-01T20:50:38.583 回答