草庐IT

使用ES同一个字段,不同条件or查询

需求:type字段是使用逗号分隔的字符串,要求多个值只要与此字段模糊匹配,即可成功布尔查询(BoolQuery)布尔查询是一种联合查询,可以对多个查询条件进行组合,布尔查询有四个子查询关键词:有时我们在查询es时,希望能够一次返回符合多个查询条件的结果,如多个时间范围查询、多个项的查询等。 使用should进行多个项的查询代码完成如下://布尔查询BoolQueryBuilderboolQueryBuilder=QueryBuilders.boolQuery();//设置typeBoolQueryBuildertypeQueryBuilder=QueryBuilders.boolQuery()

ES修改用户名和密码

1、ES配置文件中开启x-pack验证,修改config目录下面的elasticsearch.yml文件,在里面添加如下内容,并重启es.xpack.security.enabled:truexpack.license.self_generated.type:basicxpack.security.transport.ssl.enabled:true2、进入es的安装根目录bin下,/usr/share/elasticsearch/bin执行elasticsearch-setup-passwordsinteractive设置用户名和密码的命令,为以下几个用户分别设置密码,elastic,apm

nrm工具配置淘宝镜像 Error [ERR_REQUIRE_ESM]: require() of ES Module ... code: ‘ERR_REQUIRE_ESM‘

我们在使用nrm工具进行配置淘宝镜像过程中使用cmd命令nrmusetaobao结果出现这样的报错C:\Windows\system32>nrmusetaobao//这里是我们在cmd的指令D:\nodejs\node_global\node_modules\nrm\cli.js:9constopen=require('open');//出现错误提示在(D:\nodejs\node_global\node_modules\nrm\cli.js:9:14)文件的第九行出现错误,说是require不支持,然后我们将cli.js中的require换成了import,保存后再次运行成功。^Error[

ES删除索引中的所有数据(不删除索引结构)含curl删除方式

场景:想只删除索引下的数据,不删除索引结构,(windows环境)服务器中没有postman工具第一种:只删除索引中的所有数据,不删除索引结构POST192.168.100.88:9200/my_index/_delete_by_query请求体:{"query":{"match_all":{}}}注释:其中my_index是索引名称第二种:删除索引中的指定的数据,不删除索引结构请求头DELETE192.168.100.88:9200/log_index/log_type/D8D1D480190945C2A50B32D2255AA3D3注释:其中log_index是索引名称,log_type是

关于ES Request cannot be executed; I/O reactor status: STOPPED 异常原因查找

项目场景:项目用到ES存储日志数据,问题描述程序使用RestHighLevelClient客户端,经常出现Requestcannotbeexecuted;I/Oreactorstatus:STOPPED,网上查找到原因大多是因为手动调用close()原因分析:查询出现异常前后的日志,发现前一天晚上有出现过OOM,第二天应用与查询ES相关的操作全部异常,怀疑因为OOM导致client关闭,为了验证猜测,写了个简单的测试用例,程序出现OOM后,休眠15秒,释放内存,继续调用client查询ES,抛出Requestcannotbeexecuted;I/Oreactorstatus:STOPPED​​

ES中删除索引中某个字段

ES中无法直接增删索引中的字段,只能能够覆盖,即重建新的索引例:删除索引my_index中的source字段先将source字段中的数据删除否则后面reindex时,索引中会自动增加source字段和类型POSTmy_index/_update_by_query{"script":{"source":"ctx._source.remove(\"source\")","lang":"painless"}}创建新的索引my_index_bak,该mapping中不包含source字段数据迁移POST_reindex{"source":{"index":"my_index"},"dest":{"in

java用es客户端创建索引

先用java创建esClientpackagecom.ws.es.config;importcom.ws.util.PropertiesUtil;importorg.apache.http.Header;importorg.apache.http.HttpHost;importorg.apache.http.client.config.RequestConfig;importorg.apache.http.message.BasicHeader;importorg.apache.logging.log4j.LogManager;importorg.apache.logging.log4j.Lo

ES检索结果高亮显示JAVA以及Kibana实现

/***查询接口**@paramsearchReqVO*/publicEsSearchPageInfoResVOguessYouWantListForClient(EsSearchRequestVOsearchReqVO){BaseInfobaseInfo=getApp();Listcatalogues=getAccesses();EsSearchPageInfoResVOresult=newEsSearchPageInfoResVO();SearchRequestrequest=newSearchRequest();CountRequestcountRequest=newCountReque

Es集成Springboot

一、下载ESES:下载中心-Elastic中文社区 安装需要JDK,JAVA_HOMEElasticSearch下载并解压,进入bin目录,双击elasticsearch.bat就能启动,访问地址localhost:9200  注:本文使用的的ES版本为7.17.0二、创建springboot项目,引入依赖org.elasticsearch.clientelasticsearch-rest-high-level-client7.4.2org.elasticsearchelasticsearch7.4.2compileorg.elasticsearch.clientelasticsearch-r

ES中bucket分桶聚合

接着上一篇的文章继续,这一篇文章是bucket分桶聚合。数据依然用的是kibana_sample_data_ecommerce数据源。Terms词项分桶这个是把所有的数据按照下单的每周的日期进行分桶,统计周一下单数量。GETkibana_sample_data_ecommerce/_search{"track_total_hits":true,"size":0,"aggs":{"terms_currency":{"terms":{"field":"day_of_week"}}}}返回结果{"took":1,"timed_out":false,"_shards":{"total":1,"succ