找到问题的解决办法了么?

elasticsearch 索引创建后查询慢

Elasticsearch | 作者 陈水鱼 | 发布于2022年12月16日 | 阅读数:1995

按天构建索引,索引的模板是一样的,每天的数据量的大概一致,发现一个问题,每天新构建的索引查询速度都会比旧索引慢,有时甚至会到4s钟。
当时认为是写入数据影响,因为新索引会不断的写入数据,旧索引不会再写入数据,不过没办法验证。
通过profile查看,搜索分片的时间都是纳秒级的。
 

目前不知道是什么原因引起的,也不明白如何去调优,求助各位大佬~~~
 
经过调整后,发现是refresh的问题,原来是使用refresh的默认配置,后面将refresh调整到1m后,搜索的速度明显上来。不过这里还是不太明白,增大refresh不是可以提高写入速度和搜索的可见性吗?这里为什么会影响搜索速度?
已邀请:

Charele - Cisco4321

赞同来自:

refresh的作用是搜索的可见性,即NRT.
但和写入速度没有关系。
 
refresh动作和search一样,都得取得那个“外部ReferenceManager”的最新结果,
(即要进行lucene的flush,是lucene的)
一个在进行,另外一个就得等了。
 
将refresh调整到1m后,速度上来了,但你查到的就是1m之前的数据了,实时性就不高了。
 

要回复问题请先登录注册