百亿级数据每条数据20-30个固定字段,每个字段长度小于100B,平均10B。目前采用纯ElasticSearch,20节点,平均10G一个分片。全字段text+keyword类型,无Routing,响应时间平均5S。
实际检索字段固定为其中的3-4个字段,需要同时返回多条数据(可能达到1000+)
目前考虑方案:
1、优化字段类型keyword+无索引字段。
2、采用routing字段。(因为检索字段有3-4个,单字段routing效果有限)
3、引入其他数据库做二级查询(因为返回结果可能达到1000+,二级查询可能效果也一般)
但是预估仍然难以达到毫秒级响应。
就光返回的数据量应该就没办法快到哪里去,打个多少kb左右?