草庐IT

ES forceMerge 强制段合并为什么会提升检索性能?

 根据以前的测试,forceMerge段合并,将段的个数合并成一个。带来了将近一倍的性能提升,测试过程文档(请参考我的另外一篇文章):ES优化实战-forceMerge搜索提升测试报告_esforcemerge_水的精神的博客-CSDN博客 注意,这次测试,只是这对一个长文本字段(就像一篇文章)的检索测试。假如同时对多个字段做检索,带来的性能会好更多! 时间已经过去了许久,对检索的原理,对es集群的理解也有了更高的层次。再写一篇文章,来讲讲为什么会性能提升。讲讲段合并的适用场景,以及需要注意的事项。用的好了性能提升很多,用的不好,性能反而降低很多。能够提升的原理在Elasticsearch中,

【ElasticSearch系列-06】Es集群架构的搭建以及集群的核心概念

ElasticSearch系列整体栏目内容链接地址【一】ElasticSearch下载和安装https://zhenghuisheng.blog.csdn.net/article/details/129260827【二】ElasticSearch概念和基本操作https://blog.csdn.net/zhenghuishengq/article/details/134121631【三】ElasticSearch的高级查询QueryDSLhttps://blog.csdn.net/zhenghuishengq/article/details/134159587【四】ElasticSearch的

logstash修改es创建索引的时间为凌晨00:00;

问题描述因公司目前业务量不大,故把elk部在了虚机上,给予的硬盘空间少的离谱,需一天清一次开测环境的日志,当写完脚本定时执行发现每天的定时任务日志是正常的但是第二天发现索引还在!起初以为是脚本或定时任务的问题,最后发现是索引的生成时间有问题,索引默认的生成时间是凌晨八点;而脚本的定时任务是凌晨四点,肯定是生效了,但是由于还有数据写入就又会生成这个索引;原因分析:因为logstash默认使用的UTC时间,我们现在处于的是东八区CST(CST=UTC+8h),也就是UTC时间是比我们慢8个小时的,当UTC时间到00:00的时候,会触发生成新的索引,这时候我们就已经到了08:00;解决方案:1、索引

ES相关面试问题整理

索引模板了解么索引模板,一种复用机制,就像一些项目的开发框架如Laravel一样,省去了大量的重复,体力劳动。当新建一个Elasticsearch索引时,自动匹配模板,完成索引的基础部分搭建。模板定义,看似复杂,拆分来看,主要为如下几个部分:{"order":0,//模板优先级"template":"sample_info*",//模板匹配的名称方式"settings":{...},//索引设置"mappings":{...},//索引中各字段的映射定义"aliases":{...}//索引的别名}模板优先级一个模板可能绝大部分符合新建索引的需求,但是局部需要微调,此时,如果复制旧的模板,修改

ES 8.x 向量检索性能测试 & 把向量检索性能提升100倍!

 向量检索不仅在的跨模态检索场景中应用广泛,随着chatgpt的火热,es的向量检索,在Ai领域发挥着越来越大的作用。 本文,主要测试es的向量检索性能。我从8.x就开始关注ES的向量检索了。当前ES已经发布到8.10版本。以下是官方文档的链接:  https://www.elastic.co/guide/en/elasticsearch/reference/current/release-highlights.html 本文,在测试的时候使用的是8.3版本(因为测试的时候只发布到这里)。 在本文中,妥妥滴都是干货,因为不仅有性能测试,还有搜索性能优化。这里预告以下,在千万规模数据中做的测试,

运用easy-es保存数据时,报错:cn.easyes.common.exception.EasyEsException: no such method:

cn.easyes.common.exception.EasyEsException:nosuchmethod:   atcn.easyes.common.utils.ExceptionUtils.eee(ExceptionUtils.java:39)   atcn.easyes.core.cache.BaseCache.lambda$setterMethod$6(BaseCache.java:127)   atcn.easyes.core.cache.BaseCache$$Lambda$2307/809171830.get(UnknownSource)   atjava.util.Optio

ES系列二之常见问题解决

一更新ES信息报错报错信息如下:UseElasticsearchException.getFailedDocuments()fordetailedmessages[{yjZ8D0oB=ElasticsearchException[Elasticsearchexception[type=cluster_block_exception,reason=index[au_report]blockedby:[FORBIDDEN/12/indexread-only/allowdelete(api)];]]分析:看报错信息大概意思就是es的写入操作被阻塞了,索引只能读、删不能修改新增了;我总结了这种错误的解

ES的bool查询 (must、should)

ElasticSearch之bool1、must(must字段对应的是个列表,也就是说可以有多个并列的查询条件,一个文档满足各个子条件后才最终返回)2、should(只要符合其中一个条件就返回)3、must_not(与must相反,也就是说可以有多个并列的查询条件,一个文档各个子条件后才最终的结果都不满足)4、filter(条件过滤查询,过滤条件的范围用range表示gt表示大于、lt表示小于、gte表示大于等于、lte表示小于等于) bool查询总结must:与关系,相当于关系型数据库中的and。should:或关系,相当于关系型数据库中的or。must_not:非关系,相当于关系型数据库中