(二)elasticsearch之入门介绍

一、Document

1、相当于JSON Object,由字段(Field)组成,常见数据类型如下:

  • 字符串:text、keyword
  • 数值型:long、integer、short、byte、double、float、half_float、scaled_float
  • 布尔型:boolean
  • 日期型:date
  • 二进制:binary
  • 范围类型:integer_range、float_range、long_range、double_range、date_range

2、元数据,用于标注文档的相关信息

  • _index:文档所在的索引名
  • _type:文档所在的类型名
  • _id:文档唯一id,可自行指定,如不指定,则自动生成(Strings.base64UUID())
  • _uid:组合id,由 _id 和 _type组成(6.x _type不再起作用,同 _id 一样)
  • _source:文档的原始json 数据
  • _all:整合所有字段内容到该字段,默认禁用

二、倒排索引

1、介绍

  • 单词到文档id 的关系。
  • 倒排索引是搜索引擎的核心,主要包含2部分:单词词典和倒排列表

2、单词词典

  • 记录所有文档的单词,一般比较大
  • 记录单词到倒排列表的关联信息
  • 单词字典的一般实现是 B+ Tree

3、倒排列表(position list)

  • 倒排列表记录了单词对应的文档集合,由倒排索引项组成
  • 倒排索引项 主要包含如下信息:
    • 文档id,用于获取原始信息
    • 单词频率(TF, term frequency),记录该单词在文档中出现的次数,用于后续相关性算分
    • 位置(position),记录单词在文档中的分词位置,用于做词语搜索
    • 偏移(offset),记录单词在文档的开始和结束位置,用于做高亮显示

举例:

在这里插入图片描述

注:

es存储的是一个json格式的文档,其中包含多个字段,每个字段都会有自己的倒排索引。

文档如下:
{
    "name": "haha",
    "job": "java"
}
此时,es会有2个倒排索引,一个是 name 倒排索引,一个是 job 倒排索引。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值