删除线格式 ```bash
// 使用华为云镜像
sudo sed -i “s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g” /etc/apt/sources.list
sudo sed -i “s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g” /etc/apt/sources.list
sudo apt-get update
sudo 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
```bash
// 启动elasticsearch
sudo systemctl restart elasticsearch.service
// 测试是否启动成功
curl http://127.0.0.1:9200/
中文分词工具的安装可以参考 官网
// 安装ik中文分词插件
// 在/usr/share/elasticsearch路径下执行
// 注意链接中的版本号
sudo ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearch-analysis-ik-7.6.1.zip
// 重启启动elasticsearch
sudo systemctl restart elasticsearch.service
// 查看是否已经安装好了ik
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list
// 关闭elasticsearch
sudo systemctl disable elasticsearch.service
laravel中引入composer包
// 因为先前elasticsearch安装的是7.6.1.所以这里是~7.0
composer require elasticsearch/elasticsearch '~7.0'
config/database.php
'elasticsearch' => [
// Elasticsearch 支持多台服务器负载均衡,因此这里是一个数组
'hosts' => explode(',', env('ES_HOSTS')),
]
.env
ES_HOSTS=localhost
app/Providers/AppServiceProvider.php
use Elasticsearch\ClientBuilder as ESClientBuilder;
.
.
.
public function register()
{
.
.
.
// 注册一个名为 es 的单例
$this->app->singleton('es', function () {
// 从配置文件读取 Elasticsearch 服务器列表
$builder = ESClientBuilder::create()->setHosts(config('database.elasticsearch.hosts'));
// 如果是开发环境
if (app()->environment() === 'local') {
// 配置日志,Elasticsearch 的请求和返回数据将打印到日志文件中,方便我们调试
$builder->setLogger(app('log')->driver());
}
return $builder->build();
});
}
.
.
.
使用tinker进行测试
php artisan tinker
>> app('es')->info()