实例介绍
尚硅谷项目课程系列之Elasticsearch
The Elastic Stack, 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为ES, ES是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
【实例截图】
【核心代码】
// 创建搜索请求对象
SearchRequest request = new SearchRequest();
request.indices("student");
// 构建查询的请求体
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.matchAllQuery());
// 分页查询
// 当前页其实索引(第一条数据的顺序号),from
sourceBuilder.from(0);
// 每页显示多少条size
sourceBuilder.size(2);
【实例截图】
目录
第1章 Elasticsearch概述 PAGEREF _Toc9648 \h 5
1.1 Elasticsearch是什么 PAGEREF _Toc29128 \h 5
1.2 全文搜索引擎 PAGEREF _Toc2856 \h 5
1.3 Elasticsearch And Solr PAGEREF _Toc2104 \h 6
1.4 Elasticsearch Or Solr PAGEREF _Toc12010 \h 7
1.5 Elasticsearch 应用案例 PAGEREF _Toc13537 \h 8
第2章 Elasticsearch入门 PAGEREF _Toc31174 \h 9
2.1 Elasticsearch安装 PAGEREF _Toc6120 \h 9
2.1.1 下载软件 PAGEREF _Toc25474 \h 9
2.1.2 安装软件 PAGEREF _Toc2408 \h 9
2.1.3 问题解决 PAGEREF _Toc19852 \h 11
2.2 Elasticsearch基本操作 PAGEREF _Toc12236 \h 11
2.2.1 RESTful PAGEREF _Toc19571 \h 11
2.2.2客户端安装 PAGEREF _Toc32244 \h 12
2.2.3数据格式 PAGEREF _Toc7680 \h 12
2.2.4 HTTP操作 PAGEREF _Toc32611 \h 13
2.2.5 Java API操作 PAGEREF _Toc14616 \h 44
第3章 Elasticsearch环境 PAGEREF _Toc19214 \h 57
3.1 相关概念 PAGEREF _Toc3550 \h 57
3.1.1 单机 & 集群 PAGEREF _Toc31113 \h 57
3.1.2 集群Cluster PAGEREF _Toc32679 \h 57
3.1.3 节点Node PAGEREF _Toc8606 \h 57
3.2 Windows集群 PAGEREF _Toc12218 \h 58
3.2.1 部署集群 PAGEREF _Toc13969 \h 58
3.2.2 启动集群 PAGEREF _Toc9979 \h 59
3.2.3 测试集群 PAGEREF _Toc15779 \h 60
3.3 Linux单机 PAGEREF _Toc7655 \h 62
3.3.1 软件下载 PAGEREF _Toc15507 \h 62
3.3.2 软件安装 PAGEREF _Toc23958 \h 62
3.3.3 启动软件 PAGEREF _Toc4391 \h 63
3.3.3 测试软件 PAGEREF _Toc18840 \h 63
3.4 Linux集群 PAGEREF _Toc8711 \h 64
3.4.1 软件下载 PAGEREF _Toc25062 \h 64
3.4.2 软件安装 PAGEREF _Toc7027 \h 64
3.4.3 启动软件 PAGEREF _Toc17733 \h 65
3.4.4 测试集群 PAGEREF _Toc16019 \h 65
第4章 Elasticsearch进阶 PAGEREF _Toc16327 \h 66
4.1 核心概念 PAGEREF _Toc16511 \h 66
4.1.1 索引(Index) PAGEREF _Toc3664 \h 66
4.1.2 类型(Type) PAGEREF _Toc24098 \h 66
4.1.3 文档(Document) PAGEREF _Toc1866 \h 66
4.1.3 字段(Field) PAGEREF _Toc13484 \h 66
4.1.5 映射(Mapping) PAGEREF _Toc6633 \h 67
4.1.6 分片(Shards) PAGEREF _Toc10806 \h 67
4.1.7 副本(Replicas) PAGEREF _Toc24756 \h 67
4.1.8 分配(Allocation) PAGEREF _Toc20661 \h 68
4.2 系统架构 PAGEREF _Toc10543 \h 68
4.3 分布式集群 PAGEREF _Toc15743 \h 69
4.3.1 单节点集群 PAGEREF _Toc8650 \h 69
4.3.2 故障转移 PAGEREF _Toc25059 \h 70
4.3.3 水平扩容 PAGEREF _Toc10391 \h 70
4.3.4 应对故障 PAGEREF _Toc5548 \h 72
4.4 路由计算 PAGEREF _Toc18508 \h 73
4.5 分片控制 PAGEREF _Toc19073 \h 74
4.5.1 写流程 PAGEREF _Toc7826 \h 75
4.5.2 读流程 PAGEREF _Toc22401 \h 76
4.5.3 更新流程 PAGEREF _Toc32192 \h 76
4.5.4 多文档操作流程 PAGEREF _Toc1680 \h 77
4.6 分片原理 PAGEREF _Toc28010 \h 78
4.6.1 倒排索引 PAGEREF _Toc6442 \h 78
4.6.2 文档搜索 PAGEREF _Toc2160 \h 81
4.6.3 动态更新索引 PAGEREF _Toc26812 \h 81
4.6.4 近实时搜索 PAGEREF _Toc27757 \h 83
4.6.5 持久化变更 PAGEREF _Toc9935 \h 84
4.6.6 段合并 PAGEREF _Toc19894 \h 87
4.7 文档分析 PAGEREF _Toc9102 \h 88
4.7.1 内置分析器 PAGEREF _Toc7246 \h 89
4.7.2 分析器使用场景 PAGEREF _Toc30056 \h 89
4.7.3 测试分析器 PAGEREF _Toc18807 \h 90
4.7.4 指定分析器 PAGEREF _Toc29410 \h 90
4.7.5 IK分词器 PAGEREF _Toc31432 \h 91
4.7.6 自定义分析器 PAGEREF _Toc14291 \h 94
4.8 文档处理 PAGEREF _Toc7918 \h 96
4.8.1 文档冲突 PAGEREF _Toc31132 \h 96
4.8.2 乐观并发控制 PAGEREF _Toc14724 \h 97
4.8.3 外部系统版本控制 PAGEREF _Toc18979 \h 98
4.5 Kibana PAGEREF _Toc9899 \h 99
第5章 Elasticsearch集成 PAGEREF _Toc10135 \h 100
5.1 Spring Data框架集成 PAGEREF _Toc23613 \h 100
5.1.1 Spring Data框架介绍 PAGEREF _Toc26428 \h 100
5.1.2 Spring Data Elasticsearch介绍 PAGEREF _Toc7643 \h 101
5.1.3 Spring Data Elasticsearch版本对比 PAGEREF _Toc15326 \h 101
5.1.4 框架集成 PAGEREF _Toc546 \h 102
5.2 Spark Streaming框架集成 PAGEREF _Toc23709 \h 108
5.2.1 Spark Streaming框架介绍 PAGEREF _Toc23241 \h 108
5.2.2 框架集成 PAGEREF _Toc14111 \h 109
5.3 Flink框架集成 PAGEREF _Toc24188 \h 111
5.3.1 Flink框架介绍 PAGEREF _Toc12412 \h 111
5.3.2 框架集成 PAGEREF _Toc10917 \h 112
第6章 Elasticsearch优化 PAGEREF _Toc21084 \h 115
6.1 硬件选择 PAGEREF _Toc9360 \h 115
6.2 分片策略 PAGEREF _Toc28184 \h 115
6.2.1 合理设置分片数 PAGEREF _Toc15493 \h 115
6.2.2 推迟分片分配 PAGEREF _Toc19940 \h 116
6.3 路由选择 PAGEREF _Toc27335 \h 116
6.4 写入速度优化 PAGEREF _Toc3147 \h 117
6.4.1 批量数据提交 PAGEREF _Toc15785 \h 117
6.4.2 优化存储设备 PAGEREF _Toc11394 \h 117
6.4.3 合理使用合并 PAGEREF _Toc18700 \h 118
6.4.4 减少Refresh的次数 PAGEREF _Toc8798 \h 118
6.4.5 加大Flush设置 PAGEREF _Toc2819 \h 118
6.4.6 减少副本的数量 PAGEREF _Toc12020 \h 118
6.5 内存设置 PAGEREF _Toc13942 \h 119
6.6 重要配置 PAGEREF _Toc24354 \h 119
第7章 Elasticsearch面试题 PAGEREF _Toc7158 \h 121
7.1 为什么要使用Elasticsearch? PAGEREF _Toc9118 \h 121
7.2 Elasticsearch的master选举流程? PAGEREF _Toc27175 \h 121
7.3 Elasticsearch集群脑裂问题? PAGEREF _Toc30268 \h 121
7.4 Elasticsearch索引文档的流程? PAGEREF _Toc2655 \h 122
7.5 Elasticsearch更新和删除文档的流程? PAGEREF _Toc24192 \h 122
7.6 Elasticsearch搜索的流程? PAGEREF _Toc17268 \h 123
7.7 Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法? PAGEREF _Toc30657 \h 123
7.8 GC方面,在使用Elasticsearch时要注意什么? PAGEREF _Toc23506 \h 124
7.9 Elasticsearch对于大数据量(上亿量级)的聚合如何实现? PAGEREF _Toc28006 \h 125
7.10 在并发情况下,Elasticsearch如果保证读写一致? PAGEREF _Toc32070 \h 125
7.11 如何监控 Elasticsearch 集群状态? PAGEREF _Toc17923 \h 125
7.12 是否了解字典树? PAGEREF _Toc28710 \h 125
7.13 Elasticsearch中的集群、节点、索引、文档、类型是什么? PAGEREF _Toc23646 \h 126
7.14 Elasticsearch中的倒排索引是什么? PAGEREF _Toc12479 \h 126
【核心代码】
标签: elasticsearch
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论