ES在易企秀的应用实践

介绍

  • es是目前最好用的文档数据库,高性能、易扩展,可用于大规模数据搜索
  • 存储上采用索引、分片、分段三层存储模式
  • 数据结构上几乎支持所有数据类型
  • 可通过settings对单个索引进行 分词器、内存、日志、线程、分片数、存储与压缩方式进行独立配置
  • 14年开始接触并使用ES, 5年的时间里ES在架构与性能上变化还是蛮大的,最大的改动就是官方支持机器学习和sql了

现状

  • 商品搜索
  • 作品搜索
  • 内容推荐
  • 标签项目
  • 用户分群
  • 图片搜索
  • 运维工具
ES在易企秀的应用实践_第1张图片
举例-推荐系统

优化

一些关于ES优化方面的原创相关文章推荐

  • 安装与优化
  • 海量时序数据优化处理
  • 全站内容搜索实现与优化
  • 解决深度翻页问题
  • 索引生命周期管理

7.x 特性

1、彻底废弃多type支持,包括api层面,之前版本可在一个索引库下创建多个type。

2、彻底废弃_all字段支持,为提升性能默认不再支持全文检索,即7.0之后版本进行该项配置会报错。

3、新增应用程序主动监测功能,搭配对应的kibana版本,用户可监测应用服务的健康状态,并在出现问题后及时发出通知。

4、取消query结果中hits count的支持(聚合查询除外),使得查询性能大幅提升(3x-7x faster)。这意味着,每次查询后将不能得到精确的结果集数量。

5、新增intervals query ,用户可设置多字符串在文档中出现的先后顺序进行检索。

6、新增script_core ,通过此操作用户可以精确控制返回结果的score分值。

7、优化集群协调子系统,缩减配置项提升稳定性。

8、新增 alias、date_nanos、features、vector等数据类型。

9、7.0自带java环境,所以我们在安装es时不再需要单独下载和配置java_home。

10、7.0将不会再有OOM的情况,JVM引入了新的circuit breaker(熔断)机制,当查询或聚合的数据量超出单机处理的最大内存限制时会被截断,并抛出异常(有点类似clickhouse)。

11、丰富多彩的kibana功能。

12、 pinned query 可对部分文档实现置顶操作、

13、 l1norm、l12norm 新增L1与L2范式 用于相似度计算

14、 cumulative_cardinality 支持基数统计的累计操作(每日新增用户)

你可能感兴趣的:(ES在易企秀的应用实践)