elasticsearch

第一部分:初识 Elasticsearch 第 1 章:概述 课程介绍 课程综述及学习建议 Elasticsearch 简介及其发展历史 Elastic Stack 家族成员及其应用场景 第 2 章:安装上手 Elasticsearch 的安装与简单配置 Kibana 的安装与界面快速浏览 在 Docker 容器中运行 Elasticsearch,Kibana 和 Cerebro Logstash 安装与导入数据 第 3 章:Elasticsearch 入门 基本概念(1):索引,文档和 REST API 基本概念(2):节点,集群,分片及副本 文档的基本 CRUD 与批量操作 倒排索引入门 通过分析器进行分词 Search API 概览 URI Search 详解 Request Body 与 Query DSL 简介 Query String & Simple Query String 查询 Dynamic Mapping 和常见字段类型 显式 Mapping 设置与常见参数介绍 多字段特性及 Mapping 中配置自定义 Analyzer Index Template 和 Dynamic Template Elasticsearch 聚合分析简介 第一部分总结 第二部分:深入了解 Elasticsearch 第 4 章:深入搜索 基于词项和基于全文的搜索 结构化搜索 搜索的相关性算分 Query & Filtering 与多字符串多字段查询 单字符串多字段查询:Dis Max Query 单字符串多字段查询:Multi Match 多语言及中文分词与检索 Space Jam,一次全文搜索的实例 使用 Search Template 和 Index Alias 查询 综合排序:Function Score Query 优化算分 Term & Phrase Suggester 自动补全与基于上下文的提示 配置跨集群搜索 第 5 章:分布式特性及分布式搜索的机制 集群分布式模型及选主与脑裂问题 分片与集群的故障转移 文档分布式存储 分片及其生命周期 剖析分布式查询及相关性算分 排序及 Doc Values & Fielddata 分页与遍历:From, Size, Search After & Scroll API 处理并发读写操作 第 6 章:深入聚合分析 Bucket & Metric 聚合分析及嵌套聚合 Pipeline 聚合分析 作用范围与排序 聚合分析的原理及精准度问题 第 7 章:数据建模 对象及 Nested 对象 文档的父子关系 Update By Query & Reindex API Ingest Pipeline & Painless Script Elasticsearch 数据建模实例 Elasticsearch 数据建模最佳实践 第二部分总结回顾 第三部分:管理 Elasticsearch 集群 第 8 章:保护你的数据 集群身份认证与用户鉴权 集群内部安全通信 集群与外部间的安全通信 第 9 章:水平扩展 Elasticsearch 集群 常见的集群部署方式 Hot & Warm 架构与 Shard Filtering 如何对集群进行容量规划 分片设计及管理 在私有云上管理 Elasticsearch 集群的一些方法 在公有云上管理与部署 Elasticsearch 集群 第 10 章:生产环境中的集群运维 生产环境常用配置与上线清单 监控 Elasticsearch 集群 诊断集群的潜在问题 解决集群 Yellow 与 Red 的问题 提升集群写性能 提升进群读性能 集群压力测试 段合并优化及注意事项 缓存及使用 Breaker 限制内存使用 一些运维的相关建议 第 11 章:索引生命周期管理 使用 Shrink 与 Rollover API 有效管理时间序列索引 索引全生命周期管理及工具介绍 第四部分:利用 ELK 做大数据分析 第 12 章:用 Logstash 和 Beats 构建数据管道 Logstash 入门及架构介绍 Beats 介绍 第 13 章:用 Kibana 进行数据可视化分析 使用 Index Pattern 配置数据 使用 Kibana Discover 探索数据 基本可视化组件介绍 构建 Dashboard 第 14 章:探索 X-Pack 套件 用 Monitoring 和 Alerting 监控 Elasticsearch 集群 用 APM 进行程序性能监控 用机器学习实现时序数据的异常检测(上) 用机器学习实现时序数据的异常检测(下) 用 ELK 进行日志管理 用 Canvas 做数据演示 第五部分:应用实战工作坊 实战 1:电影搜索服务 项目需求分析及架构设计 将音乐数据导入 Elasticsearch 搭建你的电影搜索服务 基于 Java 和 Elasticsearch 构建应用 实战 2:Stackoverflow 用户调查问卷分析 需求分析及架构设计 数据 Extract & Enrichment 构建 Insights Dashboard 备战:Elastic 认证 Elastic 认证介绍 考点梳理 集群的数据备份

January 18, 2022 · 3 min

mybatis拦截器执行原理

mybatis的拦截器本人平时也很少用到,没了解之前,也只是知道运用到了动态代理用来增强方法的功能,但是不了解其中的原理。为了更好的使用mybatis,这次,我记录下我所了解的mybatis的原理,本文不一定完全正确,可能有理解不到位的地方。 ...

December 6, 2021 · 6 min

mybatis日志体系

java日志体系 常用日志框架 Log4j:Apache Log4j是一个基于Java的日志记录工具。它是由Ceki Gülcü首创的,现在则是Apache软件基金会的一个项目。 Log4j 2:Apache Log4j 2是Apache开发的一款Log4j的升级产品。 Commons Logging:Apache基金会所属的项目,是一套Java日志接口,之前叫Jakarta Commons Logging,后更名为Commons Logging。Apache推出了JCL(Jakarta Commons Logging),它只是定义了一套日志接口(其内部也提供一个Simple Log的简单实现),JCL也是一套接口规范,支持运行时动态加载日志组件的实现。也就是说,在应用程序代码中,只需调用Commons Logging的接口,底层实现可以是Log4j,也可以是JUL SLF4J:全称为Simple Logging Facade for Java,类似于Commons Logging,是一套简易Java日志门面,本身并无日志的实现。 Logback:是一套日志组件的实现,属于SLF4J阵营。 JUL:全称是Java Util Logging,是JDK1.4以后提供的日志实现。 ...

November 28, 2021 · 3 min

mybatis缓存解析

mybatis的缓存 首先来看下mybatis对缓存的规范,规范嘛就是定义的接口啦。 缓存接口 ​ Cache接口 定义了缓存的方法 public interface Cache { /**获取缓存的id * @return The identifier of this cache */ String getId(); /**添加缓存 * @param key Can be any object but usually it is a {@link CacheKey} * @param value The result of a select. */ void putObject(Object key, Object value); /**根据缓存键获取缓存 * @param key The key * @return The object stored in the cache. */ Object getObject(Object key); /**移除缓存 * As of 3.3.0 this method is only called during a rollback * for any previous value that was missing in the cache. * This lets any blocking cache to release the lock that * may have previously put on the key. * A blocking cache puts a lock when a value is null * and releases it when the value is back again. * This way other threads will wait for the value to be * available instead of hitting the database. * * * @param key The key * @return Not used */ Object removeObject(Object key); /** * Clears this cache instance */ void clear(); /** * Optional. This method is not called by the core. * * @return The number of elements stored in the cache (not its capacity). */ int getSize(); /** * Optional. As of 3.2.6 this method is no longer called by the core. * * Any locking needed by the cache must be provided internally by the cache provider. * * @return A ReadWriteLock */ ReadWriteLock getReadWriteLock(); } 实现 ...

November 17, 2021 · 12 min

mybatis的mapper执行过程

November 10, 2021 · 0 min
总访问量 总访客数