分布式搜索引擎elasticsearch

1.初识elasticsearch

elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。

elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。
分布式搜索引擎elasticsearch_第1张图片其中,elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。elasticsearch是基于Lucene开发的,而Lucene是Apache的开源搜索引擎类库,提供了搜索引擎的核心API。

2.正向索引和倒排索引

传统的数据库(如Mysql)采用的是正向索引,即数据库是基于数据的id创建的索引,在查询词条时就必须先找到每一条数据,判断其中是否包含对应的词条。数据库一般负责事务类型操作,可以确保数据的安全和一致性。
elasticsearch采用的是倒排索引,即索引库是先对文档内容(数据)进行分词,对分出的词条创建索引(把每个词条当做数据库中的id),并记录该词条所在的文档id(与数据库对应)。在查询时先根据词条查询到文档id,而后获取文档。elasticsearch擅长海量数据的搜索、分析、计算。

3.elasticsearch中一些术语的概念

索引(index):相同类型的文档的集合
映射(mapping):索引中文档的字段约束信息,类似于数据库中数据表的结构约束。
DSL:DSL是elasticsearch提供的JSON风格的请求语句,用来操作elasticsearch,实现增删改查。

4.常见的mapping属性

mapping是对索引库中文档的约束,常见的mapping属性包括:
type:字段数据类型,常见的简单类型有:
字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)
数值:long、integer、short、byte、double、float、
布尔:boolean
日期:date
对象:object

index:是否创建索引,默认为true
analyzer:使用哪种分词器
properties:该字段的子字段

5.索引库操作

1.创建索引库

分布式搜索引擎elasticsearch_第2张图片

2.查看、删除索引库

分布式搜索引擎elasticsearch_第3张图片![在这里插入图片描述](https://img-blog.csdnimg.cn/1ed5bf8a25de4cc08e6223b7de2a3ff5.png分布式搜索引擎elasticsearch_第4张图片

3.修改索引库

索引库和mapping一旦创建无法修改,但是可以添加新的字段,语法如下:
分布式搜索引擎elasticsearch_第5张图片

你可能感兴趣的:(elasticsearch,搜索引擎,分布式,spring)