Elasticsearch 核心技术与实战
阮一鸣
eBay Pronto 平台技术负责人
66492 人已学习
新⼈⾸单¥68
课程目录
已完结/共 100 讲
第八章:保护你的数据 (3讲)
第十一章:索引生命周期管理 (2讲)
第十二章:用Logstash和Beats构建数据管道 (3讲)
第十三章:用Kibana进行数据可视化分析 (4讲)
实战1:电影搜索服务 (3讲)
实战2:Stackoverflow用户调查问卷分析 (3讲)
备战:Elastic认证 (5讲)
Elasticsearch 核心技术与实战
登录|注册
留言
18
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 21 | Index Template和Dynamic Template
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述及学习建议
03 | Elasticsearch简介及其发展历史
04 | Elastic Stack家族成员及其应用场景
05 | Elasticsearch的安装与简单配置
06 | Kibana的安装与界面快速浏览
07 | 在Docker容器中运行Elasticsearch Kibana和Cerebro
08 | Logstash安装与导入数据
09 | 基本概念:索引、文档和REST API
10 | 基本概念:节点、集群、分片及副本
11 | 文档的基本CRUD与批量操作
12 | 倒排索引介绍
13 | 通过Analyzer进行分词
14 | Search API概览
15 | URI Search详解
16 | Request Body与Query DSL简介
17 | Query String&Simple Query String查询
18 | Dynamic Mapping和常见字段类型
19 | 显式Mapping设置与常见参数介绍
20 | 多字段特性及Mapping中配置自定义Analyzer
21 | Index Template和Dynamic Template
22 | Elasticsearch聚合分析简介
23 | 第一部分总结
24 | 基于词项和基于全文的搜索
25 | 结构化搜索
26 | 搜索的相关性算分
27 | Query&Filtering与多字符串多字段查询
28 | 单字符串多字段查询:Dis Max Query
29 | 单字符串多字段查询:Multi Match
30 | 多语言及中文分词与检索
31 | Space Jam,一次全文搜索的实例
32 | 使用Search Template和Index Alias查询
33 | 综合排序:Function Score Query优化算分
34 | Term&Phrase Suggester
35 | 自动补全与基于上下文的提示
36 | 配置跨集群搜索
37 | 集群分布式模型及选主与脑裂问题
38 | 分片与集群的故障转移
39 | 文档分布式存储
40 | 分片及其生命周期
41 | 剖析分布式查询及相关性算分
42 | 排序及Doc Values&Fielddata
43 | 分页与遍历:From, Size, Search After & Scroll API
44 | 处理并发读写操作
45 | Bucket & Metric聚合分析及嵌套聚合
46 | Pipeline聚合分析
47 | 作用范围与排序
48 | 聚合分析的原理及精准度问题
49 | 对象及Nested对象
50 | 文档的父子关系
51 | Update By Query & Reindex API
52 | Ingest Pipeline & Painless Script
53 | Elasticsearch数据建模实例
54 | Elasticsearch数据建模最佳实践
55 | 第二部分总结回顾
56 | 集群身份认证与用户鉴权
57 | 集群内部安全通信
58 | 集群与外部间的安全通信
59 | 常见的集群部署方式
60 | Hot & Warm架构与Shard Filtering
61 | 分片设计及管理
62 | 如何对集群进行容量规划
63 | 在私有云上管理Elasticsearch集群的一些方法
64 | 在公有云上管理与部署Elasticsearch集群
65 | 生产环境常用配置与上线清单
66 | 监控Elasticsearch集群
67 | 诊断集群的潜在问题
68 | 解决集群Yellow与Red的问题
69 | 提升集群写性能
70 | 提升集群读性能
71 | 集群压力测试
72 | 段合并优化及注意事项
73 | 缓存及使用Breaker限制内存使用
74 | 一些运维的相关建议
75 | 使用Shrink与Rollover API有效管理时间序列索引
76 | 索引全生命周期管理及工具介绍
77 | Logstash入门及架构介绍
78 | 利用JDBC插件导入数据到Elasticsearch
79 | Beats介绍
80 | 使用Index Pattern配置数据
81 | 使用Kibana Discover探索数据
82 | 基本可视化组件介绍
83 | 构建Dashboard
84 | 用Monitoring和Alerting监控Elasticsearch集群
85 | 用APM进行程序性能监控
86 | 用机器学习实现时序数据的异常检测(上)
87 | 用机器学习实现时序数据的异常检测(下)
88 | 用ELK进行日志管理
89 | 用Canvas做数据演示
90 | 项目需求分析及架构设计
91 | 将电影数据导入Elasticsearch
92 | 搭建你的电影搜索服务
93 | 需求分析及架构设计
94 | 数据Extract & Enrichment
95 | 构建Insights Dashboard
96 | Elastic认证介绍
97 | 考点梳理
98 | 集群数据备份
99 | 基于Java和Elasticseach构建应用
100 | 结课测试&结束语
登录 后留言

