Elasticsearch基础概念一览

Elasticsearch基础概念一览,第1张

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−1long_range−263−263 ~ 263−1263−1float_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: 该字段是否需要存储到磁盘上, 方便以后用来排序、聚合或脚本查询. 接受true和false(默认);
(2) store: 该字段的值是否要和_source分开存储、检索, 意思是除了_source中, 是否要单独再存储一份. 接受true或false(默认).

复杂数据类型 数组

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数据

地理位置

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

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

思维导图

基本使用

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会覆盖掉之前的数据。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5701043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存