Q:非洲食人族的酋长吃什么?

稀疏索引字段是否对性能有影响?

Elasticsearch | 作者 ggh666 | 发布于2017年09月14日 | 阅读数:5258

向一个索引中插入数据:90%的数据是10个字段,10%的数据可能有100+个字段(打个比方)
这时会有什么性能上的问题吗   创建索引  或者搜索的时候 ? 
已邀请:

kennywu76 - Wood

赞同来自: rockybean

对于索引和搜索都有性能影响!  Lucene的Post list是用文档id做delta编码压缩的,稀疏的数据会使得相邻文档id的delta值很大,post list压缩率降低,因此生成的索引文件增大。另外为了加快排序和聚合速度,ES还会为keyword,数值型一类的机构化字段构建列式存储结构doc values,根据字段类型,每个文档都会占用一块空间,即使是空值。 因此稀疏的数据,doc values的存储效率也会降低得很厉害,生成的索引文件也会比较大。 在文档数量多到一定程度时,写入和查询的速度都会下降得很厉害。

要回复问题请先登录注册