草庐IT

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

ES去重查询实现

去重实现原理:采用es的Collapse折叠+cardinality基数计算实现去重1、优点:简单快速效率高,几乎无性能损耗(相比于分桶去重)2、缺点:1)Collapse折叠只支持一个字段去重,且字段必须是keyword2)cardinality基数计算去重后数量(采用hyperloglog实现,hyperloglog一种近似计算)会有误差,3)不支持search_after和scroll,有深度分页问题1、单个字段去重GET/xxxxx/_search{"_source":[//查询显示的字段"title","uuid","id"],"query":{"match_phrase":{"ti

ES 查询时报错 I/O 异常: Request cannot be executed; I/O reactor status: STOPPED

问题:ES查询时报错I/O异常:java.lang.IllegalStateException:Requestcannotbeexecuted;I/Oreactorstatus:STOPPED[ES][I/OSTOPPED][OOM]问题:ES查询时报错IO异常,java.lang.IllegalStateException:Requestcannotbeexecuted;I/Oreactorstatus:STOPPED原因:使用ES过程中遇到一个Requestcannotbeexecuted;I/Oreactorstatus:STOPPED的异常,大概意思是和server端的连接异常终止了。

java实现 elasticsearch es 的单个条件查询和多个条件查询,根据id更新指定字段

先注入@AutowiredprivateRestHighLevelClientrestHighLevelClient;1:ES根据单个条件查询publicStringsearchEsAttachmentsLink(StringriskId,StringdataFrom){try{//添加条件,SearchSourceBuildersearchSourceBuilder=SearchSourceBuilder.searchSource().size(1).query(QueryBuilders.termQuery(name:"字段",值));//拼装SearchRequestsearchRequ

【项目实战】SpringBoot连接ES报错status line [HTTP/1.1 401 Unauthorized

一、报错内容Causedby:org.elasticsearch.client.ResponseException:method[HEAD],host[http://IP地址:端口号],URI[/shopping?ignore_throttled=false&ignore_unavailable=false&expand_wildcards=open%2Cclosed&allow_no_indices=false],statusline

ES索引数据迁移 _reindex

索引数据迁移集群内部索引迁移,从一个索引迁移数据到另一个索引里1.创建新索引新索引与就索引结构保持一致通过就索引_mapping_setting获取配置和结构信息然后创建新索引需要注意添加如下配置"settings":{"number_of_replicas":0,"number_of_shards":3,"refresh_interval":"-1"}设置number_of_replicas为0防止我们迁移文档的同时又发送到副本节点,影响性能设置refresh_interval为-1是限制其刷新。默认是1秒当我们数据迁移完成再把上面两个值进行修改即可2.迁移数据POST_reindex{"s