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 -> ColumnsElasticsearch -> 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 的基本概念,核心关键词还是 检索。文中大部分介绍还是相对比较官方,不理解也没关系,特别是索引,类型,文档的概念,这些在具体使用过程中会更好理解。
以上是 Elasticsearch入门概念篇 的全部内容, 来源链接: utcz.com/z/513038.html