全部留言(18)

  • 最新
  • 精选
gongxt
比如说我创建了一个3节点的集群,然后副本设置为5,es的这个副本也是分到3个节点中吗,不关心节点的数量?

作者回复: 副本会确保和主分片不分配在一个节点上。如果节点过少,副本过多,会导致副本分片无法分配,集群变黄。

2019-07-10
3
10
石头剪刀布
Index Template的应用是在自动创建索引的时候。 https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#index-creation 所以如果是自己预先创建索引而不使用ES的自动创建索引,Index Template就不会生效。并不是老师所说的会被自己定义的mapping覆盖哟~

作者回复: 我说的没有错。你可以设置一个template,然后自己写一个mapping,override部分设置。然后写入一个文档后,查看一下实际的mapping和setting

2019-08-29
2
5
常利
你好,老师 我有两个ES 集群, 分别是6.6.1 和6.7.1, 使用下面的template, 在6.7.1上面, 字符型的字段如 action可以searchable 和aggregatable; 但是在6.6.1上面,字符型的字段不能searchable 和aggregatabl, 但是在新建了一个 action.keyword, 可以searchable 和aggregatable. 请问我需要在6.6.1上作怎样的设置才能让字段本身可以searchable 和aggregatable? "mappings": { "_default_": { "dynamic": true, "dynamic_templates": [ { "string_fields": { "mapping": { "type": "keyword" }, "match_mapping_type": "string", "match": "*" } } ], } }

作者回复: text和keyword都支持搜索和聚合。 text类型如果要支持聚合,需要吧fielddata设置成true。

2019-07-14
3
厚助信息
老师,es 需要对index进行分片吗,像mysql一样,按照一定的逻辑横向切分,如果需要,单索引数据量达到多少后需要考虑分片

作者回复: 会。分片大小控制在30g到100g之间比较好

2019-07-10
4
3
聂成阳
老师,如何按天创建索引

作者回复: 创建时 索引名字中带上时间信息。你也可以使用es的math函数,创建出带日期信息的索引名字。在后续的时间序列索引的章节有相关demo

2019-10-08
2
小鱼
index template的工作方式中的第一条是应用elasticsearch默认的settings和mappings,请问这里默认的settings和mappings是怎么查看其默认值并对其设定的?

作者回复: 你如果写一个匹配*的template,那就会overwrite掉默认值。如果没有任何template,你创建一个索引,不设置settings。然后通过查看其setteings,得到的就是系统的默认设定值

2019-07-09
5
2
金多安
老师,es的mapping操作和logstash的grok有什么区别呢?在现实是使用是否有场景的特殊性?

作者回复: mapping定义索引的字段类型和分词。 grok解析日志数据,只要是在写入之前的一些数据抽取转换

2019-07-10
1
暖色浮余生
PUT my_index2 { "mappings": { "dynamic_date_formats": [ { "full_name" : { "path_match" : "name.*", "path_unmatch" : "*.middle", "mapping" : { "type": "text", "copy_to" : "full_name" } } } ] } } 报错: 暖色浮余生 2019/7/15 16:14:07 { "error": { "root_cause": [ { "type": "mapper_parsing_exception", "reason": "Failed to parse mapping [_doc]: Invalid format: [{full_name={path_match=name.*, path_unmatch=*.middle, mapping={copy_to=full_name, type=text}}}]: expected string value" } ], "type": "mapper_parsing_exception", "reason": "Failed to parse mapping [_doc]: Invalid format: [{full_name={path_match=name.*, path_unmatch=*.middle, mapping={copy_to=full_name, type=text}}}]: expected string value", "caused_by": { "type": "illegal_argument_exception", "reason": "Invalid format: [{full_name={path_match=name.*, path_unmatch=*.middle, mapping={copy_to=full_name, type=text}}}]: expected string value" } }, "status": 400 } 我仔细检查了下json 好像是没有有问题的。实在不知道问题了。麻烦老师了

作者回复: mappings下面,应该写 dynamic_templates 你自己写了个名字“dynamic_date_formats” 参考下面这个 PUT my_index2/ { "mappings": { "dynamic_templates": [ { "full_name" : { "path_match":"name.*", "path_unmatch":"*.middle", "mapping" : { "type":"text", "copy_to":"full_name" } } } ] } }

2019-07-15
4
keke080525
有没有谁遇到kibana的console光标定位不准确的问题,想要选择的单词总是选择不上,编辑东西很痛苦
2019-08-27
2
3
Geek_c6515e
哎,这教程跟看官方文档有啥区别
2022-11-14
收起评论