• 前言

在最近一段关于ES的开发过程中,不免踩了很多坑,现在我把一些注意点记录下来。

  • 注意点

根据碰到的时间依次列举:

1.字段类型

字段类型一定要在建立索引的时候就确定, 因为一旦建立索引之后,索引中的一些字段类型是不允许修改,如果一定要修改,只能重新建立索引,非常恶心。因此一定要注意字段类型。

同时,字段类型最好自己指定来建立,尽量不要使用自动建立索引。举个例子,你的字段类型可能是Bigdecmal,但是他默认会是float。那么坑爹的点就来了,一旦你进行统计的SUM操作,你会发现得到的结果带了很多的小数。那是因为float转成double造成精度缺失,这里最好的解决方法就是不要让类型为float。

2.父子关系

在建立索引的时候,应该要理清索引之间的索引关系。如要进行父子文档关联的,应在建立索引的时候就要考虑到,不然后面只能重建索引。(一些经常变动的字段可能只能通过父子文档来进行查询)

3.冗余字段

为了追求高效的搜索速度,在ES中我们应该是能避免连表就避免连表。因为使用父子文档来进行搜索,会影响搜索的性能。因此如果是一些不会变动的字段,并且搜索的时候需要的一些在其他表里面的字段可能冗余进来。这样搜索的时候,可以直接查询出来。

未完待续。。。。

04-09 01:04