php中elasticsearch scroll方式查询
首页->学习资料->微服务治理->elasticsearch
关键词: 发布时间:2021-03-25 13:16:50 浏览次数:1780
/** * scroll方式从es中查数据 * * $fields = [ * 'ticket_no' * ]; * $query = [ * 'term' => [ * 'third_order_id' => $thirdOrderId, * ] * ]; * * @param array $fields 要返回的字段名 * @param array $query 查询条件 * @param bool $justNo 是否只返回工单号 * @param array $sort 排序条件 * @return array */ public function getEsDataByScroll(array $fields, array $query, $justNo, array $sort = []) { $result = []; $client = $this->connectElasticsearch(); $esConfig = $this->container->getParameter('elasticsearch_indexs'); $index = !empty($esConfig['tickets_index']) ? $esConfig['tickets_index'] : ''; if (empty($sort)) { $sort = [ [ 'create_time' => [ 'order' => 'desc', 'unmapped_type' => 'date' ] ] ]; } $search = [ 'index' => $index, 'type' => 'tk_tickets', 'from' => 0, 'size' => 10000, 'scroll' => '5m', 'body' => [ '_source' => $fields, 'query' => [ 'bool' => [ 'must' => $query ] ], 'sort' => $sort ] ]; $rows = $client->search($search); //再次查询,直至取完 while (!empty($rows['hits']['hits'])) { $result = array_merge($result, $rows['hits']['hits']); $scrollId = empty($rows['_scroll_id']) ? '' : $rows['_scroll_id']; $scrollParam['scroll'] = '5m'; $scrollParam['scroll_id'] = $scrollId; $rows = $client->scroll($scrollParam); } if (!empty($result) && $justNo) { $ticketNos = []; foreach ($result as $v) { if (!empty($v['_source']['ticket_no'])) { array_push($ticketNos, $v['_source']['ticket_no']); } } $result = $ticketNos; } return $result; }
赞:(0)
踩:(0)
- 相关文章
- elasticsearch插入时报错:invalid
- 无法访问虚拟机上的elasticsearch
- elasticsearch scroll方式查询时sc
- elasticsearch批量更新数据
- centos7.4下安装elasticsearch
- Elasticsearch 实时分布式搜索分析
- Elasticsearch 权威指南(中文版)
- elasticsearch查询实例-模拟数据
- elasticsearch-建立indice(相当于s
- elasticsearch建立mapping-相当于s
- 热门文章
- win7中将文件拷贝到虚拟机linux下
- phpexcel设置行高及列宽,背景颜色,
- rabbitmq无法启动
- intellij idea不显示git push按钮
- php7中使用mongodb的aggregate进行
- centos7.4 64位下swoole安装及配置
- laravel页面静态化的方法
- navicate连接mycat报1184错误
- 单点登录sso原理及php实现方式及de
- devops-jenkins容器为pending状态
- 好评文章
- phpexcel设置行高及列宽,背景颜色,
- php7中使用mongodb的aggregate进行
- intellij idea打开文件所在文件夹
- windows下使用MongoDB Compass Com
- win7中将文件拷贝到虚拟机linux下
- laravel 中悲观锁 & 乐观锁的使用
- 单点登录sso原理及php实现方式及de
- navicate连接mycat报1184错误
- rabbitmq无法启动
- laravel整合dingo/api方法步骤:jwt
- 我的项目
- 【github】www.github.com/hurong241
- 【码云】gitee.com/hu_rong/projects
- 【docker hub】hub.docker.com/repositories/hurong241
- 【packagist】packagist.org/users/hurong241/packages
- 站点信息
- 建站时间:2011年
- 文章数:607篇
- 浏览数:941420