Elasticesearch学习记录

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 主要记录从自建安装,以及后期使用阿里云的Elasticesearch,相关过程中的一些常用命令(导出、导入等mapping结构)涉及到Elasticesearch5.4版本迁移Elasticesearch7版本过程中的一些步骤
一. Elasticsearch安装
1. 创建网络esnetwork
$ docker network create esnetwork
2. elasticsearch安装:
$ docker run -d --name elasticsearch --net esnetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node elasticsearch-ik:1.0
3. 为了方便使用docker安装,没有做数据持久化
##todo:数据持久化
4. 安装分词(注意版本)
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/ elasticsearch-analysis-ik-7.1.1.zip
5. 在elasticsearch服务器配置文件种增加一下内容,避免跨域访问不到页面 
$ http.cors.enabled: true
$ http.cors.allow-origin:"*"
二. logstash安装
$ docker run -d--name=logstash--net esnetwork-p5044:5044 -V /data/lelastic/logstash:/usr/share/logstash -v 
/data/lelastic/test.txt:/var/log/messages logstash:7.1.1
##为了省事把logstash文件都映射出来了,其实只需要映射:/usr/share/logstash/config即可
##必须安装logstash input jdbc
##安装/usr/share/logstash/mysql-connector-java-5.1.44.jar
三. Kibana安装
##kibana功能太多,用不了这么多暂时,我用Elasticvue操作
$ docker run -d--name=kibana --network=esnetwork --restart=alwavs -v /data/elastic/kibana/config:/usr/share/kibana/config -p 5601:5601 kibana:7.1.1
#Elasticvue: elasticsearch客户端、edge浏览器产检,对标es-head,感觉比es-head好用
四. 常用命令(待补充) 
1. ES curl命令整理
$ curl -XPUT es.dev:9200/test_2001 #创建索引
$ curl -XDELETE es.dev:9200/test_2001 #删除索引
$ curl -XGET es.dev:9200/test_2001/_mapping #查看mapping结构
$ curl -XGET es.dev:9200/_cat/indices #查看所有索引
$ curl --user 用户:密码 -XGET IP:9200/索引名 #查看索引(阿里云)
$ curl -H "Content-Type: application/json" -XPUT http://es.dev:9200/idx_book?pretty -d '{mapping结构内容}' #创建mapping结构
#用可视化相关的工具会容易操作很多
五. ES5.4版本迁移到阿里云ES7版本
1. 首先导出相关索引的mapping结构
$ elasticdump --input=http://ip:9200/索引名 --output=索引名.json --type=mapping  #导出

$ elasticdump --input=索引名.json --output http://ip:9200/索引名 --type=mapping  #导入
2. 导出索引数据
$ elasticdump --input=http://ip:9200/索引名 --output=索引名.json --type=data  --timeout=40000 --limit=1000 --support-big-int #导出数据

$ elasticdump --input=索引名.json --output=http://用户:密码@IP:9200/索引名 --type=data --timeout=40000 --limit=1000 --support-big-int #导入数据,阿里云需要用户密码认证
3. 涉及以下几个需要注意的地方
3.1 因为版本的差异过大,迁移mapping的时候,会发现丢失分词,以及导入mapping的时候提示导入成功,查询却不显示mapping结构,阿里云分词是ik_max_word_stemme,5.4版本我们用的是ik_max_word和  ik_smart这两种
3.2 首先需要导出mapping后手动修改mapping结构里的分词类型,没有可视化工具的前提下,会出现上面所说的导入mapping结构不显示问题,需要用命令去创建mapping结构 curl -H "Content-Type: application/json" -XPUT http://es.dev:9200/idx_book?pretty -d '{mapping结构内容}'
3.3 mapping结构创建成功的前提下再去导入数据,就不会出现数据对不上的问题
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
存储 缓存 算法
[转]分布式唯一ID生成方案
分布式唯一ID生成方案
521 0
[转]分布式唯一ID生成方案
|
SQL 关系型数据库 MySQL
flask中生成迁移脚本并将orm模型映射至MySQL
flask中生成迁移脚本并将orm模型映射至MySQL
419 0
|
存储 机器学习/深度学习 人工智能
AI仓库管理
AI仓库管理运用人工智能优化存储、订单处理、路径规划和库存管理,提高效率、准确性,降低成本。包括智能存储推荐、订单分配、拣选路径规划、图像识别、自然语言处理、预测分析、自动化操作和实时库存跟踪。此外,集成物联网、无人机、机器人和区块链技术,提升效率和安全性。AI仓库管理为商家带来智能化决策支持和自动化解决方案。
1165 1
|
9月前
|
机器学习/深度学习 编解码 自动驾驶
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
335 3
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
XML Java Android开发
15. 【Android教程】按钮 Button/ImageButton
15. 【Android教程】按钮 Button/ImageButton
387 2
|
数据采集 监控 大数据
大数据中的ETL过程详解
【8月更文挑战第25天】ETL过程在大数据中扮演着至关重要的角色。通过合理设计和优化ETL过程,企业可以高效地整合和利用海量数据资源,为数据分析和决策提供坚实的基础。同时,随着技术的不断进步和发展,ETL过程也将不断演进和创新,以更好地满足企业的数据需求。
1014 3
|
人工智能 供应链 大数据
数字化技术核心环节及其在供应链的应用
数字化技术核心环节包括云计算、大数据、区块链、人工智能和移动互联网。这些技术相互作用,共同构建了数字化技术生态系统,推动经济社会发展。其中,云计算提供算力支持,大数据提供信息资源,区块链构建信任机制,移动互联网连接一切。区块链在供应链领域的应用尤为突出,通过数据共享、可追溯性和智能合约等特性,解决了供应链中的信息孤岛、数据真实性和业务效率等问题,提升了供应链的整体协同和管理效率。
|
人工智能
MidJourney以图生图的详细教程(含6种案例介绍)(下)
MidJourney以图生图的详细教程(含6种案例介绍)
|
固态存储 Ubuntu Linux
Linux(29) 多线程快速解压缩|删除|监视大型文件
Linux(29) 多线程快速解压缩|删除|监视大型文件
1454 1
h5+JavaScript实现一个倒计时功能
h5+JavaScript实现一个倒计时功能