# EleasticSearch
系統支持 ElasticSearch 實現的全文搜索功能,如果您不配置 ElasticSearch,那么 文庫系統在搜索文檔的時候,會使用 MySQL 的 LIKE 進行內容搜索。
ElasticSearch 的部署,建議使用 Docker 進行部署。這里也只提供 Docker 部署 ElasticSearch 的教程。如果您不想部署到 Docker 上,請自行通過搜索引擎查找部署教程。
> 需要使用 安裝了 ik 分詞的 ElasticSearch
## 獲取 EleasticSearch 的 Docker 鏡像
~~~
[sudo] docker pull truthhun/elasticsearch:6.2.4.ik
~~~
## 運行 Elasticsearch 鏡像
命令參考:
~~~
sudo mkdir -p /www/elasticsearch/dochub/data && sudo chmod 0777 -R /www/elasticsearch/dochub/data
~~~
~~~
sudo docker run -d -p 9300:9300 -p 9200:9200 --restart always -v /www/elasticsearch/dochub/data:/usr/share/elasticsearch/data --name dochub-search truthhun/elasticsearch:6.2.4.ik
~~~
## 可能出現的報錯解決
通過上述命令,如果沒能正確啟動 ElasticSearch,如果報如下錯誤:
~~~
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
~~~
則解決辦法,參考這里:[https://blog.csdn.net/jiankunking/article/details/65448030](https://blog.csdn.net/jiankunking/article/details/65448030)
簡單概括如下:
~~~
[sudo] vi /etc/sysctl.conf
~~~
文件末尾添加如下配置(即多加一個0)并保存:
~~~
vm.max_map_count=655300
~~~
并執行命令:
~~~
sysctl -p
~~~
重啟 ElasticSearch
~~~
?復制代碼[sudo] docker restart dochub-search
~~~