社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Elasticsearch

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

预测师 • 3 年前 • 149 次点击  

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>
  • 1
  • 2
  • 3
  • 4
  • 5
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/71097
 
149 次点击