Elasticsearch-PHP 公用类 Laravel 版本

EsBase类

<?php
namespace App\Helpers\Classes;
use Elasticsearch\ClientBuilder;

class EsBaseHelper
{
    private $client;
    public function __construct($es = null)
    {
        $host = getenv('ES_SCHEME').'://'.getenv('ES_HOSTS').':'.getenv('ES_PORT');
        $hosts = array($host);
        $this->client =  ClientBuilder::create()->setHosts($hosts)->build();
    }
    public function create_index($index,$type)
    {
        $indexParams['index'] = $index;
        $indexParams['type'] = $type;
        $indexParams['body']['settings']['number_of_shards'] = 5;
        $indexParams['body']['settings']['number_of_replicas'] = 1;
        //$indexParams = json_encode($indexParams);
        $this->client->create($indexParams);
    }
    public function add_document($params)
    {
        /* $params = array();
         $params['body'] = array(
             'testField' => 'dfdsfdsf'
         );
         $params['index'] = 'my_index';
         $params['type'] = 'my_index';
         $params['id'] = 'w1231313';*/
        $ret = $this->client->index($params);
        return $ret;
    }
    public function delete_index($deleteParams)
    {
        /* $deleteParams['index'] = 'my_index55';*/
        $cc = $this->client->indices()->delete($deleteParams);
        return  $cc;
    }
    public function delete_document($deleteParams)
    {
        /*
        $deleteParams = array();
        $deleteParams['index'] = 'my_index';
        $deleteParams['type'] = 'my_index';
        $deleteParams['id'] = 'AU4Kmmj-WOmOrmyOj2qf';*/
        $retDelete = $this->client->delete($deleteParams);
        return $retDelete;
    }
    public function update_document($updateParams)
    {
        /*$updateParams = array();
        $updateParams['index'] = 'my_index';
        $updateParams['type'] = 'my_index';
        $updateParams['id'] = 'my_id';
        $updateParams['body']['doc']['asas']  = '111111';*/
        $response = $this->client->update($updateParams);
        return $response;

    }
    public function search($searchParams)
    {
        /*
        $searchParams['index'] = 'assets_7_74';
        $searchParams['type'] = 'ips';
        $searchParams['from'] = 0;
        $searchParams['size'] = 100;

        $searchParams['body']['query']['match']['ip'] = '63.143.44.13';
        */
        $retDoc = $this->client->search($searchParams);
        return $retDoc;
    }

    //只查询一个
    public function get_document($getParams){
        /*$getParams = array();
        $getParams['index'] = 'assets_42_294';
        $getParams['type'] = 'ips';
        $getParams['id'] = '123.60.50.199';*/

        $retDoc = $this->client->get($getParams);
        return $retDoc;
    }
    //判断是否存在
    public function exists($getParams){
        /* $getParams = array(
             'index' => 'my_index',
             'type' => 'my_index',
             'id' => 'w1231313'
         );*/

        $exists = $this->client->exists($getParams);
        return $exists;
    }

    public function scroll($searchParam){
        /*
        $searchParams['scroll_id'] = 'cccccc';
        $searchParams['scroll'] = '30s';
        */
        return $this->client->scroll($searchParam);

    }

    public function get_scroll_id($searchParam){
        /*
        $searchParams['index'] = 'assets_7_74';
        $searchParams['search_type'] = 'scan';
        $searchParams['scroll'] = "30s";
        $searchParams['size'] = 5000;
        $searchParams['body']['query']['match']['ip'] = '63.143.44.13';
        */
        $docs = $this->client->search($searchParam);
        //return $docs['_scroll_id'];
        return $docs;
    }
    public function bulk($bulk){
        $res = $this->client->bulk($bulk);
        return $res;
    }
}

.env

.
.
# Es
ES_HOSTS=127.0.0.1
ES_PORT=9200
ES_SCHEME=http
ES_USER=
ES_PASS=
本作品采用《CC 协议》,转载必须注明作者和本文链接
Vckin
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!