ElasticSearch的基本集成和使用

项目中用的es,记录一下集成过程和遇到的问题,如果有问题,请不吝赐教。

一,集成

引入包只要这些就足够:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.plugin</groupId>
            <artifactId>transport-netty3-client</artifactId>
            <version>5.6.14</version>
        </dependency>

这里比较大的坑就是版本兼容的问题,刚开始使用的es6.6.2,spingBoot是2.0.4启动提示依赖冲突改成这个5.6.14之后好了,新版本不要轻易尝试。

后面的java代码参考这边即可:https://blog.csdn.net/mjwwjcoder/article/details/79087269

二,关键点:

es启动监听两个端口,9300和9200
9300端口是使用tcp客户端连接使用的端口;
9200端口是通过http协议连接es使用的端口;

这就是为啥,配置文件配置的是9200,代码里却要配置9300才能连通。

三,一个比较坑的地方:

https://blog.csdn.net/qq_36390263/article/details/81348671 这个地址可以解决

http://ip***:port/"index"/_mapping/"type"/?pretty   -----单一类型

http://ip***:port/"index"/_mapping/"type"/?update_all_types--多类型,用上面的报错会提示用这个类型

就是设置fieldata=true

 

四 Elasticsearch设置最大返回条数

https://www.cnblogs.com/parryyang/p/7976908.html

  在Elasticsearch中如果需要做分页查询,我们通常使用form和size实现。form指定从有序哪一行开始,size表示从当前开始读取多少行。但是我们发现查询结果最大只能到10000,这是因为Elasticsearch中的size的默认值在index.max_result_window 中设置,并且默认值就是10000。下面我们通过Elasticsearch的API设置最大的读取行。

  注:Elasticsearch支持的最大值是2^31-1,也就是2147483647。

 下面我们来查看一下是否设置成功:

  如图,我们的设置成功。

 

参考:https://www.cnblogs.com/songxingzhu/p/10215812.html

还有一种直接运行curl命令的形式,可以在启动的es上直接生效,当时文章中也指出修改配置文件的方式5.x之后会导致启动报错,亲测curl命令是可行的,命令是:

curl -H "Content-Type: application/json" -XPUT 'http://127.0.0.1:9200/_all/_settings?preserve_existing=true' -d '{
  "index.max_result_window" : "1000000000"
}'
或者(命令中只修改一下ip,index不要修改)
curl -H "Content-Type: application/json" -XPUT http://127.0.0.1:9200/_settings -d '{ "index" : { "max_result_window" : 100000000}}'
又找到一种可以对规则index设置的方案:
curl -XPUT 127.0.0.1:9200/index-*/_settings -d '{ "index.max_result_window" :"1000000"}'

特殊字符:

https://blog.csdn.net/gong_yangyang/article/details/77505039

 

五 、服务重启

找到应用kill之后,在bin目录下执行 sh elasticsearch -d  (-d 后台执行)

 

六、关于模板的使用

https://www.cnblogs.com/shoufeng/p/10641560.html

以上地址说的很明确

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值