概念

什么是elastic stack(ELK)?

  • 是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch

Beats ←采集数据
Logstash ← 处理/清洗数据
Elasticsearch ← 存储 + 搜索
Kibana ← 展示 + 分析

对比

mysql与elasticsearch的概念做一下对比:

MySQL Elasticsearch 说明
Table表 Index索引 索引(index),就是文档的集合,类似数据库的表(table)
Row行 Document文档 文档(Document),就是一条条的数据,类似数据库中的行(Row),文档都是JSON格式
Column列 Field字段 字段(Field),就是JSON文档中的字段,类似数据库中的列(Column)
Schema表结构 Mapping映射 Mapping(映射)是索引中文档的约束,例如字段类型约束。类似数据库的表结构(Schema)
SQL DSL DSL是elasticsearch提供的JSON风格的请求语句,用来操作elasticsearch,实现CRUD

Mapping

mapping是对索引库中文档的约束,常见的mapping属性包括:

  • type:字段数据类型,常见的简单类型有:
    • 字符串:text
    • 精确值:keyword
    • 数值:long、integer、short、byte、double、float、
    • 布尔:boolean
    • 日期:date
    • 对象:object
  • index:是否创建索引,默认为true,参与搜索就需要创建。
  • analyzer:使用哪种分词器,只有text需要。
  • properties:该字段的子字段,也就是嵌套时,加这个。

IK分词器模式

  • ik_smart:智能切分,粗粒度
  • ik_max_word:最细切分,细粒度
模式 分词结果
ik_smart [“上海”, “自来水”, “来自”, “海上”]
ik_max_word [“上海”, “上海自来水”, “自来水”, “来自”, “海上”]
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