Elasticesearch学习记录

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 主要记录从自建安装,以及后期使用阿里云的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结构创建成功的前提下再去导入数据,就不会出现数据对不上的问题
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
6月前
|
关系型数据库 MySQL
Mysql基础第七天,检索数据
Mysql基础第七天,检索数据
50 0
Mysql基础第七天,检索数据
|
6月前
|
关系型数据库 MySQL
Mysql基础第八天,排序检索数据
Mysql基础第八天,排序检索数据
45 1
|
数据库
学习笔记:MOOC 文献管理与信息分析(三)
学习笔记:MOOC 文献管理与信息分析(三)
117 0
学习笔记:MOOC 文献管理与信息分析(三)
|
存储 数据库
学习笔记:MOOC 文献管理与信息分析(二)
学习笔记:MOOC 文献管理与信息分析(二)
372 0
学习笔记:MOOC 文献管理与信息分析(二)
|
搜索推荐
学习笔记:MOOC 文献管理与信息分析(一)
学习笔记:MOOC 文献管理与信息分析(一)
98 0
学习笔记:MOOC 文献管理与信息分析(一)
|
前端开发 C语言
带你读书之“红宝书”:第十章 函数⑦
带你读书之“红宝书”:第十章 函数⑦
94 0
带你读书之“红宝书”:第十章 函数⑦
ADS2020安装陷阱你学废了吗,小白狂喜教程
ADS2020安装陷阱你学废了吗,小白狂喜教程
856 0
ADS2020安装陷阱你学废了吗,小白狂喜教程
|
XML 缓存 PHP
kithara函数学习记录
kithara函数学习记录
|
Python
零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)(七)
零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)(七)
188 0
零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)(七)
|
数据可视化 人机交互 Python
零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)(一)
零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)(一)
282 0
零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)(一)