PHP API获取文档

时间:2016-06-28 14:11:00

标签: php api elasticsearch

我正在使用PHP API将文档发布到弹性文件中,但我需要根据它的时间戳检索最后发布的文档。

我目前使用的感知查询是:

GET index-*/type/_search
{
  "query": {
    "match_all": {}
  },
  "size": 1,
  "sort": [
    {
      "timestamp": {
        "order": "desc"
      }
    }
  ]
}

我已将其翻译为我的PHP api

$params = [
    'index' => 'index-*',
    'type' => 'type',
    'custom' => [
        'query'=> [
            'match_all'=> []
        ],
        'size'=> 1,
        'sort'=> [
           [
            'timestamp'=> [
            'order'=> 'desc'
                ]
            ]
        ]
    ]
];
$response = $client->get($params);

但不幸的是,它一直在抛出错误并要求提供错误信息。但我的ids是生成的。我不能以任何其他方式做到这一点。这有什么办法吗?感谢

1 个答案:

答案 0 :(得分:0)

您需要使用search method

$params = [
    'index' => 'index-*',
    'type' => 'type',
    'body' => [
        'query'=> [
            'match_all'=> []
        ],
        'size'=> 1,
        'sort'=> [
           [
            'timestamp'=> [
            'order'=> 'desc'
                ]
            ]
        ]
    ]
];
$response = $client->search($params);