Elasticsearch入门必备——ES中的字段类型以及常用属性

简介:

使用Elasticsearch时,了解字段的概念,是必不可少的。毕竟无论是es还是传统的数据库,都无法弱化字段的类型。

背景知识

在Es中,字段的类型很关键:

  • 在索引的时候,如果字段第一次出现,会自动识别某个类型,这种规则之前已经讲过了。
  • 那么如果一个字段已经存在了,并且设置为某个类型。再来一条数据,字段的数据不与当前的类型相符,就会出现字段冲突的问题。如果发生了冲突,在2.x版本会自动拒绝。
  • 如果自动映射无法满足需求,就需要使用者自己来设置映射类型,因此,就需要使用者了解ES中的类型。

下面就步入正题吧!

字段中的索引和存储

其中需要说明的是:

index定义字段的分析类型以及检索方式

  • 如果是no,则无法通过检索查询到该字段;
  • 如果设置为not_analyzed则会将整个字段存储为关键词,常用于汉字短语、邮箱等复杂的字符串;
  • 如果设置为analyzed则将会通过默认的standard分析器进行分析,详细的分析规则参考这里

store定义了字段是否存储

在《ES IN ACTION》中有这样一段描述:

This might be useful when you ask Elasticsearch for a particular field because retrieving a single stored field will be faster than retrieving the entire _source and extracting that field from it, especially when you have large documents.
NOTE When you store individual fields as well, you should take into account that the more you store, the bigger your index gets. Usually bigger indices imply slower indexing and slower searching.

意思是,在ES中原始的文本会存储在_source里面(除非你关闭了它)。默认情况下其他提取出来的字段都不是独立存储的,是从_source里面提取出来的。当然你也可以独立的存储某个字段,只要设置store:true即可。

独立存储某个字段,在频繁使用某个特殊字段时很常用。而且获取独立存储的字段要比从_source中解析快得多,而且额外你还需要从_source中解析出来这个字段,尤其是_source特别大的时候。

不过需要注意的是,独立存储的字段越多,那么索引就越大;索引越大,索引和检索的过程就会越慢....

string

字符串类型,es中最常用的类型,官方文档

比较重要的参数:

index分析
  • analyzed(默认)
  • not_analyzed
  • no
store存储
  • true 独立存储
  • false(默认)不存储,从_source中解析

Numeric

数值类型,注意numeric并不是一个类型,它包括多种类型,比如:long,integer,short,byte,double,float,每种的存储空间都是不一样的,一般默认推荐integer和float。官方文档参考

重要的参数:

index分析
  • not_analyzed(默认) ,设置为该值可以保证该字段能通过检索查询到
  • no
store存储
  • true 独立存储
  • false(默认)不存储,从_source中解析

date

日期类型,该类型可以接受一些常见的日期表达方式,官方文档参考。

重要的参数:

index分析
  • not_analyzed(默认) ,设置为该值可以保证该字段能通过检索查询到
  • no
store存储
  • true 独立存储
  • false(默认)不存储,从_source中解析
format格式化
  • strict_date_optional_time||epoch_millis(默认)
  • 你也可以自定义格式化内容,比如

    "date": {
      "type":   "date",
      "format": "yyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
    }
  • 更多的时间表达式可以参考这里

IP

这个类型可以用来标识IPV4的地址,参考官方文档

常用参数:

index分析
  • not_analyzed(默认) ,设置为该值可以保证该字段能通过检索查询到
  • no
store存储
  • true 独立存储
  • false(默认)不存储,从_source中解析

boolean

布尔类型,所有的类型都可以标识布尔类型,参考官方文档

  • False: 表示该值的有:false, "false", "off", "no", "0", "" (empty string), 0, 0.0
  • True: 所有非False的都是true

重要的参数:

index分析
  • not_analyzed(默认) ,设置为该值可以保证该字段能通过检索查询到
  • no
store存储
  • true 独立存储
  • false(默认)不存储,从_source中解析
本文转自博客园xingoo的博客,原文链接:Elasticsearch入门必备——ES中的字段类型以及常用属性,如需转载请自行联系原博主。
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
存储 Java API
Elasticsearch 7.8.0从入门到精通
这篇文章详细介绍了Elasticsearch 7.8.0的安装、核心概念(如正排索引和倒排索引)、RESTful风格、各种索引和文档操作、条件查询、聚合查询以及在Spring Boot中整合Elasticsearch的步骤和示例。
887 1
Elasticsearch 7.8.0从入门到精通
|
存储 关系型数据库 MySQL
浅谈Elasticsearch的入门与实践
本文主要围绕ES核心特性:分布式存储特性和分析检索能力,介绍了概念、原理与实践案例,希望让读者快速理解ES的核心特性与应用场景。
1376 15
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
6888 0
|
存储 缓存 监控
极致 ElasticSearch 调优,让你的ES 狂飙100倍!
尼恩分享了一篇关于提升Elasticsearch集群的整体性能和稳定性措施的文章。他从硬件、系统、JVM、集群、索引和查询等多个层面对ES的性能优化进行分析,帮助读者提升技术水平。
|
JSON 自然语言处理 数据库
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
概念、ik分词器、倒排索引、索引和文档的增删改查、RestClient对索引和文档的增删改查
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
1652 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
JSON 监控 Java
Elasticsearch 入门:搭建高性能搜索集群
【9月更文第2天】Elasticsearch 是一个分布式的、RESTful 风格的搜索和分析引擎,基于 Apache Lucene 构建。它能够处理大量的数据,提供快速的搜索响应。本教程将指导你如何从零开始搭建一个基本的 Elasticsearch 集群,并演示如何进行简单的索引和查询操作。
898 3
|
自然语言处理 搜索推荐 Java
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图(一)
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图
541 0

热门文章

最新文章