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

ElasticSearch中常用的数据类型

一、映射

Elasticsearch中通过映射来指定字段的数据类型,映射方式有2种,静态映射和动态映射。

1.动态映射

使用动态映射时,无须指定字段的数据类型,Elasticshearch会自动根据字段内容来判断映射到哪个数据类型。
比如,插入’2024/4/14 12:12:12’格式的字符串,会将其动态映射到Date类型。
true和false会动态映射到boolean类型

2.静态映射

使用静态映射时,需要在创建索引时,指定字段名称和映射的数据类型。后续创建文档时就根据设定好的映射来存储数据。

二、常用字段类型

1.Alias别名

使用别名可以索引中的字段定义一个替代名称,搜索替代名称时,相当于搜索其原字段内容

PUT userinfo
{"mappings": {"properties": {"age":{"type": "long"},"aliasage":{#指定类型为别名"type": "alias",#指向age字段"path":"age"}}}
}
2.Binary二进制值

用来存储Base64的字符串或二进制值

PUT myindex-2_02
{"mappings": {"properties": {"name":{"type": "text"},"blob":{#指定类型为二进制"type": "binary",}}}
}
3.Boolean布尔类型

用来存储true和false的布尔值

PUT myindex-2_03
{"mappings": {"properties": {"is_published":{"type": "booolean"}}}
}
4.Date日期

用来存储包含日期格式的字符串

PUT myindex-2_04
{"mappings": {"properties": {"date":{"type": "date"}}}
}
5.数字类型
数字类型说明
long表示有符号的64位整数
integer表示有符号的32位整数
short表示有符号的16位整数
byte表示有符号的8位整数
double表示双精度浮点数
float表示单精度浮点数
half_float存储最小值2^-24,最大值65504的整数
unsigned_long存储最小值为0,最大值2^64-1的数值
PUT myindex-2_05
{"mappings": {"properties": {"number":{"type": "integer"}}}
}
6.object(json数据格式)

object类型其实就是json数据格式

PUT myindex-object
{"mappings": {"properties": {"manager":{"properties": {"age":{"type":"integer"},"name":{"properties":{"first":{"type":"text"},"last":{"type":"text"}}}}}}}
}
7.Geopoint地理位置

用来存储经纬度,使内容支持经纬度查询

PUT myindex_hotels
{"mappings": {"properties": {"hotels":{"properties": {"bin":{"properties":{"loaction": {"type":"geo_point"}}}}}}}
}
8.Keyword关键字

用于存储结构化内容,该类型字段通常用于排序,聚合查询等。该类型内容存储时不会进行分词

PUT myindex-2_11
{"mappings": {"properties": {"tag":{"type": "keyword"}}}
}
9.Text文本

用于存储文本,内容会被分词器分词,可以用于全文检索

PUT myindex-2_12
{"mappings": {"properties": {"tagname":{"type": "text"}}}
}

相关文章:

  • lustre共享存储是免费的吗
  • 案例:塔能科技驱动河南某市政照明智慧升级
  • 郑州工程技术学院党委书记甘勇一行莅临埃文科技调研交流
  • 适用于 HAL 的 AIDL
  • 第二十讲:SHAP 值与模型可解释性详解(附案例) [特殊字符]
  • 4种方法将文件映射到内存提升读写速度
  • 关于tomcat乱码和idea中控制台乱码的问题
  • MySQL:B+树索引
  • Midnight Flag CTF 2025
  • 施工用电的基本原则与相关的安全规定
  • 【Linux篇】ELF文件及其加载与动态链接机制
  • 配置阿里云服务器
  • QT QCHeckBox 互斥设置方法
  • 3.8 字符串的常用函数
  • 通过命令行操作把 本地IDE 项目上传到 GitHub(小白快速版)
  • 基于PyTorch的DETR(Detection Transformer)目标检测模型
  • 【报错】解决pytorch出现RuntimeError: An attempt has been made to start a new process...
  • 现代测试自动化框架教程:Behave接口测试与Airtest移动端UI自动化
  • 氧气桌面TV版下载,安卓电视版使用教程
  • XSS漏洞及常见处理方案
  • 《卿本著者》译后记等内容被指表述不当,江苏人民出版社:即日下架
  • 朱守科任西藏自治区政府副主席、公安厅厅长
  • 解放日报头版:外资汽车产业链布局上海步伐明显加快
  • 电厂 | 京东、美团为什么抢着为你送外卖?
  • 中国天主教组织发唁电对教皇去世表示哀悼
  • 王鹏任海南文昌市委书记