ElasticSearch
qq_34412985
Coding make me happy.
展开
-
Elasticsearch Trying to create too many scroll contexts. Must be less than or equal to 500
背景elasticsearch7.x 开始加上了软限制,max_open_scroll_context默认为500个,这个参数可以理解为数据库可用活跃连接数报错是因为虽然scroll id有一个存活时限,过期后会自动被清理,但在高并发情况下还是会有可能达到限制,从而报错Trying to create too many scroll contexts. Must be less than or equal to 500可以发送请求来查看es集群的open_context使用情况[G转载 2021-12-30 10:17:32 · 2461 阅读 · 0 评论 -
Elasticsearch Trying to create too many scroll contexts. Must be less than or equal to: [500]
在做数据导出的时候,因为用到了滚动。因为每次调用都创建了scroll,而且我没有手动删除,而es默认的scroll是500个。到达500个没有清除的手,就会报这个错误。错误如下 {"error":{"root_cause":[{"type":"exception","reason":"Trying to create too many scroll contexts. Must be less than or equal to: [500]. This limit can be set b...原创 2021-12-30 10:13:41 · 2224 阅读 · 0 评论 -
ES查询报错:entity content is too long [142501157] for the configured buffer limit [104857600]
java - org.apache.http.ContentTooLongException: entity content is too long [105539255] for the configured buffer limit [104857600] - Stack Overflow在生产环境批量同步数据的时候,我写了一个查询请求,然后直接报错:entity content is too long [142501157] for the configured buffer limit [104原创 2021-12-24 10:23:44 · 8874 阅读 · 0 评论 -
ElasticSearch - 分页查询方式二 【scroll】滚动查询(kibana、Java示例)
前言1、scroll原理scroll API可用于从单个搜索请求中检索大量结果(甚至所有结果),其方式与在传统数据库上使用光标的方式大致相同。第一次查询时,会生产当时查询的快照,后续的查询只要携带上次返回的scroll_id即可 。2、特点 可以深查询(甚至全部数据),性能、效率优于from+size方式。 快照查询,在scroll查询期间 ,外部对索引内的数据进行增删改查等操作不会影响到这个快照的结果。使用1、kibana中测试示例第一次查询 ,并设置上下文scro...原创 2021-12-19 20:40:08 · 2451 阅读 · 0 评论 -
Elasticsearch 7 : 查询结果只展示部分字段
创建索引:PUT student{ "mappings" : { "properties" : { "name" : { "type" : "keyword" }, "age" : { "type" : "integer" } } }}使用 _bulk 创建文档POST _bulk{ "index" : { "_index" : "student", "_id" : "1" } }原创 2021-12-19 20:38:46 · 4083 阅读 · 0 评论 -
[range] malformed query, expected [END_OBJECT] but found [FIELD_NAME]
在ES中,查询条件为{ "query": { "match": { "yqxs": 1 }, "range": { "id": { "gte": 3000000000, "lte": 4000000000 } } }, "size": 1}报错:[match] malforme...原创 2021-12-16 16:41:48 · 8143 阅读 · 0 评论 -
[Elasticsearch exception [type=circuit_breaking_exception, reason=[parent] Data too large, data for
ElasticsearchStatusException[Elasticsearch exception [type=circuit_breaking_exception, reason=[parent] Data too large, data for [<http_request>] would be [7791531894/7.2gb], which is larger than the limit of [7752453324/7.2gb], real usage: [779153120原创 2021-12-08 21:16:10 · 2419 阅读 · 0 评论 -
ThreadPoolTaskExecutor同时自定义线程拒绝策略,防止线程太多造成线程池将任务丢弃
@Bean("lcAsyncServiceExecutor")public ThreadPoolTaskExecutor threadPoolTaskExecutor() { ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor(); threadPoolTaskExecutor.setCorePoolSize(COUR_SIZE); threadPoolTaskExecutor.se.原创 2021-12-08 21:12:01 · 1767 阅读 · 0 评论 -
es查询遇到的问题
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();searchSourceBuilder.size(2000);BoolQueryBuilder boolQueryBuilder= QueryBuilders.boolQuery();MatchPhraseQueryBuilder matchPhraseQueryBuilder1 = QueryBuilders.matchPhraseQuery("body.bpIn.原创 2021-12-06 21:12:22 · 1901 阅读 · 0 评论 -
Elasticsearch 在kibana中对索引名称进行重命名
问题:在实际的工作中,遇到已经将数据写入es,但是后边需要对这个索引进行重命名。如 test-20190122、test-20190121 需要重命名为test-2019。对于数据量比较少时,创建多个索引,需要创建多个分片,造成存储资源的浪费,需要将多个索引的数据合并到一个索引中。操作步骤:1、在kibana中执行以下命令:POST _reindex{"source": {"index": "test-20190122"},"dest": {"index": "t原创 2021-12-03 15:40:09 · 1750 阅读 · 0 评论 -
[type=illegal_argument_exception, reason=scroll_id array element should only contain scroll_id]]
记录elasticsearch通过scroll查询时指定索引错误时会报这个,-indexname,索引前面有-导致原创 2021-12-03 02:21:15 · 1322 阅读 · 0 评论 -
使用kibana查询elasticsearch嵌套对象之嵌套类型
user字段映射为nested类型,而不是默认的object类型curl -XGET 'localhost:9200/my_index/_search?pretty' -H 'Content-Type: application/json' -d'{ "query": { "nested": { "path": "user", "query": { "bool": { "must": [ { "mat...原创 2021-11-22 22:29:35 · 1009 阅读 · 0 评论 -
Elasticsearch】type=too_long_frame_exception, reason=An HTTP line is larger than 4096 bytes
记录下查询elasticsearch时候返回的数据大于4k时报异常转载 2021-10-14 16:48:05 · 660 阅读 · 0 评论 -
the default discovery settings are unsuitable for production use; at least one of [discovery.seed_ho
the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured elasticsearch7.1.1启动单节点时报错,然后查看配置文件7.1.1默认是master集群模式,将其改成单节点,同时将node的名称注释原创 2021-07-23 09:15:38 · 240 阅读 · 0 评论 -
SpringBoot项目连接ElasticSearch时报错:None of the configured nodes are available
问题描述:在springboot项目中使用TransportClient方式连接ES,完整报错:org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available背景 SpringBoot版本:1.5.11 ES版本:7.0.0 项目中配置文件:spring.data.elasticsearch.cluster-name=ela...原创 2021-04-08 19:24:36 · 401 阅读 · 0 评论 -
windows版的elasticsearch启动报“此时不应有 \Common。”
问题elasticsearch 在启动的时候报 “此时不应有 \Common”。同事使用的jdk版本是jdk build 25.261-b12,在系统环境变量中看有;但是点开看还没有原因Java 环境变量出错解决修改 elasticsearch.bat , 添加一句 :SET JAVA_HOME=D:\Java\jdk1.8.0_221@echo offsetlocal enabledelayedexpansionsetlocal enableextensionsSE原创 2020-12-28 18:38:18 · 795 阅读 · 0 评论 -
ElasticSearch安装SQL插件
ElasticSearch安装SQL插件下载地址(中国大佬开发的,膜拜ing):https://github.com/NLPchina/elasticsearch-sql注意点:1.在linux上安装插件时要给elasticsearch-plugin赋予755可执行权限,否则报错会提示没有此文件或目录2.另一种安装可以直接下载对应的zip压缩包,然后将压缩包解压成sql名即可使用,实际叫别的名字也可以的,比如essql3.plugins目录中不要放压缩包,否则启动也会报错1、记得选择原创 2020-12-03 18:37:29 · 509 阅读 · 0 评论 -
Unknown properties in plugin descriptor: [jvm, site, isolated]
ES在将低版本插件改为6.x插件后,启动ES报了这个异常。先看一下这三个属性:site:true表示发布为网站形式,_site目录下的内容将会起作用。 jvm:true表示设置的classname对应的类将会被加载,对于依赖的资源,配置等信息也需要打包成jar isolation:如果插件应该有自己的类加载器,则为真。传递false是不赞成的,它只用于支持插件相互之间有很强的依赖性。如果这是如果不指定,则默认隔离插件。 但是我在将site重新设置后,依然找不到该属性,可能是由于该.原创 2020-12-03 16:09:49 · 467 阅读 · 0 评论 -
docker安装es镜像启动容器时在macpro上使用时报错
猜测应该是该镜像使用openJdk,启动时加参数-e javaops="-xms=512m -xmx=512m"原创 2020-08-14 10:38:40 · 250 阅读 · 0 评论 -
启动ElasticSearch报错[1]: max file descriptors [4096] for elasticsearch process is too low
es启动时有的机器会报以下错误信息:[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536][2]: max number of threads [3818] for user [es] is too low, increase to at least [4096][3]: max virtual memory areas vm.max_map_cou原创 2020-08-04 18:27:14 · 625 阅读 · 1 评论 -
SpringBoot使用@Async注解失效分析(@Transactional事务注解失效分析)
有时候在使用的过程中@Async注解会失效(原因和@Transactional注解有时候会失效的原因一样)。下面定义一个Service:两个异步执行的方法test03()和test02()用来模拟项目中可能出现的耗时的操作,然后test()方法调用这两个耗时的方法:定义Controller:执行方法,返回结果:方法执行结果明显与我们的预期不符,方法的输出顺序表示了test02()和test03()两个异步方法居然同步执行了,也就是说@Aysnc注解失效了!失效的原因是因为转载 2020-07-30 17:56:49 · 903 阅读 · 0 评论 -
同一台机器起2个es做环境隔离但不做集群
elasticsearch.yml配置文件中需要改的地方,:和后面的数据中间有个空格,否则启动时会报错,9300端口区分不同cluster.name: my-searchpath.data: /data/search/datapath.logs: /data/search/logs## Set a custom port for HTTP:#http.port: 9200#集群节点之间数据交换端口transport.tcp.port: 9300...原创 2020-06-09 19:03:41 · 810 阅读 · 0 评论 -
centos中Elasticsearch集群节点配置详解
注意:如果是在局域网中运行elasticsearch集群也是很简单的,只要cluster.name设置一致,并且机器在同一网段下,启动的es会自动发现对方,组成集群。2.elasticsearch-servicewrapper1)安装到github,https://github.com/elastic/elasticsearch-servicewrapper下载,把service拷贝到ES_HOME/bin目录下。2)使用ES_HOME/bin/service/elasticsearch原创 2020-06-09 18:49:20 · 290 阅读 · 0 评论 -
elasticsearch打开文件数过多“Too many open files in system”
最近公司一个项目es集群连续出现多次打开文件数过多。跟老大讨论并且一起百度翻了翻相关资料。我们的句柄数已经调到1048576,但是还是一直出现该问题,所以我们考虑es为何会打开如此多文件数。在这里插入图片描述下面是搜索的一些信息:造成打开文件过多的问题的思路并非局限在limit配置。官网有如下描述:由于自动刷新流程每秒会创建一个新的段,这样会导致短时间内的段数量暴增。而段数目太多会带来较大的麻烦。 每一个段都会消耗文件句柄、内存和cpu运行周期。更重要的是,每个搜索请求都必须轮流检查每个段;所转载 2020-05-18 15:18:14 · 1606 阅读 · 0 评论 -
linux-elasticsearch:unable to load JNA native support library, native methods will be disabled
linux elasticsearch 启动报错 unable to load JNA native support library, native methods will be disabled. linux 系统为32 位,无法支持 64位 es。查看linux当前系统命令:sudo uname --m原创 2020-05-18 15:08:50 · 958 阅读 · 0 评论 -
获取elasticsearch的元数据
//采集es元数据 /*Connection saveConn =null; CloseableHttpClient httpclient=null; httpclient = HttpClientBuilder.create().build(); String httpUrl ="http://localhost:9...原创 2020-04-04 22:31:33 · 1129 阅读 · 0 评论 -
ElasticSearch搜索时term大写搜不到而match大小写都可以搜到的问题
1.最近在使用spring-data-elasticsearch时碰到一个问题,当查询字段是字符串时,并且传入的子串带有大写字母,这时候使用term精确查询无论字段类型是keyword还是text都是查询不到结果的,但是使用match却可以查到结果2.各方查找资料得知乃是elasticsearch在创建倒排索引时,就已经将大写转为小写,而后写入索引; ES的建立索引过程:分词->...原创 2020-03-26 23:49:57 · 3233 阅读 · 0 评论 -
elasticsearch的indexId长度超过512字节报错 id is too long, must be no longer than 512 bytes but was: 538
/col/G_METADATA_11|S60|szzqdatabase|t_metamodel_views_version|UNIQUE_VALUE|szzqdatabase|t_metamodel_views_version|UNIQUE_VALUEorg.elasticsearch.action.ActionRequestValidationException: Validation Fa...原创 2020-03-26 22:16:33 · 1953 阅读 · 0 评论 -
elasticsearch的indexId中使用竖划线|作分隔符时报错
elasticsearch的indexId中使用竖划线|时报错:使用中划线——可以,英文下划线_不报错java.lang.IllegalArgumentException: Illegal character in path at index 57: /table_53ec17473f834426ad0cfa4fd3a2de8b...原创 2020-03-26 22:16:05 · 385 阅读 · 0 评论 -
es从6以后版本一个index只能有一个type
es从6以后版本一个index下面只能有一个type,后期7版本中要把type去掉即使把之前添加的文档删除掉清空索引,再添加新的文档,新文档的type和原来的不一样仍然新增失败,此时只能将这个索引库删掉重新建...原创 2020-03-26 22:03:01 · 1319 阅读 · 0 评论 -
elasticsearch添加index时不能有大写字母,type=invalid_index_name_exception reason=Invalid index name [standardD
elasticsearch添加index时索引名不能有大写字母,必须为lower小写字母,type的大小写都可以,错误描述如下:[standardDataItem] ElasticsearchStatusException[Elasticsearch exception [type=invalid_index_name_exception, reason=Invalid index name ...原创 2020-03-26 21:59:16 · 3640 阅读 · 0 评论 -
Elasticsearch exception [ reason=blocked by: [FORBIDDEN/12/index read-only / allow delete (api)
ElasticsearchStatusException[Elasticsearch exception [type=cluster_block_exception, reason=blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]]Suppressed: org.elasticsearch.client.Resp...原创 2020-03-17 15:46:37 · 760 阅读 · 0 评论 -
使用curl删除和查看ES索引
首先使用curl获取集群中可用的Elasticsearch索引列表:$ curl http://<node-ip|hostname>:9200/_cat/indices<node-ip>可以是localhost,Elasticsearch节点IP地址或其中一个群集节点的主机名,见下面的例子:curl http://127.0.0.1:9200/_cat/indi...原创 2020-03-09 16:00:47 · 10574 阅读 · 0 评论 -
Elasticsearch exception type=resource_already_exists_exception reason=index ***already exists
出现这个错误是因为先用standard分词器建的index,然后使用ik分词器又建索引出现这个错误[standard/nHTMZN2qRUuCpshxWlLukg] ElasticsearchStatusException[Elasticsearch exception [type=resource_already_exists_exception, reason=index [standar...原创 2020-03-06 11:40:22 · 9947 阅读 · 7 评论 -
RestHighLevelClient判断index是否存在
判断Index是否存在版本以6.4.2为准,6.2.1api不一样 public boolean indexExists(String indexName) { GetIndexRequest request = new GetIndexRequest(); request.indices(indexName); t...原创 2020-02-17 20:55:41 · 7365 阅读 · 4 评论 -
org.elasticsearch.common.compress.NotXContentException: Compressor detection can only be called on s
使用bulkRequest时候new IndexRequest(indexName,indexType,indexId).source(paramMap,XContentType.JSON)paramMap为null时会报以下错误org.elasticsearch.common.compress.NotXContentException: Compressor detection ca...原创 2020-01-16 19:31:54 · 2339 阅读 · 0 评论 -
elasticsearch添加对应版本的ik分词器
1.登录到github网站:https://github.com/medcl/elasticsearch-analysis-ik2.点下面图片中这个链接下载:https://github.com/medcl/elasticsearch-analysis-ik/releases3.找到es对应的ik版本,ik分词器不区分系统环境...原创 2020-01-14 11:07:36 · 2331 阅读 · 0 评论 -
flood stage disk watermark [95%] exceeded on all indices on this node will marked read-only
elasticsearch中flood stage disk watermark [95%] exceeded on all indices on this node will marked read-only在浏览器中查看索引的映射 http://localhost:9200/_all/_settings _all或者*显示索引为"meta_col_53ec17473f83...原创 2019-12-16 14:55:31 · 3900 阅读 · 0 评论 -
ElasticSearch的排序和聚类时出现fielddata=true问题
遇到这个错误是因为你尝试对一个text类型的字段做排序,而text类型的字段是要分词的。 一来词典很大,性能会很差;二来排序结果是词典里的词,而并非整个text的内容。 出于这2点原因,ES5.x以后对于text类型默认禁用了fielddata,防止对text字段一些错误的操作(排序,聚合,script)而给heap造成很大的压力。如果一定有对该字段按照文本字母序做排序的需求,可以将该字段定...原创 2019-12-14 20:53:53 · 1309 阅读 · 1 评论 -
"reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [dataFlag] in order
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [dataFlag] in order to load fielddata in memory by uninver...原创 2019-12-14 19:02:17 · 518 阅读 · 0 评论