只需五步骤:
-
启动 集成 ik 中文分词插件的 Elasticsearch7.9 Docker 镜像
-
Laravel7 配置 Scout
-
配置 Model 模型
-
导入数据
-
搜索
PHP进阶30K资料,免费获取:
演示地址
搜索范围
-
文章内容
-
标题
-
标签
结果权重
-
出现关键词数量
-
出现关键词次数
搜索页面
-
高亮显示
-
分词显示
-
结果分页
前言
主要是博客刚好想做个搜索,顺便就整理成文章
Laravel + Elasticsearch 很多前辈都写过教程和案例,但是随着 Elasticsearch 和 laravel 的版本升级 以前的文章很多都不适用新版本的,建议大家使用任何开源项目时应该过一遍文档以当前使用的版本文档为主,教程为辅
-
Elasticsearch 7.9
-
Laravel 7
-
elasticsearch-analysis-ik v7.9
参考
-
ik 中文分词插件
-
elasticsearch 官方文档
使用集成 ik中文分词插件的 Elasticsearch
拉取 docker
$ docker pull ar414/elasticsearch-7.9-ik-plugin
创建日志和数据存储目录
本地映射到 docker 容器内,防止 docker 重启数据丢失
$ mkdir -p /data/elasticsearch/data$ mkdir -p /data/elasticsearch/log$ chmod -R 777 /data/elasticsearch/data$ chmod -R 777 /data/elasticsearch/log
运行
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /data/elasticsearch/data:/var/lib/elasticsearch -v /data/elasticsearch/log:/var/log/elasticsearch ar414/elasticsearch-7.9-ik-plugin
验证
$ curl http://localhost:9200{ "name" : "01ac21393985", "cluster_name" : "docker-cluster", "cluster_uuid" : "h8L336qcRb2i1aydOv04Og", "version" : { "number" : "7.9.0", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "a479a2a7fce0389512d6a9361301708b92dff667", "build_date" : "2020-08-11T21:36:48.204330Z", "build_snapshot" : false, "lucene_version" : "8.6.0", "minimum_wire_compatibility_version" : "6.8.0",