一文掌握系列之Elasticsearch基础概念一览

重要概念

倒排索引:

​ 将文本内容进行分词,然后将分词结果放到一个表中,表左边存储分词结果,右边存储其id值。在进行分词的时候直接用词遍历这个表,就能直观拿到对应的数据。

Es核心概念:
Relational DBElasticsearch
数据库(database)索引(indices)
表(tables)types(7.x版本中已经被废弃)
行(rows)documents
字段(columns)fields
表结构映射(mapping)
数据类型
简单数据类型
文本类型
类型说明
keyword不支持分词操作,支持聚合操作
text支持分词操作,不支持聚合操作。
数值类型
类型说明
byte有符号的8位整数, 范围: [-128 ~ 127]
short有符号的16位整数, 范围: [-32768 ~ 32767]
integer有符号的32位整数, 范围: [−231−231 ~ 231231-1]
long有符号的64位整数, 范围: [−263−263 ~ 263263-1]
float32位单精度浮点数
double64位双精度浮点数
half_float16位半精度IEEE 754浮点类型
scaled_float缩放类型的的浮点数, 比如price字段只需精确到分, 57.34缩放因子为100, 存储结果为5734
日期类型

JSON没有日期数据类型, 所以在ES中, 日期可以是:

  • 包含格式化日期的字符串, “2018-10-01”, 或"2018/10/01 12:10:30".
  • 代表时间毫秒数的长整型数字.
  • 代表时间秒数的整数.
范围类型
类型范围
integer_range−231−231 ~ 231−1231−1
long_range−263−263 ~ 263−1263−1
float_range32位单精度浮点型
double_range64位双精度浮点型
date_range64位整数, 毫秒计时
ip_rangeIP值的范围, 支持IPV4和IPV6, 或者这两种同时存在
其他类型

​ ①bool:

​ 可以接受表示真、假的字符串或数字:

​ 真值: true, “true”, “on”, “yes”, “1”…

​ 假值: false, “false”, “off”, “no”, “0”, “”(空字符串), 0.0, 0

​ ②二进制

(1) doc_values: 该字段是否需要存储到磁盘上, 方便以后用来排序、聚合或脚本查询. 接受truefalse(默认);
(2) store: 该字段的值是否要和_source分开存储、检索, 意思是除了_source中, 是否要单独再存储一份. 接受truefalse(默认).

复杂数据类型
数组

ES中没有专门的数组类型, 直接使用[]定义即可;

数组中所有的值必须是同一种数据类型, 不支持混合数据类型的数组:

① 字符串数组: [“one”, “two”];
② 整数数组: [1, 2];
③ 由数组组成的数组: [1, [2, 3]], 等价于[1, 2, 3];
④ 对象数组: [{“name”: “Tom”, “age”: 20}, {“name”: “Jerry”, “age”: 18}].

注意:

  • 动态添加数据时, 数组中第一个值的类型决定整个数组的类型;
  • 不支持混合数组类型, 比如[1, “abc”];
  • 数组可以包含null值, 空数组[]会被当做missing field —— 没有值的字段.
对象类型

​ json数据

地理位置

地理点类型用于存储地理位置的经纬度对, 可用于:

  • 查找一定范围内的地理点;
  • 通过地理位置或相对某个中心点的距离聚合文档;
  • 将距离整合到文档的相关性评分中;
  • 通过距离对文档进行排序.

思维导图

img

基本使用

es的文件目录中包含:bin(启动文件所在),config(配置文件所在),plugins(插件位置所在)

配置用户

①在config文件夹下修改 elasticsearch.yml,加上配置 ,然后重启es。

 xpack.security.enabled: true 

②在es的bin目录下,打开CMD输入

 elasticsearch-setup-passwords interactive 

③会显示响应的提示,根据提示输入自己的密码。

安装插件

​ bin目录下,CMD输入

# 安装插件
elasticsearch-plugin install [plugin_name]
# URL安装
elasticsearch-plugin install [url]
# 查看es安装的插件
elasticsearch-plugin list

或者,Es安装插件,直接将其丢在es的plugins文件目录下,如将IK分词插件的包解压丢到plugins下,命名为IK.

基础Restful

在这里插入图片描述

注意:

​ 更新最好使用 post xxx/_update 这样只会更新对应的数据,而使用put会覆盖掉之前的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值