草庐IT

ES基本操作(JavaAPI篇)

引入jar包依赖org.elasticsearchelasticsearch7.8.0org.elasticsearch.clientelasticsearch-rest-high-level-client7.8.0org.apache.logging.log4jlog4j-api2.8.2org.apache.logging.log4jlog4j-core2.8.2com.fasterxml.jackson.corejackson-databind2.9.9junitjunit4.12调用API创建Index查询和删除IndexGetIndexRequestrequest=newGetInd

ES查询多个索引,但是某些索引的name不同

参考: https://blog.csdn.net/qq_37147750/article/details/111319151背景:目前有四个索引index,对于这四个index他们的字段并不完全相同,要支持筛选。目前的问题是,其中有两个索引要先根据条件筛选一遍。后续的筛选根据这次的结果做基础。但是这两个索引的筛选条件也不一样。相当于SQL: (select*fromAwherea_idin(x1,x2,x3,x4))unionall(select*fromBwhereb_idin(y1,x2,x3,x4))unionall索引三 unionall 索引四在这个基础上做筛选publicQuer

报错FileSystemException: /datas/nodes/0/indices/gtTXk-hnTgKhAcm-8n60Jw/1/index/.es_temp_file:结构需要清理

首先我碰到的问题是服务器突然断电导致elasticsearch宕机,当我再次启动的时候FileSystemException:/data/elasticsearchDatas/datas/nodes/0/indices/gtTXk-hnTgKhAcm-8n60Jw/1/index/.es_temp_file:结构需要清理到对应的目录中查看,ls查看文件时报ls:无法访问write.lock:结构需要清理所以判断肯定是由于断电导致分区数据损毁,丢失了文件的信息。所以需要修复分区,并重新挂载到目录上。查看磁盘挂载df-h可看到文件所在的目录挂载的分区是/dev/sdc,这就是我们需要修复的。先将已

es笔记七之聚合操作之桶聚合和矩阵聚合

桶(bucket)聚合并不像指标(metric)聚合一样在字段上计算,而是会创建数据的桶,我们可以理解为分组,根据某个字段进行分组,将符合条件的数据分到同一个组里。桶聚合可以有子聚合,意思就是在分组之后,可以在每个组里再次进行聚合操作,聚合的数据就是每个组的数据。以下是本篇笔记目录:基本桶聚合操作过滤聚合多桶过滤聚合全局聚合直方图聚合嵌套聚合范围聚合稀有词聚合矩阵聚合1、基本桶聚合操作我们可以简单的先来进行一下桶聚合的操作,比如我们根据age字段对数据进行分组操作:GET/bank/_search{"size":0,"aggs":{"bucket_age":{"terms":{"field":

Elasticsearch【安装ES服务、安装kibana、Docker安装 、索引操作、文档操作】(二)-全面详解(学习总结---从入门到深化)

 目录Elasticsearch安装_安装ES服务Elasticsearch安装_安装kibanaElasticsearch安装_Docker安装 Elasticsearch常用操作_索引操作Elasticsearch常用操作_文档操作 Elasticsearch安装_安装ES服务准备工作 1、 准备一台搭载有CentOS7系统的虚拟机,使用XShell连接虚拟机2、关闭防火墙,方便访问ES#关闭防火墙:systemctlstopfirewalld.service#禁止防火墙自启动:systemctldisablefirewalld.service3、配置最大可创建文件数大小#打开系统文件:v

Es索引中时间字段是字符串Range查询的正确姿势

文章目录@[toc]1.问题2.Es索引的mapping模式2.1dynamic动态宽松模式(动态映射)2.2strict严格模式(静态映射)3.text类型和keyword类型的区别3.1text类型3.2keyword类型4.正确姿势5.总结1.问题  由于之前搞了一个使用flink-cdc将mysql表中的数据同步到es的索引中,例子中数据库中的orders表中的order_date的字段类型是datetime类型,flink-sql建表orders、enriched_orders中的order_date字段是TIMESTAMP(0)类型,同步到es的enriched_orders索引中

外部无法访问ES的解决方案

外部无法访问ES的解决方案:打开Elasticsearch安装路径下config目录下的elasticsearch.yml文件,加入如下配置:discovery.seed_hosts:["host1"]network.host:0.0.0.0 重新启动ES即可。PS:如果修改配置文件后,启动报错maxfiledescriptors[4096]forelasticsearchprocessistoolow,increasetoatleast[65536],解决方案如下:编辑/etc/security/limits.conf,添加以下内容;* soft nofile 65536* hard nof

ctf中MD5绕过详细总结及例题[BJDCTF2020]Easy MD5

一、首先是MD5()函数的作用?MD5()函数的作用是计算字符串的MD5散列。返回值:如果成功则返回已计算的MD5散列,如果失败则返回FALSE。二、PHP==弱类型比较绕过?代码:highlight_file(__FILE__);error_reporting(0);$flag="flag{H3rmesk1t_is_a_loser}";$val1=$_GET['val1'];$val2=$_GET['val2'];if(isset($_GET['val1'])andisset($_GET['val2'])){ if($_GET['val1']!=$_GET['val2']) { if((m

ctf中MD5绕过详细总结及例题[BJDCTF2020]Easy MD5

一、首先是MD5()函数的作用?MD5()函数的作用是计算字符串的MD5散列。返回值:如果成功则返回已计算的MD5散列,如果失败则返回FALSE。二、PHP==弱类型比较绕过?代码:highlight_file(__FILE__);error_reporting(0);$flag="flag{H3rmesk1t_is_a_loser}";$val1=$_GET['val1'];$val2=$_GET['val2'];if(isset($_GET['val1'])andisset($_GET['val2'])){ if($_GET['val1']!=$_GET['val2']) { if((m

查询ES报错429 circuit_breaking_exception,“reason“:“[parent] Data too large, data for \[<http_request\>\]

查询ES报错:429TooManyRequests;circuit_breaking_exception,”reason”:”[parent]Datatoolarge,datafor[]“问题:ES查询报错:429TooManyRequests;circuit_breaking_exception,“reason”:“[parent]Datatoolarge,datafor[]”原因:ES查询缓存占用内存过大,超过阈值(默认70%),查询请求拒绝。解决:1.清除es缓存2.修改缓存阈值限制修改ES查询缓存占用比例限制PUT/_cluster/settings{"persistent":{"in