最近公司 CRM中台系统新接入一个demand,用户画像? pm一顿介绍,才知道是类似于给用户贴行为标签。
功能类似淘宝的不同用户推荐不同商品 根据用户的行为特征分析出用户的商品需求 包括分析出用户的真实性别 、真实年龄、 家庭人数 ...等等 其实也就是大数据的常用场景
那大数据就好说呀 Hadoop Spark接入就ok,领导善意提醒公司服务器资源不多,用户量并非很多 20万左右 大数据框架是搞不起的 只能另想它法,但是20万用户 根据用户标签算法 轻轻松数据量也达到上千万 上亿 还需要实时查询 正常的数据库 根本不可能,最后公司新请的一位资深多年的架构师 提出了Elasticsearch解决方案,既不需要大量的服务器资源 又可以处理上亿的数据 leader觉得ok 开始学习Elasticsearch 解决需求
随后自己私下学习 了解到 Elasticsearch强大的之处: 基于多年经验的Lucene作为搜索引擎 以及极度优化的索引功能 更主要的是操作简易的优化型 我自身是用的Java配置的Elasticsearch 配置简单 maven引入jar包 创建连接 代码创建索引上传文档即可 操作简易型类似于Redis
上句话的上传文档大家可能多数都不懂 Elasticsearch是存储文档的吗?嗯哼 其实它就是面向文档型数据库 不过类似MongoDB 是存储文档序列化后的Json字符串
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}