Homestead 環境下安裝 Elasticsearch 並使用 scout 進行全文檢索

快樂壯發表於2020-04-01

在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 //選擇其中的配置檔案釋出

img

釋出配置檔案後需要對配置檔案進行更改

'driver' => env('SCOUT_DRIVER', 'algolia'), //在env 中 新增   elasticsearch

在 scount.php 中新增

'elasticsearch' => [    
    'index' => env('ELASTICSEARCH_INDEX', 'products'),   
    'hosts' => [        env('ELASTICSEARCH_HOST', 'http://localhost'),   ]
]

具體的配置看個人的配置進行

到現在基本上算是配置完成了 詳細使用說明可看

Scout 全文搜尋《Laravel 7 中文文件》

本作品採用《CC 協議》,轉載必須註明作者和本文連結

好好學習天天向上

相關文章