在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
php查询es数据,yii2.0有对应的Query类,根据查询时间可以获取所需要的index和type,但是有时候也会有数据异常的情况下,比如说我查询7月份的数据但是没有7月份的index,yii2.0处理一起查询6月和7月份的数据,7月份索引不存在就返回404, <?php namespace app\models; use Yii; use yii\elasticsearch\Query; class Index_data_query extends Query { /* * 返回所有index */ public function getAllindex(){ $rows = $this->createCommand();//使用query类连接配置的集群,获取节点 $rows = json_decode(json_encode( $rows),true); $nodes=$rows['db']['nodes']; $output = array(); $index_arr = array(); foreach ($nodes as $k=>$v){ $url = $v['protocol']."://".$v['http_address']."/_cat/indices?format=json";//以json的格式返回所有节点下面所有的index相关信息 $ch = curl_init($url) ; curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回 curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; // 在启用 CURLOPT_RETURNTRANSFER 时候将获取数据返回 $output[] = curl_exec($ch) ; } if($output){ foreach ($output as $kk=>$vv){ $info_arr = json_decode($vv,true); if($info_arr){ foreach ($info_arr as $i_k=>$i_v){ $index_arr[] = $i_v['index'];//只获取index的名称 } } } } $index_arr = array_unique($index_arr); return $index_arr; } }
|
2022-08-17
2022-11-06
2022-07-18
2022-08-17
2022-07-29
请发表评论