Laradock-elasticsearch配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laradock-elasticsearch配置相关的知识,希望对你有一定的参考价值。

参考技术A laradock 中支持 Elasticsearch,直接搭建就可以,省去了诸多麻烦

全文搜索是很重要的功能,实现的方式也有很多种。以下通过 Laravel Scout 和 Elasticsearch 实现。先来看下各自的介绍

Laravel Scout 为 Eloquent 模型全文搜索实现提供了简单的、基于驱动的解决方案。通过使用模型观察者,Scout 会自动同步更新模型记录的索引。

Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式 JSON 文档。Elasticsearch是用 Java 开发的,并在 Apache 许可证下作为开源软件发布。官方客户端在Java、.NET(C#)、 php 、 Python 、Apache Groovy、 Ruby 和许多其他语言中都是可用的。[5]根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

新建 fake_articles 用来测试

新建模型以及数据迁移 php artisan make:model Models/FakeArticle -m
在数据迁移中 database/migrations/2019_06_13_095420_create_fake_articles_table.php 编辑如下

运行迁移 php artisan migrate
新建数据填充 php artisan make:seeder FakeArticlesSeeder
填充几条中文数据,以便后续测试

运行填充 php artisan db:seed --class=FakeArticlesSeeder

修改 app/Models/FakeArticle.php 文件如下

这一步是花费时间最多的地方,查的资料要么是过时的,要么根本不能运行。最终根据这篇 文章 修改而来。
关于 ik 分词以及 ik_max_word 和 ik_smart 的区别,不在这里赘述了,可以看下这篇 文章 。

新建文件 php artisan make:command InitEs ,编辑如下

[图片上传失败...(image-13bc2c-1576134718365)]

测试后没有问题,可以正常搜索。更多的方法参考 这里 。

参考资料: Elastic Driver for Laravel Scout 、 Laravel Scout + Elasticsearch + ik 分词

以上是关于Laradock-elasticsearch配置的主要内容,如果未能解决你的问题,请参考以下文章

E-trunk实验配置

7506E-S的irf配置

WINDOWS 7如何安装myeclipse6.0 GA E3.3.1和配置环境变量

MySQL的安装配置

Ubuntu18.04..5 配置国内镜像源:解决E: Failed to fetch

CE12800&12800E堆叠部署示例