Elasticsearch作为目前比较火的搜索引擎框架,是我们在工作中经常使用到的,很多公司会使用Elasticsearch构建亿级,十亿级,百亿级的搜索服务。对于我来说从2013年开始接触es,还是有一些使用心得的。下面给大家分享一下。
1、elasticsearch集群在生产环境的时候,尽量把master节点,node节点,coordinate节点分开,api全部连接到coordinate节点。 2、服务器内存尽量大点,增加索引和查询的效率。 3、在api里面尽量使用缓存,把磁盘上的数据尽量搬到内存中来,减少读取磁盘的次数。 4、尽量使用各种压缩算法,提升网络传输效率。
同样在对于数据设计上来说,需要注意以下几点:
1、不需要索引的字段,一定要明确定义出来,因为默认是自动建索引的 2、对于String类型的字段,不需要analysis的也需要明确定义出来,因为默认也是会analysis的,在es7中,已经不能使用string类型了,需要索引就使用keyword类型,不需要索引就使用text类型。 3、选择有规律的ID很重要,随机性太大的ID(比如java的UUID)不利于查询 4、对于Integer类型,如果不需要排序,则直接使用keyword即可,需要需要排序,则使用Integer类型。
最后引用以下,Elasticsearch的索引精髓:
一切设计都是为了提高搜索的性能
还没有评论,来说两句吧...