elasticSearch 批量传递数据,存在数据丢失的原因

elasticSearch 如果字段要做全量匹配,也就是像mysql那样,而不是分词模糊匹配,那么需要建立mapping   加入not_analysised ,这个可以参考之前的文章。

然后我重新传递数据的时候,发现数据存在丢失,最后找出来了原因:

1.如果是多维数组,那么需要建立mapping,不然无法传递数据,但是如果是一维数组,则没有问题,因此,如果是多维数组,可以序列化成字符串存储

2.如果一个字段定义成string,如果长度太长,几千的字符,那么就会保存不了,长度过长,我就是把多维数组序列化后,长度太长无法保存到elasticSearch中,最后,我把多维数组里面的每一个子项进行序列化,然后以一维数组的方式存储,算是解决了这个问题。

elasticSearch在使用的时候,还是有一些坑,需要多练习,多观察一些数据,是否丢失,是否准确等等。

《elasticSearch 批量传递数据,存在数据丢失的原因》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注