laravel 安装使用elasticsearch全文搜索引擎分词索引

麻超
2023-12-01
1 (转)https://www.cnblogs.com/hualess/p/11540477.html      安装elasticsearch服务
2 (转)https://blog.csdn.net/weixin_34650292/article/details/121845614  安装laravel扩展
     * https://www.cnblogs.com/hualess/p/11540477.html      安装服务
     * https://blog.csdn.net/weixin_34650292/article/details/121845614  安装扩展
     * [示例]:http://www.amengcms.com/admin/main/elasticsearch?keywords=介绍
     * elasticsearch 全文搜索索引,分词搜索
     * 1 下载安装(windows)ElasticSearch下载地址:https://www.elastic.co/downloads/elasticsearch
     *      进入bin目录下,双击执行elasticsearch.bat
     *      http://localhost:9200 看到json串输出说明启动成功,打开浏览器测试一下,如下图
     * 2 laravel安装扩展包
     *  composer require  elasticsearch/elasticsearch //elasticsearch核心包
        composer require tamayo/laravel-scout-elastic
        composer require laravel/scout "^8.x-dev" --dev
        php artisan vendor:publish
       最后 我们选择 9 就行啦!,之后我们要到config目录下的app.php文件中去添加上我们的elasticsearch服务
     * Laravel\Scout\ScoutServiceProvider::class
     * 然后,我们找到config目录下的scout.php文件,修改驱动为elasticsearch
     * 'driver' => env('SCOUT_DRIVER', 'elasticsearch'),
     * 并在下方添加驱动:
     *     'elasticsearch' => [
                'hosts' => [
                    env('ELASTICSEARCH_HOSTS','http://127.0.0.1:9200')
                ],
                'index' => env('ELASTICSEARCH_INDEX','laravel_es_test'),
            ]
     * 在.env文件中配置上你的elasticsearch服务器地址及索引名称
            ELASTICSEARCH_HOSTS= 你的服务器地址:9200
            ELASTICSEARCH_INDEX= 你创建的索引名称
    接着我们在elasticsearch中创建好索引,当索引创建完毕后,我们就可以通过laravel的command进行索引的创建和初始化。
    php artisan make:command EScreateIndexCommand
    然后在Console/Kernel.php中挂载上生成的类
    protected $commands = [
        \App\Console\Commands\EScreateIndexCommand::class
    ];
    如果laravel版本在8.0以上可以跳过这个步骤。来到我们创建的EScreateIndexCommand.php中,写入以下代码:见项目代码。
     * 随后在控制台运行这个文件指令(以上这些操作就是为了下面这行,可执行命令。)
     * php artisan es:create
     * 这样我们索引也就弄好了! 接着,我们需要创建一个model对象来将我们数据填入elasticsearch索引中去。
     * php artian make:model ArchivesModel
     * 请根据你自己的数据表情况而自行定义,我的仅供参考 紧接着运行指令,导入我们数据
     * php artisan scout:import "App\Models\ArchivesModel"
     * 最后,我们创建一个控制器类,来测试我们的elasticsearch是否配置成功    创建控制器的步骤我就不做赘述,验证方法如下:
     * 【注】数据库表数据变化后需要重新import,或者刷新索引。(这个类似于在缓存中查找,所以需要刷新下)

项目源码:ameng_cms: 阿猛CMS是基于php框架laravel8开发的一套CMS资讯管理系统

 类似资料: