赞
踩
ES部署使用及java接入手册
windows Server 下搭建ES环境
简介:ES(ElasticSearch) 是基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全问搜索引擎,且ES支持RestFulweb风格的url访问。ES是基于Java开发的开源搜索引擎,设计用于云计算,能够达到实时搜索,稳定、可靠、快速。此外,ES还提供了数据聚合分析功能,但在数据分析方面,es的时效性不是很理想,在企业应用中一般还是用于搜索。ES自2016年起已经超过Solr等,称为排名第一的搜索引擎应用。
下载运行ES
官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch
注:右侧选择历史版本,jdk1.8对应的版本是7.x的。
下载完以后进入bin目录,输入elasticsearch回车;或者直接双击 elasticsearch.bat 进行启动。
注:请确认环境变量是否已经配置成功
注:请确认java版本是否为ES对应版本
或者
启动以后浏览器输入 http://localhost:9200/ 查看是否启动成功,如下图是成功的
使用IK分词器,附件中提供了IK分词器,只需要将IK文件夹放置ES安装目录下的plugins文件夹下重新启动即可
使用图形化工具查看ES数据
Kibana(目前只用作图形化操作工具)
elasticsearch-head-master(也是一个图形化操作工具)
http.cors.enabled: true
http.cors.allow-origin: “*”
图片:
数据同步服务logstash
简介:logstash是一款具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。
使用:logstash支持多种方式作为数据来源,示例将以数据库作为数据来源进行讲解。
官网下载地址:https://www.elastic.co/cn/downloads/logstash
注:右侧选择历史版本,logstash应和ES版本一致。
简单启动logstash,当前目录进入cmd中输入 logstash 回车启动;或者直接点击 logstash.bat文件进行启动。
或者
浏览器输入 http://ip:9600 回车,显示如图,代表启动成功
可以指定配置文件启动,需要先编写配置文件
a) 在logstash安装目录的bin目录下新建database.conf
b) 以文本形式打开文件开始配置,分为三个配置代码块,
i. input{};输入配置区域,可以写数据库链接等数据来源
ii. filter{};过滤配置区域,可以动态过滤一些字段
iii. output{};输出配置区域,指向ES的地址
c) 配置文件详见提供的database.conf文件
指定配置文件启动logstash。配置文件创建好后进入当前目录 cmd 输入命令
logstash –f database.conf
查看日志是否正确开始同步数据,如图已经开始执行sql语句。
通过ES-head 查看数据是否同步到数据库
springBoot接入ES
引言:一般代码操作ES有两种方式,一种是使用ES官方提供的依赖包进行操作,还有一种是springboot整合的依赖进行操作,类似与 restTemplate,redistTemplate。整合在spring-boot-starter-data 之下。
2.1提供ES接口示范(ElasticSearchController)
2.1.1创建索引
接口地址
GET /ElasticSearchController/createIndex
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
index 索引 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.2删除索引下的数据
接口地址
GET /ElasticSearchController/delete
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
id 唯一标识 query false string
index 索引 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.3删除索引
接口地址
GET /ElasticSearchController/deleteIndex
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
index 索引 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.4查询数据
接口地址
GET /ElasticSearchController/findByField
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
fields 涉及字段串 “,” 隔开 query false string
index 索引 query false string
word 关键词 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.5查询数据-分页
接口地址
GET /ElasticSearchController/findByFieldPage
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
fields 涉及字段串 “,” 隔开 query false string
index 索引 query false string
page 页码 query false ref
size 条数 query false ref
word 关键词 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.6模糊查询数据
接口地址
GET /ElasticSearchController/fuzzyByField
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
fields 涉及字段串 “,” 隔开 query false string
index 索引 query false string
word 关键词 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.7索引是否存在
接口地址
GET /ElasticSearchController/isExist
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
index 索引 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.8保存
接口地址
POST /ElasticSearchController/save
接口描述
请求数据类型
application/json
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
params params body true
indexName 索引名称 false String String
xxxx 储存的键值数据 false String String
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
ES部署使用及java接入手册
windows Server 下搭建ES环境
简介:ES(ElasticSearch) 是基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全问搜索引擎,且ES支持RestFulweb风格的url访问。ES是基于Java开发的开源搜索引擎,设计用于云计算,能够达到实时搜索,稳定、可靠、快速。此外,ES还提供了数据聚合分析功能,但在数据分析方面,es的时效性不是很理想,在企业应用中一般还是用于搜索。ES自2016年起已经超过Solr等,称为排名第一的搜索引擎应用。
下载运行ES
官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch
注:右侧选择历史版本,jdk1.8对应的版本是7.x的。
下载完以后进入bin目录,输入elasticsearch回车;或者直接双击 elasticsearch.bat 进行启动。
注:请确认环境变量是否已经配置成功
注:请确认java版本是否为ES对应版本
或者
启动以后浏览器输入 http://localhost:9200/ 查看是否启动成功,如下图是成功的
使用IK分词器,附件中提供了IK分词器,只需要将IK文件夹放置ES安装目录下的plugins文件夹下重新启动即可
使用图形化工具查看ES数据
Kibana(目前只用作图形化操作工具)
elasticsearch-head-master(也是一个图形化操作工具)
http.cors.enabled: true
http.cors.allow-origin: “*”
图片:
数据同步服务logstash
简介:logstash是一款具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。
使用:logstash支持多种方式作为数据来源,示例将以数据库作为数据来源进行讲解。
官网下载地址:https://www.elastic.co/cn/downloads/logstash
注:右侧选择历史版本,logstash应和ES版本一致。
简单启动logstash,当前目录进入cmd中输入 logstash 回车启动;或者直接点击 logstash.bat文件进行启动。
或者
浏览器输入 http://ip:9600 回车,显示如图,代表启动成功
可以指定配置文件启动,需要先编写配置文件
a) 在logstash安装目录的bin目录下新建database.conf
b) 以文本形式打开文件开始配置,分为三个配置代码块,
i. input{};输入配置区域,可以写数据库链接等数据来源
ii. filter{};过滤配置区域,可以动态过滤一些字段
iii. output{};输出配置区域,指向ES的地址
c) 配置文件详见提供的database.conf文件
指定配置文件启动logstash。配置文件创建好后进入当前目录 cmd 输入命令
logstash –f database.conf
查看日志是否正确开始同步数据,如图已经开始执行sql语句。
通过ES-head 查看数据是否同步到数据库
springBoot接入ES
引言:一般代码操作ES有两种方式,一种是使用ES官方提供的依赖包进行操作,还有一种是springboot整合的依赖进行操作,类似与 restTemplate,redistTemplate。整合在spring-boot-starter-data 之下。
2.1提供ES接口示范(ElasticSearchController)
2.1.1创建索引
接口地址
GET /ElasticSearchController/createIndex
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
index 索引 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.2删除索引下的数据
接口地址
GET /ElasticSearchController/delete
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
id 唯一标识 query false string
index 索引 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.3删除索引
接口地址
GET /ElasticSearchController/deleteIndex
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
index 索引 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.4查询数据
接口地址
GET /ElasticSearchController/findByField
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
fields 涉及字段串 “,” 隔开 query false string
index 索引 query false string
word 关键词 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.5查询数据-分页
接口地址
GET /ElasticSearchController/findByFieldPage
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
fields 涉及字段串 “,” 隔开 query false string
index 索引 query false string
page 页码 query false ref
size 条数 query false ref
word 关键词 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.6模糊查询数据
接口地址
GET /ElasticSearchController/fuzzyByField
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
fields 涉及字段串 “,” 隔开 query false string
index 索引 query false string
word 关键词 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.7索引是否存在
接口地址
GET /ElasticSearchController/isExist
接口描述
请求数据类型
application/x-www-form-urlencoded
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
index 索引 query false string
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
2.1.8保存
接口地址
POST /ElasticSearchController/save
接口描述
请求数据类型
application/json
响应数据类型
/
请求参数
参数名称 参数说明 请求类型 必须 数据类型 schema
params params body true
indexName 索引名称 false String String
xxxx 储存的键值数据 false String String
响应状态
状态码 说明 schema
200 OK 响应报文封装类
响应参数
参数名称 参数说明 类型 schema
code 状态码 integer(int32) integer(int32)
msg 返回描述 string
data 返回数据 object
trace 返回描述 string
count 数据总条数 integer(int64) integer(int64)
pageSize 每页数量 integer(int64) integer(int64)
pageNo 当前页 integer(int64) integer(int64)
totalPage 总页数 integer(int64) integer(int64)
timestamp 时间戳 integer(int64) integer(int64)
响应示例
{
“code”: 200,
“msg”: “成功”,
“data”: {},
“trace”: “”,
“count”: 0,
“pageSize”: 0,
“pageNo”: 0,
“totalPage”: 0,
“timestamp”: 1657157530
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。