Elasticsearch的使用

Elasticsearch

什么是eleasticsearch

## 
1.eleasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量的数据中快速找到需要的内容。
2. eleasticsearch结合kibaba、Logstash、Beats,也就是eleastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。
3.eleasticsearch是elastic stack的核心,负责存储、搜索、分析数据。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6uRH3anW-1659595368765)(en-resource://database/654:1)]

elasticsearch采用倒排索引:
   - 文档(document):每条数据就是一个文档
   - 词条 (term):文档按照语义分成的词语

举例:正向索引

idtitleprice
1小米手机3499
2华为手机4399
3小米手环299

而倒排索引:词条是不重复的,而文档id碰到重复的只需要记录id就可。
对文档内容进行分词,对词条创建索引,并记录词条所在文档的信息。查询时先根据词条查询到文档id,再获取文档。

词条(term)文档id
小米1,3
手机1,2
华为2
手环3

搜索时:

华为手机
得到 华为和手机两个词条
得到每个词条所在的文档id 华为-2 手机-1,2
得到id为1,2的文档
搜索
分词
去词条列表查询文档id
根据文档id查询文档
存入结果集
文档

elasticsearch是面向文档存储的,可以是数据库中的一条商品数据,一个订单信息。
文档数据会被序列化为json格式后存储在elasticsearch中。

概念对比:
MySQLElasticsearch说明
Table(表)Index索引(index)就是相同类型文档的集合,类似于数据库的表(table)
RowDocument文档(document),就是一条条的数据,类似数据库中表的一行,文档都是JSON的格式
ColumField字段(Field),就是JSON 文档中的字段,类似数据库表中的列(colum)
SchemaMappingMapping(映射)是索引中文档的约束,例如 字段类型约束。数据库表结构的约束。
SQLDSLDSL是elasticsearch提供的JSON风格的请求语句,用来操作elasticsearch,实现CRUD

MySQL:擅长事物类型操作,可以确保数据的安全和一致性
Elasticsearch:擅长海量数据的搜索、分析、计算。

docker pull elasticsearch:版本号

  • 运行 创建容器
    docker run -d
    –name es
    -e “ES_JAVA_OPTS=-Xms512m -Xmx512m”
    -e “discovery.type=single-node”
    -v es-data:/usr/share/elasticsearch/data
    -v es-plugins:/usr/share/elasticsearch/plugins
    –privileged
    –network es-net
    -p 9200:9200
    -p 9300:9300
    elasticsearch:8.3.3

docker run -d
–name kibana
-e ELASTICSEARCH_HOSTS=http://es:9200
–network=es-net
-p 5601:5601
kibana:8.3.3

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值