Docker 部署 Elasticsearch
魔豆文库专业版支持全文搜索,内置了全文搜索引擎的同时并支持使用Elasticsearch作为全文搜索引擎。目前支持ElasticSearch 7、8 的版本。
安装docker
略
安装elasticsearch
注意:
- ES8和ES7,二选一即可。
- 不同版本的安装,以下仅为示例
安装elasticsearch 8
1. 安装es8
docker run --name es8 --restart=always -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v ./my-search:/usr/share/elasticsearch/data -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e "discovery.type=single-node" -d elasticsearch:8.11.0
注意:如果是Linux下报运行权限问题,在上述命令中加上
sudo
上述运行命令,将 ES 索引数据挂载到了当前 my-search
目录,并暴露了9200和9300端口,同时设置了ElasticSearch JVM 内存相关环境变量参数Xms
和Xmx
大小为512M,该参数可根据个人服务器硬件情况调整大小,如调整为1GB,则 -e "ES_JAVA_OPTS=-Xms1g -Xmx1g"
。
以上命令仅供参考,相应暴露端口和挂载目录以及JVM内存,可自行配置。
2. 安装ik分词
需要安装IK中文分词,以提供更好的中文搜索体验。
进入docker
docker exec -it es8 bash
安装分词
elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/8.11.0
安装完成之后,重启容器
docker restart es8
3. 设置密码
ES8开始必须设置密码,ES7倒是没遇到。
进入docker
docker exec -it es8 bash
自动设置密码
bin/elasticsearch-setup-passwords auto
控制台输出密码(注意:这里只是示例)
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N]y
Changed password for user apm_system
PASSWORD apm_system = 7P4jXIXqLOTDLOPUxdmL
Changed password for user kibana_system
PASSWORD kibana_system = daEWIojebVE7eq50CUod
Changed password for user kibana
PASSWORD kibana = daEWIojebVE7eq50CUod
Changed password for user logstash_system
PASSWORD logstash_system = r1JMm1agjHaikC0KQmnk
Changed password for user beats_system
PASSWORD beats_system = EYmQDyg9w1TViNCt6TfW
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = DoVznhNRI14IlIjoaTlo
Changed password for user elastic
PASSWORD elastic = OuPQsfBNqaFhrctwriUO
4. 访问验证
注意: es8 需要通过 HTTPS
来进行访问,因此配置的时候,需要注意!!!!!
浏览器访问: https://localhost:9200
然后输入上述的账户密码:
账户:elastic
密码:OuPQsfBNqaFhrctwriUO
输出如下信息,即表示安装成功:
{
"name" : "4f022ab0caed",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "hrDWt75ASmOostY1VlsVbQ",
"version" : {
"number" : "8.11.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "d9ec3fa628c7b0ba3d25692e277ba26814820b20",
"build_date" : "2023-11-04T10:04:57.184859352Z",
"build_snapshot" : false,
"lucene_version" : "9.8.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
安装elasticsearch 7
1. 安装es7
docker run --name es7 --restart=always -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v ./my-search:/usr/share/elasticsearch/data -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.17.14
注意:如果是Linux下报运行权限问题,在上述命令中加上
sudo
上述运行命令,将 ES 索引数据挂载到了当前 my-search
目录,并暴露了9200和9300端口,同时设置了ElasticSearch JVM 内存相关环境变量参数Xms
和Xmx
大小为512M,该参数可根据个人服务器硬件情况调整大小,如调整为1GB,则 -e "ES_JAVA_OPTS=-Xms1g -Xmx1g"
。
以上命令仅供参考,相应暴露端口和挂载目录以及JVM内存,可自行配置。
2. 安装ik分词
进入docker
docker exec -it es7 bash
安装分词
elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/7.17.14
安装完成之后,重启容器
docker restart es7
魔豆文库后台配置全文搜索
进入魔豆文库管理后台 -> 系统设置 -> 全文搜索配置,选择Elasticsearch
全文搜索,然后按照提示进行配置,配置完成之后,请手动更新一下全文索引。