当前位置: 首页 > news >正文

ElasticSearch的常用数据类型

常见的数据类型

Text类型(文本数据类型)

用于全文检索的字段,例如电子邮件的正文或产品的描述。这些字段是analyzed,也就是说,它们通过分析器传递,以便 在被索引之前将字符串转换为单个术语的列表。通过分析过程,Elasticsearch可以在 每个全文字段中搜索单个单词。文本字段不用于排序,很少用于聚合

PUT test-03
{"mappings": {"properties": {"full_name": {"type": "text"}}}
}

Keyword (关键字数据类型)

用于索引结构化内容(例如ID,电子邮件地址,主机名,状态代码,邮政编码或标签)的字段。

关键字字段只能按其精确值进行搜索。

PUT test-03
{"mappings": {"properties": {"tags": {"type": "keyword"}}}
}

Alias(别名类型)

别名包括两种类型:

  • 数据流的别名指向一个或多个数据流
  • 索引的别名指向一个或多个索引

当使用ES时,可以创建别名来对索引进行分组、划分和隐藏。创建别名是一种将逻辑名称映射到一个或多个索引的方式,这使得在查询过程中能够快速地使用这些索引。

POST _aliases
{"actions": [{"add": {"index": "test-01","alias": "test"}},{"add": {"index": "test-03","alias": "test"}}]
}# 获取所有的别名列表
GET _aliases# 获取test别名列表
GET _alias/test

Arrays (集合类型)

在Elasticsearch中,没有专用的array数据类型。默认情况下,任何字段都可以包含零个或多个值,但是,数组中的所有值都必须具有相同的数据类型.

{"message": "some arrays in this document…","tags": ["elasticsearch","wow"],"lists": [{"name": "knight","description": "programming list"},{"name": "rose","description": "cool stuff list"}]
}

Binary (二进制类型)

该binary类型接受二进制值作为 Base64编码的字符串。该字段默认情况下不存储,并且不可搜索

PUT test-03
{"mappings": {"properties": {"tags": {"type": "text"},"blob":"binary"}}
}

Boolean(布尔类型)

布尔字段接受JSON true和false值,但也可以接受解释为true或false的字符串

PUT test-03
{"mappings": {"properties": {"is_published": {"type": "boolean"}}}
}

日期类型

JSON没有日期数据类型,因此Elasticsearch中的日期可以是:

  • 包含格式化日期的字符串,例如"2024-01-01"或"2024/01/01 12:10:30"
  • 时间戳
PUT test-011
{"mappings": {"properties": {"date":{"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}}}
}PUT test-011/_doc/1
{ "date": "2024-01-01" }PUT test-011/_doc/2
{ "date": "2024-01-02" }GET test-011/_search

返回:

{"took" : 558,"timed_out" : false,"_shards" : {"total" : 1,"successful" : 1,"skipped" : 0,"failed" : 0},"hits" : {"total" : {"value" : 2,"relation" : "eq"},"max_score" : 1.0,"hits" : [{"_index" : "test-011","_type" : "_doc","_id" : "1","_score" : 1.0,"_source" : {"date" : "2024-01-01"}},{"_index" : "test-011","_type" : "_doc","_id" : "2","_score" : 1.0,"_source" : {"date" : "2024-01-02"}}]}
}

Dense vector(密集矢量数据类型)

Flattened (扁平化的数据类型)

Geo-point(地理位置数据类型)

PUT test-012
{"mappings": {"properties": {"location": {"type": "geo_point"}}}
}###
PUT test-012/_doc/1
{"text": "Geo-point as an object","location": {"lat": 41.12,"lon": -71.34}
}

地理形状数据类型

的geo_shape数据类型方便的索引和与任意的地理搜索为矩形和多边形的形状,例如。当正在索引的数据或正在执行的查询包含除点以外的其他形状时,应使用它。

PUT test-012
{"mappings": {"properties": {"location": {"type": "geo_shape"}}}
}

IP数据类型

一个ip字段可以索引/存储IPv4或 IPv6地址

PUT test-013
{"mappings": {"properties": {"ip_addr": {"type": "ip"}}}
}PUT test-013/_doc/1
{
"ip_addr": "192.168.1.1"
}

Join (联接数据类型)

Nested (嵌套数据类型)

Object (对象数据类型)

Numeric (数值数据类型)

Range(范围数据类型)

Token count (令牌计数数据类型)

http://www.lryc.cn/news/333274.html

相关文章:

  • C/C++预处理过程
  • 客服电话系统:专业、便捷的服务沟通桥梁
  • IP地址与子网掩码
  • Python爬取公众号封面图(零基础也能看懂)
  • 2024.4.6学习笔记
  • 2024年华为OD机试真题-查找一个有向网络的头节点和尾节点-Java-OD统一考试(C卷)
  • 【Django开发】0到1美多商城项目md教程第5篇:短信验证码,1. 避免频繁发送短信验证码逻辑分析【附代码文档】
  • 云原生:应用敏捷,华为视角下的应用现代化
  • 【测试篇】接口测试
  • 突破校园网限速:使用 iKuai 多拨分流负载均衡 + Clash 代理(内网带宽限制通用)
  • 03-JAVA设计模式-工厂模式详解
  • 百度文心大模型推理成本降至1% / 马斯克起诉OpenAI |魔法半周报
  • Struts2的入门:新建项目——》导入jar包——》jsp,action,struts.xml,web.xml——》在项目运行
  • git 标签功能操作以及回退
  • 利用python实现文字转语音
  • 拾光坞N3 ARM 虚拟主机 i茅台项目
  • docker安装nacos,单例模式(standalone),使用mysql数据库
  • 【运输层】传输控制协议 TCP
  • 深入浅出 -- 系统架构之Keepalived搭建双机热备
  • 如何做好产业园运营?树莓集团:响应政府号召,规划,注重大局观
  • NIO与BIO
  • YOLOv5实战记录05 Pyside6可视化界面
  • HTML5.Canvas简介
  • excel统计分析——多项式回归
  • SQLyog连接数据库8.0版本解析错误问题解决方案
  • 【数据库】SQL简介
  • AWS入门实践-利用S3构建一个静态网站
  • 使用Linux strace追踪系统调用: 一个详细指南
  • python 笔记
  • 软考 系统架构设计师系列知识点之数据库基本概念(4)