首先我们来配置一下es多节点:
之前安装里面说明了一个安装教程,
使用准备
1:使用分词就需要安装扩展,在bin下面安装analysis-icu和ik分词组件,不知道怎么安装查看组件安装文章
elasticsearch-plugin install analysis-icu
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-7.10.0.zip
安装好后如下图
2:重启后能看到新增的两个组件
3:安装好我们postman测试一下啊插件:
http://127.0.0.1:9201/_analyze
数据:也可以换成"analyzer": "standard"具体请百度或者参考官方Elasticsearch: analyzer设置,因为英语水平有限
{
"text": "这是第一个组件",
"analyzer": "icu_analyzer"
}
效果
php:laravel框架中使用
1:首先下载一个laravel框架:
composer create-project --prefer-dist laravel/laravel esdemo
出现successfully表示安装ok了
2:首先假设我需要对文章操作
那么我就生成一张article表的迁徙文件
php artisan make:model Models/Article -m
3:我这里article表修改larvael里面代码如下:
这里不知道怎么操作请移步laravel官方表迁徙
public function up()
{
Schema::create('demo_articles', function (Blueprint $table) {
$table->increments('art_id')->comment("文章id");
$table->string('name')->comment("文章标题");
$table->tinyInteger('art_type')->default(1)->comment('文章类型:1 内部 2 转载');
$table->tinyInteger('state')->default(1)->comment(
'是否发布 1:待发布 2:已发布 3:已删除'
);
$table->text('desc')->nullable()->comment("文章详情");
$table->string('tags',180)->nullable()->comment("tags");
$table->timestamp('deleted_at')->nullable();
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('demo_articles');
}
4:修改.env数据库链接,和检查config/database.php
5:配置好运行
php artisan migrate
6:新建对应的模型Article
/**
* 数据表主键
* @var string
*/
protected $primaryKey = 'art_id';
/**
* 与模型关联的表名
* @var string
*/
protected $table = 'demo_articles';
7:larvael组件安装完成之后因为laravel官方提供组件扩展库里面有Scout 全文搜索
7.1安装扩展,在config下生成配置文件请参考官网
composer require laravel/scout
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
使用es到这里有三种,
1:elasticsearch/elasticsearch官方安装方式
2:laravel在github上维护的laravel-scout-elastic
3:第三种就是github上个人修改版的但是也是维护的相当不错的也不少
这里我就说说官方的,毕竟有可能用的框架不一样,这里就举例第一种
2:安装php es扩展
composer require elasticsearch/elasticsearch
es对应官方文档地址:安装 | Elasticsearch-PHP | Elastic
2.1如果需要日志记录官方推荐安装monlog日志记录
composer require monolog/monolog