当前位置: 首页 > news >正文

【搜索引擎】ElasticSearch 7.x版本

1 Elasticsearch概述

1.1 Elasticsearch是什么

1.2 全文搜索引擎

1.3 Elasticsearch And Solr

1.4 Elasticsearch Or Solr

1.5 Elasticsearch应用案例

2 Elassticsearch入门

2.1 Elasticsearch 安装

2.1.1 下载软件

2.1.2 安装软件

2.1.3 问题解决

2.2 Elasticsearch基本操作

2.2.1 RESTful

2.2.2 客户端安装

2.2.3 数据格式

2.2.4 HTTP 操作

2.2.4.1 索引操作

2.2.4.2 文档操作

2.2.4.3 映射操作

2.2.4.4 高级查询

2.2.5 Java API 操作

Elasticsearch 软件是由 Java 语言开发的,所以也可以通过 Java API 的方式对 Elasticsearch

服务进行访问

2.2.5.1 创建 Maven 项目

我们在 IDEA 开发工具中创建 Maven 项目(模块也可)ES

2.2.5.2 客户端对象

创建com.atguigu.es.test.Elasticsearch01_Client类,代码中创建Elasticsearch客户端对象因为早期版本的客户端对象已经不再推荐使用,且在未来版本中会被删除,所以这里我们采用高级REST客户端对象

2.2.5.3 索引操作

2.2.5.4 文档操作

2.2.5.5 高级查询
2.2.5.5.1 请求体查询

2.2.5.5.2 高亮查询

2.2.5.5.3 聚合查询

3 Elasticsearch环境

3.1 相关概念

3.1.1 单机&集群

3.1.2 集群Cluster

3.1.3 节点Node

3.2 Windows集群

3.2.1 部署集群

3.2.2 启动集群

3.2.3 测试集群

3.3Linux单机

3.3.1 软件下载

3.3.2 软件安装

3.3.3 启动软件

3.3.4 测试软件

浏览器中输入地址:http://linux1:9200/

3.4 Linux集群

3.4.1 软件下载

3.4.2 软件安装

3.4.3 启动软件

3.4.4 测试集群

4 Elasticsearch进阶

4.1 核心概念

4.1.1 索引(Index)

4.1.2 类型(Type)

4.1.3 文档(Document)

4.1.4 字段(Field)

相当于是数据表的字段,对文档数据根据不同属性进行的分类标识。

4.1.5 映射(Mapping)

4.1.6 分片(Shards)

4.1.7 副本(Replicas)

4.1.8 分配(Allocation)

4.2 系统架构

4.3 分布式集群

4.3.1 单节点集群

4.3.2故障转移

4.3.3 水平扩容

4.3.4 应对故障

4.4 路由计算

4.5 分片控制

4.5.1 写流程

4.5.2 读流程

4.5.3 更新流程

部分更新一个文档结合了先前说明的读取和写入流程:

4.5.4 多文档操作流程

4.6 分片原理

4.6.1 倒排索引

4.6.2 文档搜索

4.6.3 动态更新索引

4.6.4 近实时搜索

4.6.5 持久化变更

4.6.6 段合并

4.7 文档分析

4.7.1 内置分析器

4.7.2 分析器使用场景

4.7.3 测试分析器

4.7.4 指定分析器

4.7.5 IK分词器

4.7.6 自定义分析器

4.8 文档处理

4.8.1 文档冲突

4.8.2 乐观并发控制

4.8.3 外部系统版本控制

4.9 Kibana

5 Elasticsearch集成

5.1 Spring Data框集成

5.1.1 Spring Data框架介绍

5.1.2 Spring Data Elasticsearch介绍

5.1.3 Spring Data Elasticsearch 版本对比

5.1.4 框架集成

5.2 Spark Streaming框架集成

5.2.1 Spark Streaming框架介绍

5.2.2 框架集成

5.3 Flink 框架集成

5.3.1 Flink 框架介绍

5.3.2 框架集成

6 Elasticsearch优化 

6.1 硬件选择

6.2 分片策略

6.2.1 合理设置分片数

6.2.2 推迟分片分配

6.3 路由选择

6.4 写入速度优化

6.4.1 批量数据提交

6.4.2 优化存储设备

6.4.3 合理使用合并

6.4.4 减少 Refresh 的次数

6.4.5 加大 Flush 设置

6.4.6 减少副本的数量

6.5 内存设置

6.6 重要配置

7 Elasticsearch面试题

7.1 为什么要使用 Elasticsearch?

7.2 Elasticsearch master 选举流程?

7.3 Elasticsearch 集群脑裂问题?

7.4 Elasticsearch 索引文档的流程?

7.5 Elasticsearch 更新和删除文档的流程?

7.6 Elasticsearch 搜索的流程?

7.7 Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

7.8 GC 方面,在使用 Elasticsearch 时要注意什么?

7.9 Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

7.10 在并发情况下,Elasticsearch 如果保证读写一致?

7.11 如何监控 Elasticsearch 集群状态?

7.12 是否了解字典树?

7.13 Elasticsearch 中的集群、节点、索引、文档、类型是什么?

7.14 Elasticsearch 中的倒排索引是什么?

    倒排索引是搜索引擎的核心。搜索引擎的主要目标是在查找发生搜索条件的文档时提供快速搜索。ES中的倒排索引其实就是lucene的倒排索引,区别于传统的正向索引,倒排索引会再存储数据时将关键词和数据进行关联,保存到倒排表中,然后查询时,将查询内容进行分词后在倒排表中进行查询,最后匹配数据即可。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ACL基础笔记
  • ceph-rgw zipper的设计理念(1)
  • ARCGIS 纸质小班XY坐标转电子要素面(2)
  • validationtools中按键测试选项光标移除
  • Spring Boot集成Stripe快速入门demo
  • 使用dx工具将jar和class打包成dex
  • 注解的生命周期
  • 粘包、半包和Netty中的自定义帧解码器间的关系
  • 【Java设计模式】脏标记模式:通过变更跟踪优化性能
  • HTTP/3
  • 453.最小操作次数使数组元素相等
  • 产品概述Tektronix泰克TCP0030A电流探头TCP0030原装二手
  • 自然语言处理与深度学习的结合
  • pyinstaller 打包发布flask 应用
  • C++奇迹之旅:深度解析list的模拟实现
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • C语言笔记(第一章:C语言编程)
  • happypack两次报错的问题
  • Octave 入门
  • spring boot 整合mybatis 无法输出sql的问题
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 跨域
  • 首页查询功能的一次实现过程
  • 数据科学 第 3 章 11 字符串处理
  • 我有几个粽子,和一个故事
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 译米田引理
  • 译有关态射的一切
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #APPINVENTOR学习记录
  • #NOIP 2014# day.1 T2 联合权值
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (四)stm32之通信协议
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)ORM
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (自用)仿写程序
  • .JPG图片,各种压缩率下的文件尺寸
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript
  • .net 中viewstate的原理和使用
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .net/c# memcached 获取所有缓存键(keys)
  • .NetCore+vue3上传图片 Multipart body length limit 16384 exceeded.
  • .NET开发不可不知、不可不用的辅助类(一)
  • .net开发日常笔记(持续更新)