# 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
~~~