Cakephp3 ElasticSearch - 如何获得结果

Cakephp3 ElasticSearch - How to get results

如何从“find('all')”调用中获取数组格式的数据。

 $query->all ()->getResponse ()->getData ()['message']

给我一个 json 字符串 '{\"_source[]...}'

下面是我的代码示例

    use Cake\ElasticSearch\TypeRegistry;
    class PagesController extends AppController {
        public function index() {
            $english_pages = TypeRegistry::get ( 'EnglishPages' );
            $query = $english_pages->find ( 'all' );
         // $query = $query->getData();
         // $query->all () ;
         // $query->all ()->getResponse ()  );
         // json_decode (  stripslashes($query->all ()->getResponse ()->getData ()['message']) , true ) ;
         // echo json_last_error_msg ();
         // json_encode ( $query->all ()->getResponse ()->getData ()['message'] ) ;
       }
     }

Cakephp 文档与 Github 上的当前 Cakephp3 Elastic 搜索不一致。

它的工作原理与使用 ORM 相同:

$query = $english_pages->find('all');
$results = $query->toArray();