ElasticSearch简介与安装使用

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 这篇文章主要介绍ElasticSearch的简单使用。介绍一款插件可避免安装kibana来可视化操作ES数据

1. ElasticSearch下载

1.1 下载地址

官网链接:https://www.elastic.co/products/elasticsearch

官网下载太慢,提供一个镜像下载地址:https://repo.huaweicloud.com/elasticsearch/

1.2 下载之后的目录结构

图片1.png

bin:启动文件

config:配置文件

log4j2.properties:日志配置文件

jvm.options:java虚拟机的配置

elasticsearch.yml:es的配置文件

data:索引数据目录

lib:相关类库Jar包

logs:日志目录

modules:功能模块

plugins:插件

1.3 找到bin目录直接运行elasticsearch.bat

图片2.png

图片3.png

1.4 启动完成后浏览器打开http://localhost:9200/

图片4.png


2.ElasticSearch简介

2.1 基本介绍

ElasticSearch是分布式全文检索引擎。简言之有如下特点:

(1)基于简单的RESTful API风格搜索。如查指定文档语法:

GET test/doc/1

(2)近乎实时存储、检索相关数据

2.2 ElasticSearch相关概念

  • 集群(cluster): es其实就是分布式数据库,允许多个服务器协同合作,每个服务器上都有多个es实例,这些实例合起来就叫集群。
  • 节点(node):每个es实例就叫节点。
  • 索引(Index):es管理数据的最高层单位就是Index,类比我们关系型数据库的database。

查询当前节点的所有索引命令如下:

$ curl -X GET 'http://localhost:9200/_cat/indices?v'


  • 类型(Type):索引的下一级别管理单位就是类型,一个索引下面的数据可以分类别存储,6.x 以上已不支持多 type。类比我们关系型数据库的table。
  • 文档(Document):代表存储的一条数据记录。类比关系型数据库中的一条记录。
  • 映射(Mapping):类比关系型数据中的表结构。
  • 属性(Field):类比关系型数据库中的列。


ElasticSearch

关系型数据库

备注 

索引(Index)

数据库(Database)


类型(Type)

表(Table)

6.x以后就取消了。与表有一定区别,不同的Type应该有相似的结构

文档(Document)

记录(Record)


映射(Mapping)

表结构(Schema)


属性(Field)

列(Column)


3.简单使用

kibana是ElasticSearch的常用搭档,kibana能够让用户对ElasticSearch数据进行可视化操作。但如果我们只是需要基本的操作查看或修改下ES数据,我们就不需要安装kibana,比较重量级,我们今天介绍一款谷歌插件elasticsearch-head。

3.1 插件安装

插件下载地址:https://github.com/mobz/elasticsearch-head

谷歌插件安装成功后如图:

image.png

3.2 插件链接

点击该插件需要输入用户名和密码,在左上角可选择切换链接地址

图片5.png

3.3 可以使用基本查询页面可以对数据进行简单的查询

查询关键字有三种:分别是:must,should,must_not

must子句:文档必须匹配must查询条件,相当于“=”;

should子句:文档应该匹配should子句查询的一个或多个;

must_not子句:文档不能匹配该查询条件,相当于“!=”;

图片6.png

3.4 可以使用复合查询对数据新增及跟新索引删除索引等等。

图片7.png

4. SpringBoot集成elasticSearch

SpringBoot整合ES有四种方式

1、Rest client

2、Jest client

3、Spring Data

4、Spring Data Repository


注意在集成elasticSearch时一定要注意兼容性问题!

4.1 使用Spring Data Repository集成ES准备工作(感觉这种面向对象的方式比较容易理解)

4.1.1 修改pom文件配置

spring.data.elasticsearch.cluster-name:集群名称

spring.data.elasticsearch.cluster-nodes:集群节点地址列表,多个节点用英文逗号(,)分隔默认就是localhost:9300

图片18.png图片19.png

4.1.2 创建ES文档和映射,通过实现ElasticSearchRepository接口操作ES

图片20.png

4.1.3 给实体类加上@Document注解,指定index跟type图片21.png

至此代码相关编写完成,下面进行测试

5. 测试

5.1 新增图片22.png图片23.png

5.2 修改图片24.png图片25.png

5.3 删除图片26.png图片27.png



相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
Web App开发 自然语言处理 Java
Elasticsearch简介及安装
Elasticsearch简介及安装
477 0
|
存储 数据可视化 搜索推荐
分布式系列教程(26) -分布式日志搜集工具Elasticsearch简介
分布式系列教程(26) -分布式日志搜集工具Elasticsearch简介
193 0
|
自然语言处理 Rust 搜索推荐
elasticsearch简介
elasticsearch简介
213 0
ElasticSearch6.6.2安裝使用问题记录
ElasticSearch6.6.2安裝使用问题记录
80 1
|
存储 自然语言处理 Java
Elasticsearch全文搜索技术之二kibana的简介和使用
Elasticsearch全文搜索技术之二kibana的简介和使用
224 2
|
存储 消息中间件 监控
【ElasticSearch】ELK简介
【ElasticSearch】ELK简介
454 2
【ElasticSearch】ELK简介
|
存储 自然语言处理 数据挖掘
01_Elasticsearch简介与环境搭建
01_Elasticsearch简介与环境搭建
157 0
|
关系型数据库 MySQL Docker
ElasticSearch简介
ElasticSearch简介
|
存储 机器学习/深度学习 SQL
阿里云 Elasticsearch简介和购买流程
开源Elasticsearch是一个基于Lucene的实时分布式的搜索与分析引擎,是遵从Apache开源条款的一款开源产品,是当前主流的企业级搜索引擎。作为一款基于RESTful API的分布式服务,Elasticsearch可以快速地、近乎于准实时地存储、查询和分析超大数据集,通常被用来作为构建复杂查询特性和需求强大应用的基础引擎或技术。
|
存储 自然语言处理 前端开发
Elasticsearch倒排索引(一)简介
Elasticsearch倒排索引(一)简介
244 0