在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

并行多次对es发起同样条件的查询请求,es如何处理?

Elasticsearch | 作者 yqbboy | 发布于2022年02月23日 | 阅读数:1507

背景:多个用户在页面上使用相同的功能,假设这多个用户对es的查询条件完全一致,es是如何处理并行的查询请求的?
我的目的是想知道,如果对es并行发起相同条件的查询请求,es是否能识别出来,因为我在查询时会使用filter进行查询,filter默认会缓存数据,这样第二次查询就直接走缓存了,这样就能提高查询的效率。如果es在接收到多个并行查询条件一致时,不会做特殊处理的话,我业务端可能需要针对这种场景加锁来处理一下
已邀请:

tongchuan1992 - 学无止境、学以致用

赞同来自:

如果ES是同时接到多条请求的话,如果之前没有触发缓存,这多条都不会命中缓存,建议你可以提前触发一下缓存,后面并行的请求都会走缓存。

medcl - 今晚打老虎。

赞同来自:

Elasticsearch 是分布式的,你访问的不一定是同样一份副本,多个节点都有可能分担请求。
不过如果是走极限网关的话,那缓存的效率肯定是稳稳的一次命中,后续的都不走 es 了。

zhuangzilian

赞同来自:

。。。。。。。

要回复问题请先登录注册