holoo/module-elasticsearch

为Laravel创建Elasticsearch模块

v1.0.6 2022-10-09 11:45 UTC

This package is auto-updated.

Last update: 2024-09-10 15:10:09 UTC


README

构建状态 总下载量 最新稳定版本 最新稳定版本 许可证

入门

使用此客户端假定您已安装并运行Elasticsearch服务器。

您可以使用composer在PHP项目中安装此客户端

一旦您运行了composer update命令,您必须在config/app.php文件中注册Laravel服务提供者。

安装

使用此客户端假定您已安装并运行Elasticsearch服务器。

您可以使用composer在PHP项目中安装此客户端

 ...
 // composer require holoo/module-elasticsearch
 ...

config/app.php

'providers' => [ ... // \Holoo\ModuleElasticsearch\ServiceProvider\ModuleElasticSearchServiceProvider::class,

 //php artisan vendor:publish --tag=elastic_serach
 ...

]

config/elastic

return [

   "host"=>env('ELASTICSEARCH_HOST', "https://:9200"),
   "apiKey"=>env('APIKEY', ''), 

];

环境配置 .env

在.env部分添加以下代码
...

ELASTICSEARCH_HOST =https://:9200
APIKEY=""

...

示例代码

索引

// 此插入在Elasticsearch中,它有两个方面:第一张表是名称表,第二张表是ID表,第三张表是您可以看到的供应商表,例如:...

 public function index()
   {
       $result=ElasticClient::create();
       
       $re=$result->index('index', 'my_id48848',['title'=>'test','body'=>'this is one test']);
     
       return $result->resultHit($re);
    
   } 
 ...  

搜索

这是针对Elasticsearch的,包括三个参数:第一个参数:表名是您在#索引字段中输入的名称

第二个参数是要搜索的字段名称

第三个参数是要搜索的值

例如

... 

 public function serach()
   {
       $result=ElasticClient::create();
       $re=$result->search('index', 'title', 'test');
       $r=$result->resultHit($re);
       return $r;
   } 
 ...

删除

要删除Elasticsearch中的信息,必须输入两个参数:第一个参数是列表字段中写入的表名,第二个参数是列表字段中输入的ID

... 

 public function delete()
   {
       $result=ElasticClient::create();
       $re=$result->delete('index', 'my_id48848' );
       $r=$result->resultHit($re);
       return $r;
    } 
 ...

批量

此方法用于一起执行多个操作,例如删除、添加和更新。它包含三个参数

第一个参数是表名

第二个参数用于创建或更新

第三个参数是要执行的操作类型

例如

 public function bulk()
    {
        $result=ElasticClient::create();
        $re=$result->bulk('index', ['title'=>'test','body'=>'this is one test'] ,'index');
        $r=$result->resultHit($re);
        return $r;
     } 
  ..   

提示通常设置为创建

重新索引

此方法有一个任务:从您的表中取聊天记录

它包含两个参数

例如

 public function reindex()
     {
         $result=ElasticClient::create();
           $re=$result->reindex('index', 'index2');
         $r=$result->resultHit($re);
         return $r;
      } 
   ..     

mtermvectors

通过单个请求检索多个词向量。

此方法创建您的文本向量。此方法包括

是表的第一名称,第二是您选择的表中的标识符

第三是您选择的表中的标识符

第四是要创建向量的字段名称,文本较长

如果向量包含更多字母,请将五设置为true,否则设置为false

例如

 public function reindex()
     {
         $result=ElasticClient::create();
          $re=$result->mtermvectors('index', '1','2','messages',"");
         $r=$result->resultHit($re);
         return $r;
      } 
   ..    

Dsl查询Elastic Search

使用此方法,您可以进入sql数据库。此方法适合不熟悉Elasticsearch的人。例如

 public function lists ()
     {
         $result=ElasticClient::create();
          $re=$result->query("select * from index);  ///  name table  name index 
         $r=$result->resultHit($re);
         return $r;
      } 
   .. 

列表

此方法用于显示Elasticsearch中存在的表。

参数接受表名

注意:如果您想显示所有表,您必须使用单词-all

例如

 public function lists ()
     {
         $result=ElasticClient::create();
          $re=$result->lists('index');  ///  name table or _all
         $r=$result->resultHit($re);
         return $r;
      } 
   ..