13.全文检索-ElasticSearch前置内容

传送门

 

1.Docker安装ES并且安装可视化界面kibana

docker pull elasticsearch:7.4.2

docker pull kibana:7.4.2

# 将docker里的目录挂载到linux的/mydata目录中
# 修改/mydata就可以改掉docker里的
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

# es可以被远程任何机器访问
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

# 递归更改权限,es需要访问
chmod -R 777 /mydata/elasticsearch/
# 9200是用户交互端口 9300是集群心跳端口
# -e指定是单阶段运行
# -e指定占用的内存大小,生产时可以设置32G
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2 


# 设置开机启动elasticsearch
docker update elasticsearch --restart=always

访问有这个信息es就安装成功了

 配置kibana

# kibana指定了了ES交互端口9200  # 5600位kibana主页端口
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.116.128:9200 -p 5601:5601 -d kibana:7.4.2


# 设置开机启动kibana
docker update kibana  --restart=always

看到这个就安装成功了

 安装ik分词器-默认的分词器对中文不友好

docker ps 查看容器

docker exec -it a0e /bin/bash 进入容器

yum install wget 安装wget命令

下载分词器

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip

unzip elasticsearch-analysis-ik-7.4.2.zip -d ik 解压文件

mv ik plugins/ 移动到这个文件夹下

chmod -R 777 plugins/ik 修改权限

docker restart elasticsearch 退出容器后重启

rm -rf elasticsearch-analysis-ik-7.4.2.zip 删除zip包

测试ik分词器

 

 自定义词库

调整虚拟机内存为3G

 查看内存情况

 安装Nginx:

docker run -p80:80 --name nginx -d nginx:1.10  

 删除掉原来用来拷贝的ngnix

 移动文件夹

创建html和logs文件夹

 启动我们自己要使用的nginx

docker run -p 80:80 --name nginx \
 -v /mydata/nginx/html:/usr/share/nginx/html \
 -v /mydata/nginx/logs:/var/log/nginx \
 -v /mydata/nginx/conf/:/etc/nginx \
 -d nginx:1.10

开机自启

docker update nginx --restart=always

添加分词文件

es默认访问html文件夹下的路径

 找到如下目录文件进行修改

打开远程修改字典服务,输入自己的地址

 

 改完后重启es

测试自定义词库

SpringBoot整合ES

java操作es有两种方式
1)9300: TCP
    spring-data-elasticsearch:transport-api.jar;
        springboot版本不同,ransport-api.jar不同,不能适配es版本
        7.x已经不建议使用,8以后就要废弃
2)9200: HTTP
有诸多包
    jestClient: 非官方,更新慢;
    RestTemplate:模拟HTTP请求,ES很多操作需要自己封装,麻烦;
    HttpClient:同上;
    Elasticsearch-Rest-Client:官方RestClient,封装了ES操作,API层次分明,上手简单;
最终选择Elasticsearch-Rest-Client(elasticsearch-rest-high-level-client)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值