Springboot2.x整合ElasticSearch7.x实战(一)

王仕宇编程
• 阅读 29

学习一个新技术,最快的掌握方式就是先学会使用,让我们有了很强的满足感,在研究底层代码。

本篇幅是继上一篇Springboot2.x整合ElasticSearch7.x实战目录,适合初学 Elasticsearch 的小白,可以跟着整个教程做一个练习。

编者荐语:在大数据搜索中,Elasticsearch 使用频率非常高。学习 Java 了解大数据那是我们 Java 攻城狮很好的选择。

[toc]

第一章 课程介绍

自我介绍

大家好,我是pub哥

ElasticSearch SpringBoot 介绍

ElasticSearch

ElasticSearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库——无论是开源还是私有。

ElasticSearch 使用 Java 编写的,它的内部使用的是 Lucene 做索引与搜索,它的目的是使全文检索变得简单,通过隐藏 Lucene 的复杂性,取而代之提供了一套简单一致的 RESTful API。

然而,ElasticSearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎,它可以被下面这样准确地形容:

  1. 一个分布式的实时文档存储,每个字段可以被索引与搜索
  2. 一个分布式近实时分析搜索引擎
  3. 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

Elasticsearch 是与名为 Logstash 的数据收集和日志解析引擎以及名为 Kibana 的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为 “Elastic Stack” (以前称为“ELK stack”)。

SpringBoot

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。

简单来说,使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。

环境介绍

centOS 7.3 JDK1.8 及以上 ElasticSearch 7.*

第二章 软件安装

服务器环境

确保你的服务器安装了 jdk1.8 或以上版本环境

Elasticsearch通过文件映射(mmap)来读取磁盘中的文件,这样可以比read系统调用少一次内存拷贝,也被称为0拷贝技术。ES映射的文件会很多,所以需要修改最大映射文件的数量,通过修改vm.max_map_count配置项可实现。设置方式

文件最后添加一行 vim /etc/sysctl.conf vm.max_map_count=262144

以上几点是环境搭建的基础

Linux安装JDK

es 最小支持 jdk 版本是 jdk8

Linux安装es,方法和要点

国内版本镜像页:https://mirrors.huaweicloud.com/elasticsearch/

下载:

wget https://mirrors.huaweicloud.com/elasticsearch/7.7.0/elasticsearch-7.7.0-linux-x86_64.tar.gz

解压:

tar -zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz

es集群、初步配置和使用

设置堆内存,修改 jvm.options ,学习阶段初学者 200m 即可,示例如下。 -Xms200m -Xmx200m

在启动前,先修改配置文件, config/elasticsearch.yml

贴一下全部配置(ip地址是服务器对外访问地址):

cluster.name: my-application
node.name: node01
node.master: true
node.data: true
#bootstrap.memory_lock: false
#bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
# 集群发现:配置该节点会与哪些候选地址进行通信,默认端口9300,可填ip;ip+port;域名
discovery.seed_hosts: ["39.12.1.1"]
# 
cluster.initial_master_nodes: ["39.12.1.1"]
discovery.zen.minimum_master_nodes: 1
#http.cors.allow-headers: Authorization
#xpack.security.enabled: true
#xpack.security.transport.ssl.enabled: true

启动:

./bin/elasticsearch

到此为止,单机版本已搭建完成。访问下面地址,可以看到我们的es版本信息。 http://ip+9200/

安装使用可视化工具插件head,Cerebro

这里只介绍 cerebro 安装

下载:

wget https://github.com/lmenezes/cerebro/releases/download/v0.6.5/cerebro-0.6.5.tgz

解压:

tar zxvf cerebro-0.6.5.tgz

启动:

cd cerebro-0.6.5 bin/cerebro

Springboot2.x整合ElasticSearch7.x实战(一)

在看和分享是对我最大的鼓励,我是王哥,我们下期再见

JavaPub 官网: http://javapub.net.cn/

《最少必要面试题》

点赞
收藏
评论区
推荐文章
Irene181 Irene181
3年前
手把手教你使用Flask搭建ES搜索引擎(预备篇)
/1前言/Elasticsearch是一个开源的搜索引擎,建立在一个全文搜索引擎库ApacheLucene™基础之上。那么如何实现Elasticsearch和Python的对接成为我们所关心的问题了(怎么什么都要和Python关联啊)。/2 Python交互/所以,Python也就提供了可以对接Elasti
Stella981 Stella981
3年前
ElasticSearch(增put、删delete、改(本质是先删除后添加)post、查get、post)
一、ElasticSearch简介1.1什么是ElasticSearchElasticSearch,简称es,es是一个开源的高扩展的分布式全文搜索引擎,可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理pb级别的数据。es也使用java开发并使用Lucene作为其核心来实现所有索
Stella981 Stella981
3年前
Elasticsearch与Solr优缺点比较
Elasticsearch简介Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎ApacheLucene™基础上的搜索引擎,可以说Lucen
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
3年前
ElasticSearch学习汇总
什么是ElasticSearch?ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch能够做到实时搜索并且稳定,
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
Java搜索使用引擎
1、Java全文搜索引擎框架Lucene毫无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene为开发人员提供了相当完整的工具包,可以非常方便地实现强大的全文检索功能。下面有几款搜索引擎框架也是基于Lucene实现的。官方网站:http:
Stella981 Stella981
3年前
Net Core使用Lucene.Net和盘古分词器 实现全文检索
Lucene.netLucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,是一个高性能、可伸缩的文本搜索引擎库。它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据的
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
陈占占 陈占占
2年前
Django 配置搜索引擎 haystack 与 搜索页面无法返回数据问题
Django配置搜索引擎haystack与搜索页面无法返回数据问题1、Django安装haystackwhooshjiebahaystack是django的开源搜索框架,该框架支持Solr,Elasticsearch,Whoosh,搜索引擎量。Whoosh是一个搜索引擎使用,这是一个由纯Python实现的全文搜索引擎,没有二进制文
王仕宇编程
王仕宇编程
Lv1
男 · JavaPub · 软件工程师
代码编织梦想,科技成就未来。
文章
6
粉丝
0
获赞
0