Elasticsearch初识 使用场景分析与基础介绍

本文介绍了如何使用Elasticsearch解决用户画像需求,面对20万用户及上亿数据的实时查询挑战,替代传统大数据框架。Elasticsearch基于Lucene,拥有优化的索引功能和简易的操作方式,通过Java配置进行连接和文档操作。文章以一个用户信息的json化示例,解释了Elasticsearch中的索引、类型、ID和版本等概念,并强调其作为面向文档型数据库的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近公司 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" ]
}

这是一个用户信息的json化 我们可以执行以下命令将数据存储到Elasticsearch中

PUT /megacorp/employee/1
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}

接下来我们可以通过

GET /megacorp/employee/1

获取到我们存储在Elasticsearch中的数据

{
  "_index" :   "megacorp",
  "_type" :    "employee",
  "_id" :      "1",
  "_version" : 1,
  "found" :    true,
  "_source" :  {
      "first_name" :  "John",
      "last_name" :   "Smith",
      "age" :         25,
      "about" :       "I love to go rock climbing",
      "interests":  [ "sports", "music" ]
  }
}

其中的_source我们可以看到就是我们要存储的数据 不过额外多了很多其他属性 我会一一介绍

_index是索引名字 是我们创建数据到Elasticsearch自己定义的名称 小白可以理解为我们电脑的数据盘名称 比如 c盘 d盘。。

_type 也是我们自定义的 它就类似于一个文件夹名称 

_id 也是自定义的哈哈 但一般用来记录第几条数据 类似于数据的自增id 

_version就是版本咯 每次修改数据会自增

found 是否可查询

初始操作是非常简单 的

大家看完这个不要觉得这就是个简单nosql 我只是带大家初始的过一下 之后还有很多种操作需要了解  以及对自身业务嵌入型的调解 深入的学习非常复杂 还有各种问题 后续我都会更新 come codeBoy

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值