windows入门Elasticsearch(es)之(5)php laravel实战

5 篇文章 0 订阅

首先我们来配置一下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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值