zoukankan      html  css  js  c++  java
  • PHP 中运用 elasticsearch

    PHP扩展安装

    1. 环境要求:PHP_VERSION >= 5.3.9,composer工具


    2. 在E盘新建文件夹命名为elastic,,拷贝composer.phar到
         E:/elastic目录下面


    3. 打开命令行窗口,进入E:/elastic


    4. 在命令行运行:
          php composer.phar require elasticsearch/elasticsearch


    5. 此时E:/elastic目录下会出现一个vendor目录,安装成功


    6. 使用方法:
           require 'vendor/autoload.php'; 
          $client = new ElasticsearchClient();



    创建索引


    1. include('./vendor/autoload.php');  
    2. $elastic = new ElasticsearchClient();  
    3. $index[‘index’] = ‘log’;  //索引名称  
    4. $index[‘type’] = ‘ems_run_log’; //类型名称  
    5. $data[‘body’][‘settings’][‘number_of_shards’] = 5;  //主分片数量  
    6. $data[‘body’][‘settings’][‘number_of_replicas’] = 0; //从分片数量  
    7. $elastic->indices()->create($index);  


    插入索引数据

    1. include('./vendor/autoload.php');  
    2.   $elastic = new ElasticsearchClient();  
    3.   $index[‘index’] = ‘log’; //索引名称  
    4.   $index[‘type’] = ‘ems_run_log’; //类型名称  
    5.   $index[‘id’] = 1   //不指定id,系统会自动生成唯一id  
    6.   $index[‘body’] = array(  
    7.       ‘mac’ => 'fcd5d900beca',  
    8.       ‘customer_id’ => 3,  
    9.       ‘product_id’ => 5,  
    10.       ‘version’ => 2  
    11.   );  
    12.   $elastic->index($index);  


    查询

    1. include('./vendor/autoload.php');  
    2.   $elastic = new ElasticsearchClient();  
    3.   $index[‘index’] = ‘log’; //索引名称  
    4.   $index[‘type’] = ‘ems_run_log’; //类型名称  
    5.   $index[‘body’][‘query’][‘bool’][‘must’] = array(  
    6.         array(‘match’ => array(‘mac’ => ‘fcd5d900beca’)),  
    7.         array(‘match’ => array(‘product_id’ => 20))  
    8.        );  
    9.   $index[‘size’] = 10;  
    10.   $index[‘from’] = 200;  
    11.   $elastic->search($index);  
    12.   
    13.   
    14.  相当于sql语句:  
    15.   select*from ems_run_log where mac=‘fcd5d900beca’  
    16.   and product_id = 20 limit 200,10;  


    删除文档

      1. <pre name="code" class="php">include('./vendor/autoload.php');  
      2. $elastic = new ElasticsearchClient();  
      3. $index['index'] = 'test';  //索引名称  
      4. $index['type'] = 'ems_test'; //类型名称  
      5. $index['id'] = 2;   
      6. $elastic->delete($index);  
  • 相关阅读:
    JetBrains全家桶破解-Golang-Pycharm-IDEA等-不分平台
    k8s node update kernel
    k8s 图解
    k8s孤儿卷的问题
    k8s相关工作中常用命令
    AMQ死信引发宕机的问题
    StackStorm简介之actions
    DRF 使用入门
    python装饰器的简单实用
    type和object的关系
  • 原文地址:https://www.cnblogs.com/life_lt/p/6122767.html
Copyright © 2011-2022 走看看