Elasticsearch入门 - 概念篇

开篇

本文只是简单写一些官方的介绍,能够简单看下,混个“脸熟”,了解几个关键词便可,好比索引,类型,文档,RESTful API,不必深究。另外我的建议不要急于在网上找案例写代码(固然具体看我的状况),好比在 springboot 中整合 elasticsearch,里面不少注解你都不知道看不懂。好比下面的代码片断:html

@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 的搜索功能。它支持各类语言的客户端甚至命令行与之交互 ,除此以外,它还具有如下特色:spring

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

什么是搜索引擎

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

名词解释

要想初步认识 Elasticsearch,须要认识如下几个名词:数据库

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

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

这样说可能仍是有点模糊,咱们能够拿一种关系型数据库来对比,以下所示:服务器

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

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

Elasticsearch 的安装

如今 Elasticsearch 版本已经更新到 7.x (我的安装也是采用最新版本),这里推荐几篇安装教程,亲测有效。elasticsearch

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

http://www.javashuo.com/article/p-reiowqnf-mb.html搜索引擎

安装过程可能出现的错误命令行

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

http://www.javashuo.com/article/p-ddjacbyd-dy.html

总结

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

相关文章
相关标签/搜索