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);  
  • 相关阅读:
    审计 6 SSRF和任意文件读取
    审计5 文件包含漏洞
    审计4 XSS
    owasp Top 10 个人总结
    审计3(由安装引起的服务器沦陷)
    python批量爆破后台目录脚本
    python批量检测注入点脚本
    对VAuditDemo的审计<2>
    工作总结(一)
    使用vue upload 标签上传图片后端MultipartFile 为null
  • 原文地址:https://www.cnblogs.com/life_lt/p/6122767.html
Copyright © 2011-2022 走看看