ElasticSearchインデックスから最新のレコードを返す 質問する

ElasticSearchインデックスから最新のレコードを返す 質問する

以下の SQL クエリと同様に、ElasticSearch インデックスから最新のレコード (上位 1 つ) を返したいと思います。

SELECT TOP 1 Id, name, title 
FROM MyTable 
ORDER BY Date DESC;

これは可能ですか?

ベストアンサー1

持っていますか_タイムスタンプドキュメント マッピングで有効になっていますか?

{
    "doctype": {
        "_timestamp": {
            "enabled": "true",
            "store": "yes"
        },
        "properties": {
            ...
        }
    }
}

マッピングはここで確認できます:

http://localhost:9200/_all/_mapping

もしそうなら、これが最新のものを取得するのに有効であると思います:

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

おすすめ記事