Elasticsearch入门 - 概念介绍篇

Elasticsearch 入门系列

开篇

本文只是简单写一些官方的介绍,可以简单看下,混个“脸熟”,了解几个关键词即可,比如索引,类型,文档,RESTful API,没必要深究。另外个人建议不要急于在网上找案例写代码(当然具体看个人情况),比如在 springboot 中整合 elasticsearch,里面很多注解你都不知道看不懂。比如下面的代码片段:

@Document(indexName = "item",type = "docs", shards = 1, replicas = 0)
public class Item {
    @Id
    private Long id;

    @Field(type = FieldType.Text, analyzer = "ik_max_word")
    private String title; 

    @Field(type = FieldType.Keyword)
    private String category;
}

什么是 Elasticsearch

Elasticsearch 是一个基于 Lucene 的开源搜索引擎,而 Lucene 是一个搜索库,直接使用的话会非常复杂。有了 Elasticsearch 后,我们就可以通过 RESTful API 来调用 Lucene 的搜索功能。它支持各种语言的客户端甚至命令行与之交互 ,除此之外,它还具备以下特点:

  • 分布式的实时文件存储,每个字段都被索引并可被搜索
  • 分布式的实时分析搜索引擎
  • 可以扩展到上百台服务器,处理PB级结构化或非结构化数据

什么是搜索引擎

我们可以举一些使用场景,比如我们经常用的百度搜索,或者一些电商平台的搜索功能,比如:在电商上搜索 “牙膏”,它就能帮我们罗列出一堆包含牙膏的商品。具体的图这里就不贴了,我们能看到的就是那些包含牙膏的搜索结果,而搜索背后的处理过程都是由搜索引擎帮我们完成的。

名词解释

要想初步认识 Elasticsearch,需要认识以下几个名词:

  • 索引(indices)
  • 类型(type)
  • 文档(document)

在 Elasticsearch中,文档(document)归属于一种类型(type),而这些类型存在于索引(index)中。

这样说可能还是有点模糊,我们可以拿一种关系型数据库来对比,如下所示:

Mysql -> Databases -> Tables -> Rows -> Columns

Elasticsearch -> Indices -> Types -> Documents -> Fields

Elasticsearch 的安装

现在 Elasticsearch 版本已经更新到 7.x (个人安装也是采用最新版本),这里推荐几篇安装教程,亲测有效。

Elasticsearch 7.x 最详细安装及配置

https://www.cnblogs.com/Alandre/p/11386178.html

安装过程可能出现的错误

https://www.cnblogs.com/duanxuan/p/6473005.html

https://www.cnblogs.com/hellxz/p/11057234.html

总结

本文主要介绍了 Elasticsearch 的基本概念,核心关键词还是 检索。文中大部分介绍还是相对比较官方,不理解也没关系,特别是索引,类型,文档的概念,这些在具体使用过程中会更好理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值