跳至主要內容
Elasticsearch 架构

Elasticsearch 架构

存储流程

ES 存储数据的流程可以从三个角度来阐述:

  • 集群的角度来看,数据写入会先路由到主分片,在主分片上写入成功后,会并发写副本分片,最后响应给客户端。
  • 分片的角度来看,数据到达分片后需要对内容进行格式校验、分词处理然后再索引数据。
  • 节点的角度来看,ES 数据持久化的步骤可归纳为:Refresh、写 Translog、Flush、Merge。

钝悟...大约 13 分钟数据库搜索引擎数据库elasticsearch数据库搜索引擎数据库elasticsearch存储索引
Elasticsearch 搜索(上)

Elasticsearch 搜索(上)

搜索简介

Elasticsearch 支持多种搜索:

  • 精确搜索(词项搜索):搜索数值、日期、IP 或字符串的精确值或范围。
  • 全文搜索:搜索非结构化文本数据并查找与查询项最匹配的文档。
  • 向量搜索:存储向量,并使用 ANN 或 KNN 搜索来查找相似的向量,从而支持 语义搜索 等场景。

钝悟...大约 8 分钟数据库搜索引擎数据库elasticsearch数据库搜索引擎数据库elasticsearch搜索
搜索引擎数据库

搜索引擎数据库

📖 内容

Elasticsearch

Elasticsearch 是一个基于 Lucene 的搜索和数据分析工具,它提供了一个分布式服务。Elasticsearch 是遵从 Apache 开源条款的一款开源产品,是当前主流的企业级搜索引擎。


钝悟...大约 2 分钟数据库搜索引擎数据库数据库搜索引擎数据库
Elastic 技术栈

Elastic 技术栈

Elastic 技术栈通常被用来作为日志采集、检索、可视化的解决方案。

ELK 是 elastic 公司旗下三款产品 ElasticsearchLogstashKibana 的首字母组合。

Logstash 传输和处理你的日志、事务或其他数据。

Kibana 将 Elasticsearch 的数据分析并渲染为可视化的报表。

Elastic 技术栈,在 ELK 的基础上扩展了一些新的产品,如:BeatsX-Pack


钝悟...小于 1 分钟数据库搜索引擎数据库elastic数据库搜索引擎数据库elastic
Elasticsearch

Elasticsearch

概述

Elasticsearch 是一个基于 Lucene 的搜索和数据分析工具,它提供了一个分布式服务。Elasticsearch 是遵从 Apache 开源条款的一款开源产品,是当前主流的企业级搜索引擎。


钝悟...大约 1 分钟数据库搜索引擎数据库elasticsearch数据库搜索引擎数据库elasticsearch
Elasticsearch 集群

Elasticsearch 集群

集群

空集群

如果我们启动了一个单独的节点,里面不包含任何的数据和索引,那我们的集群看起来就是一个包含空内容节点的集群。

Figure 1. 包含空内容节点的集群

包含空内容节点的集群
包含空内容节点的集群

钝悟...大约 29 分钟数据库搜索引擎数据库elasticsearch数据库搜索引擎数据库elasticsearch集群分片
ElasticSearch API 之 HighLevelRestClient

ElasticSearch API 之 HighLevelRestClient

Elasticsearch 官方的 High Level REST Client 在 7.1.5.0 版本废弃。所以本文中的 API 不推荐使用。

快速开始

引入依赖

在 pom.xml 中引入以下依赖:

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.17.1</version>
</dependency>

钝悟...大约 4 分钟数据库搜索引擎数据库elasticsearch数据库搜索引擎数据库elasticsearchAPI
Elasticsearch Mapping

Elasticsearch Mapping

概述

本文介绍了 Elasticsearch 常用的数据类型,以及如何在 Elasticsearch 中通过 Mapping 定义字段的数据类型。


钝悟...大约 17 分钟数据库搜索引擎数据库elasticsearch数据库搜索引擎数据库elasticsearchmapping数据类型
Elasticsearch 文本分析

Elasticsearch 文本分析

文本分析是将非结构化文本转换为针对搜索优化的结构化格式的过程。

文本分析简介

文本分析使 Elasticsearch 能够执行全文搜索,其中搜索返回所有相关结果,而不仅仅是完全匹配。

文本分析可以分为两个方面:

  • Tokenization(分词化) - 分析通过分词化使全文搜索成为可能:将文本分解成更小的块,称为分词。在大多数情况下,这些标记是单独的 term(词项)。
  • Normalization(标准化) - 经过分词后的文本只能进行词项匹配,但是无法进行同义词匹配。为解决这个问题,可以将文本进行标准化处理。例如:将 foxes 标准化为 fox

钝悟...大约 9 分钟数据库搜索引擎数据库elasticsearch数据库搜索引擎数据库elasticsearch分词
Elasticsearch 存储

Elasticsearch 存储

概述

本文介绍了 Elasticsearch 的逻辑存储、物理存储,以及 Elasticsearch 的倒排索引设计。


钝悟...大约 7 分钟数据库搜索引擎数据库elasticsearch数据库搜索引擎数据库elasticsearch存储索引
2
3