holoo/ module-elasticsearch
为Laravel创建Elasticsearch模块
Requires
- php: ^8.0.2
- guzzlehttp/guzzle: ^7.2
- php-http/mock-client: ^1.5
- psr/log: ^1.1.0
Requires (Dev)
- fakerphp/faker: ^1.9.1
- laravel/pint: ^1.0
- laravel/sail: ^1.0.1
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^6.1
- orchestra/testbench: ^7.7
- phpunit/phpunit: ^9.5
- spatie/laravel-ignition: ^1.0
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;
}
..