草庐IT

es6-features

全部标签

ES报Connection reset by peer

原因分析:使用了RestHighLevelClient客户端,内部的连接是长连接,默认的keepAlive是-1,也就是永不过期,所以默认情况下客户端不会主动与服务端断开连接,但是服务端不同,ES服务端连接默认就是取服务器的时长,服务器的时长默认是2小时,可以简单的理解,就是如果es客户端超过2小时没有对es服务端发起请求,那么es服务端就会断开连接,但是客户端不知道这个连接是无效的,下次请求来还是复用这个连接,就抛出了上面那个异常了。解决方案:手动设置RestHighLevelClient客户端的keepAlive,不要太长,最重要的是不要超过默认的es服务端连接时长2小时,参考代码如下:n

ES索引创建报错cannot be changed from type

使用ES一段时间了。突然有一天线上索引创建报错。到9月份了。按照月份生成日期时报错如下:ElasticsearchStatusException[Elasticsearchexception[type=illegal_argument_exception,reason=mapper[xxx]cannotbechangedfromtype[integer]to[long]]]查看了git历史日志,并没有发现修改字段类型的痕迹。于是我本地运行代码,多线程触发,模拟同时创建索引。果然真的就报出来上面的错误。1、问题复现经过反复多次模拟,报错类型总共出现如下几种:1、索引类字段类型转换出错Except

ES8生产实践——ES索引策略配置与写入优化

在前面的实验案例中,我们已经顺利的完成了自定义日志的采集与过滤清洗操作,并将日志内容存储到ES集群。但只是把数据存储到ES集群还远不够,应该根据实际情况合理配置索引策略和参数,这样才能保障ES集群长期稳定运行。采集管道虽然在先前的案例中已经使用Logstash对原始数据进行了清洗处理,但是实际存入ES中发现部分字段仍存在问题。我们除了重新调试Logstash的filter过滤规则外,还可以通过es的ingestpipeline,交由es的ingest节点在存入es前做最后的处理工作。更多ingest相关的内容,可参考文章:https://www.cuiliangblog.cn/detail/s

android - 颠倒的纹理? | OpenGL-ES 2.0 (安卓)

我试图将我的纹理映射到一个用opengles2.0制作的正方形,当我这样做时,纹理出现颠倒,我的映射有误吗?或者我画它的方式?这是它的外观图片:这是我的onDrawFrame()代码publicvoidonDrawFrame(GL10glUnused){GLES20.glClearColor(0.0f,0.0f,1.0f,1.0f);GLES20.glClear(GLES20.GL_DEPTH_BUFFER_BIT|GLES20.GL_COLOR_BUFFER_BIT);GLES20.glUseProgram(mProgram);GLES20.glEnable(GLES20.GL_BL

实用篇-ES-RestClient查询文档

一、快速入门上面的查询文档都是依赖kibana,在浏览器页面使用DSL语句去查询es,如何用java去查询es里面的文档(数据)呢我们通过match_all查询来演示基本的API,注意下面演示的是'match_all查询,也叫基础查询'首先保证你已经做好了'实用篇-ES-环境搭建',创建了名为gghotel的索引库,然后开始下面的操作。如果需要浏览器操作es,那就不需要启动kibana容器在进行下面的操作之前,确保你已经看了前面'实用篇-ES-RestClient操作文档'学的'1.RestClient案例准备',然后在进行下面的操作第一步:在src/test/java/cn.itcast.h

es相关的官方客户端与spring客户端对比与介绍

1.客户端版本种类es提供的TransportClient传统的客户端,基于TCP传输协议与Elasticsearch通信。已经被弃用,不推荐使用。适用于Elasticsearch5.x及以前的版本因为Elasticsearch6.x及以上版本已不再支持TCPTransport协议,TransportClient无法连接Elasticsearch集群。RestHighLevelClient是一个高级的REST客户端,主要用于与Elasticsearch集群通信。基于JavaLowLevelRESTClient构建,提供更高级的API,隐藏底层细节。主要用于Kibana和Logstash等工具。

如何设计es的索引库结构

1、确定索引库的名称建议和使用的数据库的表名相对应比如:数据库的表名为 那么索引库的名称可以为:item2、确定索引库需要的字段1.根据前端界面来判断需要什么字段例如:上边这个界面需要的就是:分类,品牌,价格,商品图片,商品名称,评论数量,销量除此之外,还需要id,用于关键字全文检索的字段:all,用于自动补全的字段:suggestion,是否为推广广告:isAD2.确定这些字段的属性(图片不参与搜索,因此需要index为false)分类:是字符串类型,且不可分词的,为keyword品牌:是字符串类型,且不可分词的,为keyword价格:是数值类型,为long商品图片:存储的是网址,且不可分词

【Go】go-es统计接口被刷数和ip访问来源

go-es模块统计日志中接口被刷数和ip访问来源以下是使用go的web框架gin作为后端,展示的统计页面背景上面的数据来自elk日志统计。因为elk通过kibana进行展示,但是kibana有一定学习成本且不太能满足定制化的需求,所以考虑用编程的方式对数据进行处理首先是接口统计,kibana的页面只会在字段uri的top500进行百分比统计,展示前5条数据,统计不够充分其次是网关日志,ip来源的采集字段是通过x_forward_for,这记录了各级的代理来源ip。并不能直接对用户的ip进行数据聚合的统计举例,这里面“223.104.195.51,192.168.29.135”,这种数据我需要拿

android - Android 上符合 OpenGL-ES 2.0 要求的最小纹理尺寸?

是否有特定硬件需要支持的最小纹理大小才能符合OpenGL-ES2.0规范?GL_MAX_TEXTURE_SIZE值必须至少为1024或2048或类似值?我想知道这一点的原因是因为我正在处理使用着色器的东西,因此必须是OpenGL-ES2.0。因此我想让纹理尽可能大,而不必考虑每个硬件纹理限制(比如只有512x512的旧手机)。如果有一个最小数量(或大多数设备支持的某个值)对我有很大帮助。 最佳答案 是的,任何GLES2实现都必须支持至少64像素的宽度和高度纹理。您可以使用GL_MAX_TEXTURE_SIZE枚举通过glGetInt

java - 适用于 Android 的 OpenGL ES 教程似乎不起作用

我一直在关注http://developer.android.com/resources/tutorials/opengl/opengl-es20.html上的教程适用于Android上的OpenGLES。我已经进入“应用投影和相机View”部分,但我似乎总是看到一个没有三角形的空白屏幕,上一节工作得很好。我也尝试将整个教程复制粘贴到我的代码中,但得到了相同的结果。换行:gl_Position=uMVPMatrix*vPosition;到:gl_Position=vPosition;将应用程序放回第一部分(三角形根据屏幕方向拉伸(stretch))。知道问题是什么吗?这是我到目前为止的