elasticsearch 去重计数
我的个人博客:逐步前行STEP
去重计数不是精确计数,数据量大的情况下会有误差,官方文档说的是,默认的情况下百万级数据会有5%的误差,实测如下:
实际文档数:1924920
去重计数:1912715
误差率:(1924920 - 1912715)/ 1924920 = 0.006
%0.6的误差率还能接受,如果需要更高的准确度的话,需要调整precision_threshold的值,默认值是100,可选值在0~40000,值越大越准确但是越消耗内存,其内存使用满足公式:precision_threshold * 8 (字节)
,实测设为40000时计数为1926620:
误差率:(1924920 - 1926620)/ 1924920 = -0.0008
只有%0.08的误差率,在不需要完全准确的计数得情况下,完全可以接受。