首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
ElasticSearch开篇ES的安装
ElasticSearch的基本概念与名词解析
ElasticSearch数据管理文档的基础操作
ElasticSearch全文搜索API实践
ElasticSearch之Term-Query-API实践
ElasticSearch组合查询
ElasticSearch推荐搜索选项Suggesters的API
ElasticSearch统计需求之聚合
ElasticSearch集群管理API的使用
ElasticSearch索引管理API的使用
ElasticSearch中Mapping的使用
ElasticSearch关系模型之嵌套类型和父子文档
ElasticSearch正排索引与倒排索引简介
ElasticSearch全文搜索之倒排索引的实现
ElasticSearch数据相似的依据之相关性评分
ElasticSearch词项生成器之分词器
ElasticSearch分布式之集群中常见问题与解决方案
ElasticSearch分布式文档搜索机制
ElasticSearch数据持久化之分布式文档的存储流程
ElasticSearch分页之from+size、search after、scroll api
ElasticSearch聚合分析的原理之聚合结果一定准确
ElasticSearch数据副本策略
ElasticSearch数据副本模型
ElasticSearch集群运维
ElasticSearch索引的生命周期ILM
ElasticSearch安全之集群安全
ElasticSearch异常管理之搭建ELK日志系统
当前位置:
首页>>
技术小册>>
ElasticSearch零基础到实战
小册名称:ElasticSearch零基础到实战
**一、ElasticSearch简介** ElasticSearch是一个分布式的搜索和分析引擎,基于Apache Lucene搜索库构建而成,提供了分布式搜索、多租户支持、高可用性、实时搜索、全文搜索、地理信息搜索、自动分片等功能,被广泛应用于企业搜索、日志分析、安全分析、数据挖掘等领域。本文将介绍ElasticSearch的基本概念和名词解析,并通过示例代码演示如何使用Java API进行索引、查询等操作。 **二、ElasticSearch基本概念** 节点(Node) 节点是ElasticSearch集群中的一个实例,可以是一台物理机器、虚拟机、Docker容器等。每个节点都有一个唯一的名称和一个运行时状态,可以通过节点名称来访问节点。 集群(Cluster) 集群是由一个或多个节点组成的,共同协作完成数据的存储和检索工作。每个集群都有一个唯一的名称,节点通过这个名称来加入集群。在集群中,每个节点都有一个角色(Master或Data或Ingest)。 索引(Index) 索引是一组具有相似特征的文档的集合。每个索引都有一个名称,可以包含多个文档类型(Type),每个文档类型有一个唯一的名称。 文档(Document) 文档是ElasticSearch中的基本单位,可以是一个JSON对象或一个Map对象,保存在索引中。每个文档都有一个唯一的ID,用来标识文档。每个文档都属于一个索引和一个文档类型。 分片(Shard) 为了支持大规模的数据存储和检索,ElasticSearch将索引划分成多个分片(Shard),每个分片可以存储部分文档数据。分片可以分配到不同的节点上,实现数据的分布式存储和查询。每个索引至少包含一个分片,可以通过修改分片数来调整索引的性能和可用性。 副本(Replica) 为了提高集群的可用性和性能,ElasticSearch可以在多个节点上创建索引的副本(Replica)。每个副本是分片的一份完整拷贝,可以用来承载读取请求,提高查询性能和响应速度。副本的数量可以根据实际需求进行设置,副本的数量不能大于节点的数量减去主分片的数量。 映射(Mapping) 映射是定义索引中文档的结构和属性的过程,类似于关系型数据库的表结构。每个映射定义了文档类型的字段名称、类型、分词器、字段存储类型、字段索引类型等信息。映射可以手动创建,也可以通过自动检测机制创建。 查询(Query) 查询是指向ElasticSearch发送的搜索请求,包括结构化查询和全文查询两种类型。结构化查询通过指定查询语句中的字段名称和条件来搜索文档,支持多种查询语句类型,如term、match、range、bool、filter等。全文查询通过分词和词频计算来搜索文档,支持多种全文查询类型,如match、multi_match、common_terms、query_string等。 聚合(Aggregation) 聚合是一种统计和分析文档数据的方法,支持多种聚合类型,如统计、分组、求平均值、求最大值、求最小值等。聚合可以嵌套使用,支持多级聚合,可以通过聚合结果进行数据可视化和分析。 **三、ElasticSearch名词解析** _source _source是文档的源数据,包括文档中的所有字段和对应的值,存储在Lucene索引中。默认情况下,ElasticSearch会将所有文档的源数据存储在索引中,可以通过设置_source字段的值来禁止或限制源数据的存储。 _id _id是文档的唯一标识符,可以手动指定或由系统自动生成。每个文档的_id必须是唯一的,用来标识文档。 _index _index是文档所属的索引名称,用来标识文档所在的索引。 _type _type是文档所属的类型名称,用来标识文档所在的文档类型。在ElasticSearch 7.x版本中已经被弃用,推荐使用_index代替。 _score _score是文档的得分,表示文档与查询条件的匹配程度。得分越高,表示与查询条件的匹配程度越高。 _all _all是包含了文档所有字段值的虚拟字段,可以用来进行全文搜索。在ElasticSearch 7.x版本中已经被弃用,推荐使用复合字段代替。 _mapping _mapping是索引的映射信息,包括索引中的所有文档类型的字段定义和属性信息。可以通过查询_mapping API来获取索引的映射信息。 _bulk _bulk是一种批量操作API,可以用来同时执行多个索引、更新、删除操作,提高操作效率。可以通过Bulk API来执行批量操作。
上一篇:
ElasticSearch开篇ES的安装
下一篇:
ElasticSearch数据管理文档的基础操作
该分类下的相关小册推荐:
ElasticSearch入门与实践