Spring Cloud | ElasticSearch(es)的使用

本文介绍了如何在Spring Cloud项目中使用Elasticsearch(ES),对比了ES与传统数据库的区别,强调其分布式搜索和倒排索引特性。示例展示了如何通过接口将数据插入ES的"order_detail"索引,并按条件查询。提供了源码链接,包括ES配置、依赖引入、Service实现等,同时提到了Kibana用于查看和操作ES数据。
摘要由CSDN通过智能技术生成

一、简述

ES(ElasticSearch)是一款分布式全文检索框架,每个字段可以被索引与搜索;以胜任上百个服务节点的扩展,并支持PB级别的结构化或者非结构化数据;底层基于基于Lucene实现。

ES与传统数据的区别:

1、结构名称不同:一个ES集群可以包含多个索引(数据库),每个索引又包含了很多类型(表),类型中包含了很多文档(行),每个文档使用 JSON 格式存储数据,包含了很多字段(列)。

关系型数据库

数据库

ElasticSearch

索引

类型

文档

字段

2、ES分布式搜索,传统数据库遍历式搜索

3、ES采用倒排索引,传统数据库采用B+树索引

4、ES没有用户验证和权限控制

5、ES没有事务的概念,不支持回滚,误删不能恢复

......

本章案例源码:

源码:https://github.com/liujun19921020/SpringCloudDemo/blob/master/ProjectDemo/企业SpringCloud架构-xxljob-redis-elasticsearch

或 :链接:https://pan.baidu.com/s/1ooqaIRSeX6naOZ51aBWNHA  提取码:cwsw

 

这里是整了一个架构集合案例,该文主要源码为sc-elasticsearch-demo项目。

 

二、目标

通过接口传递list对象,将集合数据插入ES索引名/类型名为”order_detail”对象中;然后再通过接口按条件查询。

(下面讲述通过插入数据时自动创建ES索引及mapping方式,也可通过sql+conf文件方式获取数据源创建ES相关,详见源码目录)

 

三、配置


项目中我们采用SearchGurageSSL认证方式配置,证书配置生成的可查看《SearchGuard证书配置》《searchguard配置》《SearchGuard客户端连接》《SearchGuard集群版》等相关文档。

 

先引入ES配置

1、pom.xml中引入依赖

<!-- es插件 -->
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-elasticsearch</artifactId>
    <version>3.0.4.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>5.6.14</version>
</dependency>

<!--SearchGurageSSL认证-->
<dependency>
    <groupId>com.floragunn</groupId>
    <artifactId>search-guard-ssl</artifactId>
    <version>5.6.14-23</version>
</dependency>

2、在application.properties配置文件中添加配置变量,指明ssl证书存放位置、ES的IP端口账号密码

#----------------------------------elasticsearch配置---------------------------------------------
# resources.base_location=D:\\elasticsearch\\
resources.base_location=classpath:
resources.locations1=${resources.base_location}ssl/spock.key
resources.locations2=${resources.base_location}ssl/spock.pem
resources.locations3=${resources.base_location}ssl/root-ca.pem

elasticsearch.number=1
elasticsearch.host1=192.168.71.246
elasticsearch.host2=192.168.71.246
elasticsearch.host3=192.168.71.246
elasticsearch.port=9300

elasticsearch.cluster-name=ebuy-cloud-cluster
elasticsearch.ssl.transport
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值