ElasticSearch的理解

Es的概念定义(功能):
Elasticsearch 是一个分布式的搜索引擎与数据分析引擎
es的作用:全文检索,结构化检索,数据分析,对海量数据进行近实时的处理
理解:
全文检索:我想搜索商品名称包含牙膏的商品,select * from products where product_name like “%牙膏%”
结构化检索:我想搜索商品分类为日化用品的商品都有哪些,select * from products where category_id=‘日化用品’
数据分析:我们分析每一个商品分类下有多少个商品,select category_id,count(*) from products group by category_id
elastisearch 非关系型数据库
索引 index -> 数据库datebase
类型type->表 table
文档document->行row
字段field->列column
约束 Schema->映射mapping

一台服务器,无法存储大量的数据,ES把一个index里面的数据,分为多个shard,分布式的存储在各个服务器上面。

ES就是分布式的集群,每一个节点其实就是Lucene,当用户搜索的时候,会随机挑一台,然后这台机器自己知道数据在哪,不用我们管这些底层、
kafka:为什么支持分布式的功能,因为里面是有topic,支持分区的概念。所以topic A可以存在不同的节点上面。就可以支持海量数据和高并发,提升性能和吞吐量
es的优点:1.分布式的功能2.数据高可用,集群高可用3.API更简单4.API更高级5.支持的语言很多6.支持PB级别的数据7.完成搜索的功能和分析功能
es的适用场景:github,电商网站检索商品,日志数据分析,站内搜索,商品价格监控,数据分析(热门使用场景)
和关系型数据库比较:可以避免关系型数据库 1.全表扫描,2.全文检索,3.匹配字段所有内容
搜索引擎原理:就是建立反向索引。
反向索引又叫倒排索引,是根据文章内容中的关键字建立索引。
缺点:在需要添加新数据与新字段的时候,如果elasticSearch进行搜索是可能需要重新修改格式。之前的数据需要重新同步,对数据的管理有很多困难。

对于{“name”:“zhangsan”,“info”:“我是一名医生"} 对于这样的内容 es 对于name字段建立反向索引,而对于info先分词然后建立反向索引

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值