Homestead 环境下安装 Elasticsearch 并使用 scout 进行全文检索
在homestead环境下安装elasticsearch
在homestead 的homestead.yml 配置文件中添加
features:
- elasticsearch:
version: 7
开启homestead 中的 elasticsearch
因为需要安装软件镜像在国外,所以需要设置国内的镜像
打开 homestead/scripts/features/elasticssearch.sh文件
将apt-get 安装的内容替换为
sed -i "s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
sed -i "s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
sudo apt-get update
wget https://mirrors.huaweicloud.com/elasticsearch/7.6.1/elasticsearch-7.6.1-amd64.deb
sudo apt-get -y install openjdk-11-jre
# sudo apt-get -y install elasticsearch"$installVersion"
sudo dpkg -i elasticsearch-7.6.1-amd64.deb
# Start Elasticsearch on boot
sudo update-rc.d elasticsearch defaults 95 10
设置国内的镜像
设置外网访问
在 /etc/elasticsearch/elasticsearch.yml 中添加
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1", "::1"]
重启elasticsearch
sudo service elasticsearch restart
安装ik中文分词插件
打开 /usr/share/elasticsearch/plugins
创建 文件夹
sudo mkdir ik
将下载的 https://github.com/medcl/elasticsearch-ana... 解压到 ik文件夹中
unzip xxx.zip
重启服务
sudo service elasticsearch restart
安装kibana
kibana 是一款界面管理工具 官方出品的
laravel 安装全文搜索
composer require tamayo/laravel-scout-elastic
composer require laravel/scout //版本可能不兼容 具体看composer中的兼容版本
php artisan vendor:publish //选择其中的配置文件发布
发布配置文件后需要对配置文件进行更改
'driver' => env('SCOUT_DRIVER', 'algolia'), //在env 中 添加 elasticsearch
在 scount.php 中添加
'elasticsearch' => [
'index' => env('ELASTICSEARCH_INDEX', 'products'),
'hosts' => [ env('ELASTICSEARCH_HOST', 'http://localhost'), ]
]
具体的配置看个人的配置进行
到现在基本上算是配置完成了 详细使用说明可看
本作品采用《CC 协议》,转载必须注明作者和本文链接
Laravel 项目中使用之前总结的