elasticsearch(二)----相关概念

1.1EalsticSearch是什么

  • es是一款基于lucene的开源 分布式 restful接口的全文搜索引擎
  • 还是一个分布式文档数据库
  • 具有很强高可用和可扩展性 可以通过提高服务器性能进行垂直扩展 可以通过 增加服务器进行水平扩展

1.2优点

  • 横向可扩展性 : 只需要增加一台服务器 配置好就可以加入集群使用
  • 分片机制提供更好的分布性 : 同一个索引可以分为多片(sharding) 每个分片可以存储数据进行分布式集群部署 提示分门别类的管理可以提高效率
  • 高可用 : 提供复制机制 一个分片可以复制多分 提高数据安全性
  • 使用简单 : 只需要一条命令就可以下载文件

1.3全文搜索

  • 指计算机搜索程序通过扫描文章的每个词 对每个词建立索引 指明该词在文章里出现的位置和次数 当用户查询 会根据建立的索引进行查询 并把结果返回给客户

1.4倒排索引

  • 倒排索引又叫反向索引 反向索引就是通过value找key 正向索引是通过key找value
  • 倒排索引 是根据属性值找记录 这种索引表的每一项都包括一个属性值和具有该属性值的各个记录的地址

1.5分词

  • 英语按照单词间的空格分词 中文需要另外下载分词器进行分词(例如 ik分词器)
  • 过滤掉哪些无实际意义的语义次 例如 : 是, 了, 的, too, in等等
  • 单词统一大小写 比如 查询He需要把he HE都搜索出来
  • 把过去式,将来时等等词语还原 例如 查询live时需要把lives lived也查询到
  • 关键词 : 出现次数和位置
    • 记录该词是文章的第几个字符(字符位置) ----- 优点 : 显示并定位关键词快
    • 记录该词是文章中的第几个关键词(关键词位置) ------优点 : 节省空间, 查询快
  • 实现 :
    • 词典文件(保存关键词和指向频率文件和位置文件的指针)
    • 频率文件(关键词在每篇文章出现的次数)
    • 位置文件(关键词在文章里所在位置)

1.6术语和概念

  • 索引词(term) : 是能被索引的精确词 如foo Foo FOO 是三个不同的索引词
  • 文本(text) : 一段普通文字 文本会被解析为一个个索引词
  • 分析(analysis) : 指把文本转为索引词的过程 分析结果依赖分词器
  • 集群 : 由一个或多个节点组成 每个集群有一个唯一的名称(默认为elasticsearch) 当节点名称用于集群名称相同会自动加入该集群 所以需要多个集群时 集群名称名称不能重复 防止节点加入错误的集群
  • 节点 : 是集群的一部分 也有唯一名称 集群通过节点名称进行管理和通信
  • 路由(routing) : 存储文档时 会存储在唯一的主分片里
  • 分片(shard) : 一个索引可以对应多个分片 每个分片都是一个独立的单元 可以存储在不同的节点
  • 主分片 : 文档会存储在主分片 然后复制到副本里 默认一个索引有5个主分片 可以指定分片数量 分片一旦创建 不可更改
  • 副本分片 : 是主分片的复制
    • 增加高可用 : 主分片挂了 可以在副本里提升一个为主分片
    • 高性能 : 查询时可以在主分片和副本分片查询 副本分片要和主分片部署在不同的节点上
    • 可以水平扩展数据
    • 可以分配和并行操作 提高性能和吞吐量
  • 复制 : 可以保证系统可高可用
  • 索引(index) : 具有相同结构的文档结合 相当于关系型数据库的表
  • 类型(type) : 索引里可以定义一个或多个类型 类型是索引的逻辑分区
    • 例如 : 在博客平台, 所有数据存储在一个索引里 这个索引里 可以定义一种类型为用户数据 一种类型为博客数据 一种类型为评论数据等等
    • 6.0之前的版本有type(类型)概念,type相当于关系数据库的表,ES官方将在ES9.0版本中彻底删除type。
  • 文档(document) : 指存储在ES里的JSON字符串, 可以想象为关系型数据库的一行 每个索引里的一个文档都有一个类型和ID 相当于关系型数据库的行
  • 映射(mapping) : 类似于关系型数据库的表结构, 每个索引对应一个映射 定义索引的每个字段类型
  • 字段(field) : 文档里包含0个或多个字段 字段可以是简单值(字符串 整数 日期) 也可以是数组或对象的嵌套结构 相当于关系型数据库的列

1.7上边讲的创建索引库相当于关系数据库中的数据库还是表?

  • 如果相当于数据库就表示一个索引库可以创建很多不同类型的文档,这在ES中也是允许的。
  • 如果相当于表就表示一个索引库只能存储相同类型的文档,ES官方建议 在一个索引库中只存储相同类型的文档。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值