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

2024-08-27 07:44

本文主要是介绍【搜索引擎】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的倒排索引,区别于传统的正向索引,倒排索引会再存储数据时将关键词和数据进行关联,保存到倒排表中,然后查询时,将查询内容进行分词后在倒排表中进行查询,最后匹配数据即可。

这篇关于【搜索引擎】ElasticSearch 7.x版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1111059

相关文章

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Mybatis从3.4.0版本到3.5.7版本的迭代方法实现

《Mybatis从3.4.0版本到3.5.7版本的迭代方法实现》本文主要介绍了Mybatis从3.4.0版本到3.5.7版本的迭代方法实现,包括主要的功能增强、不兼容的更改和修复的错误,具有一定的参考... 目录一、3.4.01、主要的功能增强2、selectCursor example3、不兼容的更改二、

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-