ES,SpringData,SpringBoot,一些小坑和阶段性总结

ES已经很普及了,最近又从无到有实践,又遇到很多问题。

特此总结。

 

1、以前

以前Spring项目,专用ES,不用SpringData。

很早的版本。

 

2、今天的一些坑

3.1 先打算用 SpringBoot+SpringData+ES

本地没有配置任何ES,结果竟然能 成功索引和查询(从网上找的一个例子)。

找了半天,本地自动启动1个。

 

把本地地址改为远程地址,死活连不上。

有人说是版本问题,但是我本地ES已经用到6.x还是不行。

 

各种方法尝试,不行。

联想到Redis,有绑定ip的功能,是不是ES默认不让远程访问?

 

修改network.host参数,绑定ip,增加自己的ip,es启动失败。

 

这让我想到去看日志。

看日志的过程中,发现:

exception caught on transport layer [Netty4TcpChannel{localAddress=/192.168.162.239:9300,
remoteAddress=/172.16.20.103:50514}], closing connection
java.lang.IllegalStateException: Received message from unsupported version: [2.0.0] minimal compatible version is: [6.8.0]

 

发现问题了,确认是 本地ES版本太低导致。

 

3.2 升级ES版本

又发现各种类找不到。

网上找的例子,大概是说启动的时候,某个类找不到,然后根据类名去搜,确实搜不到。

可能是高版本,被移除了。

 

3.3 网上又学习一大圈

一同事Python连ES,直接用的Http Rest方式。

网上学习过程中,发现ES的连接方式有很多种,传统的client方式好像不太行了,经常遇到版本不匹配的问题。

未来的趋势是:使用 HTTP rest方式。

又找了Rest方式的示例,一顿折腾,勉强能用。

 

存在一些小问题:API被弃用了。@Deprecated 

代码写得逻辑不清晰,又是一顿小改。

 

控制台还有一些警告:

2019-10-29 14:18:49.859 [demo] [I/O dispatcher 1] WARN [org.elasticsearch.client.RestClient] -request [PUT http://19.168.16.239:9200/company/employee/12?timeout=1m] returned 1 warnings:

[299 Elasticsearch-7.2.0-508c38a "[types removal] Specifying types in document index requests is deprecated, use the typeless endpoints instead (/{index}/_doc/{id}, /{index}/_doc, or /{index}/_create/{id})."]
2019-10-29 14:18:50.031 [demo] [I/O dispatcher 1] WARN [org.elasticsearch.client.RestClient] -request [GET http://192.18.12.239:9200/company/employee/12] returned 1 warnings:

[299 Elasticsearch-7.2.0-508c38a "[types removal] Specifying types in document get requests is deprecated, use the /{index}/_doc/{id} endpoint instead."]

 

这次先简单写写,心路历程。

继续研究完整可用Demo,再分享出来。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值