不为失败找理由,要为成功找方法。

将文档存储在es外面,同时使es搜索结果只返回文档基本信息,这样做能否提高性能?

Elasticsearch | 作者 wcb_dks | 发布于2017年04月01日 | 阅读数:4914

就是说,如果文档比较大,es把它作为搜索结果整个返回的时候,可能对es性能造成压力。
所以一个自然的想法就是,index时把文档整个存进es,同时把文档另存一份在其他专用的静态存储空间中,query时使es只返回文档基本信息,如id、timestamp等,再通过id来找到静态存储空间中的相应文档。
这样子能否对es性能有较大提升,实际应用中这样的使用模式多不多呢?
已邀请:

kennywu76 - Wood

赞同来自: laoyang360 famoss

如果文档都非常大,静态存储方案廉价,能按照id,timestamp快速fetch回数据,那么这种方案未尝不可。 但是复杂性方面比全部放ES要高一些,应用层面多了一个依赖,也享受不到某些原生的ES特性,比如reindex。再就是静态存储通常也要是分布式的,维护也有成本。所以你还是要评估一下用静态存储的话能省多少硬件,如果省得不多,还不如将文档全部放ES里简单直接。

bsll - ES认证考过咯,开心

赞同来自:

理论上是可以的,用过es+hbase, es+couchbase的案例,不过楼上说的很对,得根据你的实际情况来。

要回复问题请先登录注册