ElasticSearch 使用场景

到目前为止,我遇到的ES的使用场景有以下:

  1. 配合分词器做全文搜索引擎。这应该也是ES的本职工作吧。
  2. 在ELK中扮演数据仓库的角色。ELK也是日志处理收集、分析、告警推送的通用解决方案,在每个公司都有。
  3. 借助ES实现超级索引,提高DB中超大数据量的检索效率。

全文搜索引擎

在DB数据库中,如果要在varchar或者text或者json类型的字段中 like “%要搜索的词%”,

索引会失效,索引很容易想到用ES来做全文搜索,常见在电商前台搜索框中。

常见的做法

  1. 在保存db行数据的事务中双写。但是不推荐手动双写,这就引起了另一个话题:db和cache双写一致性的问题。回头再整理。
  2. 使用LogStash把db数据库中的数据收集到ES中,ELK就是这样操作的。

ELK中的应用。

每个公司的运维同学都会搞。

有个小操作:使用索引模板控制动态映射的字段属性。

借助ES实现超级索引。

最近有个需求,年底公司在做数据大盘,需要整理每个订单的计提奖励数据,公司的订单表是按照周来分片的,大概每天产出500w条订单,要回溯最近一年的订单支出,而且还要联表四五张,绝壁慢查询了o(╥﹏╥)o,最痛苦的是我们有几个查询条件是在varchar字段中,肯定要做like查询,这时候索引就失效了。

做法:把不能加索引的列和主键灌进ES中,去ES中like查询出主键, 在进行in操作,也就是把es当做 一个超级索引插件。

这样做的问题还是得保证ES中的数据跟DB中的数据是一致的,不过还在订单是固化的数据,今后不再变动,保证一致性也比较简单。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值