avatar
文章
94
标签
89
分类
16

首页
归档
标签
分类
关于
虾壳
搜索
首页
归档
标签
分类
关于

ElasticSearch

发表于2023-10-02|更新于2023-10-02|JavaJava教程
|字数总计:5|阅读时长:1分钟|阅读量:
文章作者: 虾壳
文章链接: http://yagote.github.io/2023/10/02/elasticsearch/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 虾壳!
教程ElasticSearch搜索引擎
上一篇
Docker
下一篇
Netty
相关推荐
2023-10-17
ElasticSearch常用命令
2023-10-01
Axios
2023-10-01
CSS
目录
  1. 一、ES7
    1. 1、ES概述
      1. 1.1 数据类型
      2. 1.2 ES介绍
      3. 1.3 ES和Solr
      4. 1.4 Elasticsearch 下载安装
        1. 1.4.1 下载
        2. 1.4.2 安装
    2. 2、ES入门
      1. 2.1 RESTful
      2. 2.2 数据格式
      3. 2.3 HTTP 操作
        1. 2.3.1 索引操作
          1. 2.3.1.1 创建索引
          2. 2.3.1.2 查看所有索引
          3. 2.3.1.3 查看单个索引
          4. 2.3.1.4 删除索引
        2. 2.3.2 文档操作
          1. 2.3.2.1 创建文档
          2. 2.3.2.2 查看文档
          3. 2.3.2.3 修改文档
          4. 2.3.2.4 修改字段
          5. 2.3.2.5 删除文档
          6. 2.3.2.6 条件删除文档
        3. 2.3.3 映射操作
          1. 2.3.3.1 创建映射
          2. 2.3.3.2 查看映射
          3. 2.3.3.3 索引映射关联
        4. 2.3.4 高级查询
          1. 2.3.4.1 查询所有文档
          2. 2.3.4.2 匹配查询
          3. 2.3.4.3 字段匹配查询
          4. 2.3.4.4 关键字精确查询
          5. 2.3.4.5 多关键字精确查询
          6. 2.3.4.6 指定查询字段
          7. 2.3.4.7 过滤字段
          8. 2.3.4.8 组合查询
          9. 2.3.4.9 范围查询
          10. 2.3.4.10 模糊查询
          11. 2.3.4.11 单字段排序
          12. 2.3.4.12 多字段排序
          13. 2.3.4.13 高亮查询
          14. 2.3.4.14 分页查询
          15. 2.3.4.15 聚合查询
          16. 2.3.4.16 桶聚合查询
      4. 2.4 Java API 操作
        1. 2.4.1 创建Maven项目
        2. 2.4.2 客户端对象
        3. 2.4.3 索引操作
          1. 2.4.3.1 创建索引
          2. 2.4.3.2 查看索引
          3. 2.4.3.3 删除索引
        4. 2.4.4 文档操作
          1. 2.4.4.1 新增文档
          2. 2.4.4.2 修改文档
          3. 2.4.4.3 查询文档
          4. 2.4.4.4 删除文档
          5. 2.4.4.5 批量操作
        5. 2.4.5 高级查询
          1. 2.4.5.1 请求体查询
          2. 2.4.5.2 高亮查询
          3. 2.4.5.3 聚合查询
    3. 3、ES环境
      1. 3.1 相关概念
        1. 3.1.1 单机和集群
        2. 3.1.2 集群Cluster
        3. 3.1.3 节点Node
      2. 3.2 Windows集群
        1. 3.2.1 部署集群
        2. 3.2.2 启动集群
        3. 3.2.3 测试集群
      3. 3.3 Linux单机
        1. 3.3.1 软件下载
        2. 3.3.2 软件安装
        3. 3.3.3 启动软件
        4. 3.3.4 测试软件
      4. 3.4 Linux集群
        1. 3.4.1 软件下载
        2. 3.4.2 软件安装
        3. 3.4.3 启动软件
        4. 3.4.4 测试集群
    4. 4、ES进阶
      1. 4.1 核心概念
        1. 4.1.1 索引(Index)
        2. 4.1.2 类型(Type)
        3. 4.1.3 文档(Document)
        4. 4.1.4 字段(Field)
        5. 4.1.5 映射(Mapping)
        6. 4.1.6 分片(Shards)
        7. 4.1.7 副本(Replicas)
        8. 4.1.8 分配(Allocation)
      2. 4.2 系统架构
      3. 4.3 分布式集群
        1. 4.3.1 单节点集群
        2. 4.3.2 故障转移
        3. 4.3.3 水平扩容
        4. 4.3.4 应对故障
      4. 4.4 路由计算
      5. 4.5 分片控制
        1. 4.5.1 写流程
        2. 4.5.2 读流程
        3. 4.5.3 更新流程
        4. 4.5.4 多文档操作流程
      6. 4.6 分片原理
        1. 4.6.1 倒排索引
        2. 4.6.2 文档搜索
        3. 4.6.3 动态更新索引
        4. 4.6.4 近实时搜索
        5. 4.6.5 持久化变更
        6. 4.6.6 段合并
      7. 4.7 文档分析
        1. 4.7.1 内置分析器
        2. 4.7.2 分析器使用场景
        3. 4.7.3 测试分析器
        4. 4.7.4 指定分析器
        5. 4.7.5 IK 分词器
        6. 4.7.6 自定义分析器
      8. 4.8 文档处理
        1. 4.8.1 文档冲突
        2. 4.8.2 乐观并发控制
        3. 4.8.3 外部系统版本控制
      9. 4.9 Kibana
    5. 5、ES集成
      1. 5.1 Spring Data 框架集成
        1. 5.1.1 Spring Data 框架介绍
        2. 5.1.2 Spring Data Elasticsearch 介绍
        3. 5.1.3 Spring Data Elasticsearch 版本选择
        4. 5.1.4 框架集成
          1. 5.1.4.1 创建maven项目
          2. 5.1.4.2 实体类映射操作
          3. 5.1.4.3 索引操作
          4. 5.1.4.4 文档操作
          5. 5.1.4.5 文档查询
      2. 5.2 Spark Streaming 框架集成
        1. 5.2.1 Spark Streaming 框架介绍
        2. 5.2.2 框架集成
          1. 5.2.2.1 环境准备
          2. 5.2.2.2 创建maven项目
          3. 5.2.2.3 功能实现
      3. 5.3 Flink 框架集成
        1. 5.3.1 Flink 框架介绍
        2. 5.3.2 框架集成
          1. 5.3.2.1 创建maven项目
          2. 5.3.2.2 功能实现
    6. 6、ES优化
      1. 6.1 硬件选择
      2. 6.2 分片策略
        1. 6.2.1 合理设置分片数
        2. 6.2.2 推迟分片分配
      3. 6.3 路由选择
      4. 6.4 写入速度优化
        1. 6.4.1 批量数据提交
        2. 6.4.2 优化存储设备
        3. 6.4.3 合理使用合并
        4. 6.4.4 减少 Refresh 的次数
        5. 6.4.5 加大 Flush 设置
        6. 6.4.6 减少副本的数量
      5. 6.5 内存设置
      6. 6.6 重要配置
    7. 7、ES面试题
      1. 7.1 为什么要使用 Elasticsearch?
      2. 7.2 Elasticsearch 的 master 选举流程?
      3. 7.3 Elasticsearch 集群脑裂问题?
      4. 7.4 Elasticsearch 索引文档的流程?
      5. 7.5 Elasticsearch 更新和删除文档的流程?
      6. 7.6 Elasticsearch 搜索的流程?
      7. 7.7 Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
      8. 7.8 GC 方面,在使用 Elasticsearch 时要注意什么?
      9. 7.9 Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?
      10. 7.10 在并发情况下,Elasticsearch 如果保证读写一致?
      11. 7.11 如何监控 Elasticsearch 集群状态?
      12. 7.12 是否了解字典树?
      13. 7.13 Elasticsearch 中的集群、节点、索引、文档、类型是什么?
      14. 7.14 Elasticsearch 中的倒排索引是什么?
  2. 二、ES8
    1. 1、概述
      1. 1.1 新特性
      2. 1.2 安装ES
        1. 1.2.1 下载安装JDK17
        2. 1.2.2 下载ES
        3. 1.2.3 Linux集群安装ES
          1. 1.2.3.1 集群规划
          2. 1.2.3.2 安装
          3. 1.2.3.3 问题解决
      3. 1.3 安装Kibana
        1. 1.3.1 集群安装
        2. 1.3.2 软件使用
    2. 2、基础功能
      1. 2.1 索引操作
        1. 2.1.1 创建索引
        2. 2.1.2 查询指定索引
        3. 2.1.3 查询所有索引
        4. 2.1.4 索引别名
        5. 2.1.5 删除索引
      2. 2.2 文档操作
        1. 2.2.1 创建文档
        2. 2.2.2 查询文档
        3. 2.2.3 修改文档
        4. 2.2.4 删除文档
        5. 2.2.5 查询所有文档
      3. 2.3 数据搜索
        1. 2.3.1 查询所有文档
        2. 2.3.2 匹配查询文档
        3. 2.3.3 匹配查询字段
        4. 2.3.4 组合查询
        5. 2.3.5 排序后查询
        6. 2.3.6 分页查询
      4. 2.4 聚合搜索
        1. 2.4.1 分组聚合
        2. 2.4.2 平均值
        3. 2.4.3 分组后求和
        4. 2.4.4 最大值
        5. 2.4.5 TopN
      5. 2.5 索引模板
        1. 2.5.1 创建模板
        2. 2.5.2 查看模板
        3. 2.5.3 验证模板是否存在
        4. 2.5.4 创建索引
        5. 2.5.5 删除模板
      6. 2.6 中文分词
        1. 2.6.1 集成IK分词器
        2. 2.6.2 使用IK分词器
        3. 2.6.3 自定义分词器
      7. 2.7 文档得分
        1. 2.7.1 打分机制
        2. 2.7.2 修改权重
    3. 3、进阶功能
      1. 3.1 Java API操作
        1. 3.1.1 增加依赖关系
        2. 3.1.2 获取客户端对象
        3. 3.1.3 操作数据
          1. 3.1.3.1 索引操作
          2. 3.1.3.2 文档操作
          3. 3.1.3.3 文档查询
        4. 3.1.4 客户端异步操作
      2. 3.2 EQL操作
        1. 3.2.1 基础语法
          1. 3.2.1.1 数据准备
          2. 3.2.1.2 数据窗口汇总
          3. 3.2.1.3 统计符合条件的事件
          4. 3.2.1.4 事件序列
        2. 3.2.2 安全检测
          1. 3.2.2.1 数据准备
          2. 3.2.2 获取 regsvr32 事件的计数
          3. 3.2.3 检查命令行参数
          4. 3.2.4 检查恶意脚本加载
          5. 3.2.5 检查攻击成功可能性
      3. 3.3 SQL操作
        1. 3.3.1 SQL和ES的对应关系
        2. 3.3.2 数据准备
        3. 3.3.3 第一个SQL查询
        4. 3.3.4 SQL转换为DSL使用
        5. 3.3.5 SQL和DSL混合使用
        6. 3.3.6 常用SQL操作
          1. 3.3.6.1 查询所有索引
          2. 3.3.6.2 查询指定索引
          3. 3.3.6.3 模糊查询索引
          4. 3.3.6.4 查看索引结构
          5. 3.3.6.5 基础查询操作
          6. 3.3.6.6 基础聚合操作
        7. 3.3.7 支持的函数和运算
          1. 3.3.7.1 比较运算符
          2. 3.3.7.2 逻辑运算符
          3. 3.3.7.3 数学运算符
          4. 3.3.7.4 类型转换
          5. 3.3.7.5 模糊查询
          6. 3.3.7.6 聚合分析函数
          7. 3.3.7.7 分组函数
          8. 3.3.7.8 数学通用函数
          9. 3.3.7.9 三角函数
          10. 3.3.7.10 日期时间函数
          11. 3.3.7.11 全文检索函数
          12. 3.3.7.12 字符串检索函数
          13. 3.3.7.13 条件分支函数
          14. 3.3.7.14 系统函数
        8. 3.3.8 SQL客户端
          1. 3.3.8.1 新建驱动
          2. 3.3.8.2 配置驱动
          3. 3.3.8.3 配置参数
          4. 3.3.8.4 配置 SSL 连接
          5. 3.3.8.5 更改 license 类型
          6. 3.3.8.6 执行 SQL 操作
      4. 3.4 自然语言处理NLP
        1. 3.4.1 NLP介绍
        2. 3.4.2 ES中的自然语言处理
        3. 3.4.3 NLP在ES7和ES8中的区别
        4. 3.4.4 NLP演示
          1. 3.4.4.1 安装 opennlp
          2. 3.4.4.2 下载 NER 模型
          3. 3.4.4.3 配置 opennlp
          4. 3.4.4.4 运用 opennlp
    4. 4、优化
      1. 4.1 性能优化之缓存
        1. 4.1.1 页缓存
        2. 4.1.2 分片级请求缓存
        3. 4.1.3 查询缓存
      2. 4.2 性能优化之减少内存堆
      3. 4.3 功能优化之冻结层和可搜索快照
      4. 4.4 功能优化之原生矢量搜索
      5. 4.5 功能优化之搜索聚合
Copyright © 2021 - present 虾壳
搜索
数据库加载中