初级JAVA程序员应该掌握的ElasticSearch知识

Elastic Search是什么

一个分布式的全文检索系统,基于RESTful web接口,具有高性能,高可用等特点。

为什么用Elastic Search?

检索比Mysql快,在要检索的数据是上亿级别的时候,一个聚合查询Mysql可能要800s,ES可能只需要1s,且ES具有分布式高可用的特点,非常适合中小型公司使用。

项目中用Elastic Search做什么?

收集数据,快速检索分析,日志分析。

Elastic Search为什么那么快?

基于Lucene,原理是倒排索引,简单来说就是给要检索的文档加了一个可以快速查询数据的目录,可以快速检索。

概念和Mysql数据库的对应

Index(索引)~Database(数据库)
Type(类型)~Table(表)
Document(文档)~Row(行)
Field(字段)~Column(列)
Mapping(映射)~Schema(方案)
Query DSL(查询专用语言)~SQL(结构化查询语言)

如何使用ES

1.搜索“在Windows/linux/Mac安装ElasticSearch”
2.使用ES的JAVA API并结合文档进行操作ElasticSearch

ES Java API

我们可以在Spring Boot里引入官方推荐的依赖,来操作Elastic Search,
官方文档写的很详细:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-create-index.html,此处就不多介绍如何使用。

或者自己封装一个Client,官方封装的其实并不是很好,其实我们可以做一个更好的。

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.2.0</version>
</dependency>

猜你喜欢

转载自blog.csdn.net/qq_32648593/article/details/106395468