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

elasticsearch映射及字段类型

查询映射关系

类型上对字段的类型进行映射,我们前面知道可以通过get方法请求_mapping查询指定类型的映射关系:

此语句可以查询get-together索引下的group类型的映射关系

更新映射关系

使用put方法可以更新类型的映射

这里指定了new-events类型的字段映射关系,声明了一个新的字段host,类型上String

值得思考的是,已经有其他索引了,这个新增的映射关系,会生效吗?答案是肯定的,ES会对现有的映射关系和新增的映射关系做一个merge

如果是对映射字段的类型进行修改,这样是无法操作的。需要删除数据,重新定义映射关系,并重新索引。

常见的字段类型

字符串

字符串在进行索引的时候,默认将单词变为小写,然后逐个添加索引

可以通过index选项指定索引方式

  1. analyzed: 默认的方式,逐个单词变小写建立索引

  1. not_analyzed:整个字符串整体建立索引

  1. no:不建立索引

数值类型

支持的数值类型和JAVA完全一致,byte,short,int,long,float,double

ES自己也会默认使用long和double识别数值

日期

日期类型可以使用默认的ISO 8601格式

也可以使用format指定格式

布尔类型

默认支持true和false

数组类型

数组可以使用[]进行索引

声明映射关系时,使用的是基础类型:

多字段

将某一字段建立索引的同时,使用不同的策略生成新的映射关系

此处对tags建立了两个匹配关系,一个是analyzed,对每一个单词建立索引,另外一个是针对整体的字段进行映射,not_analyzed

存储原始json文档

使用_source可以存储原始文档,便于文档的更新操作,

默认_source的enabled是true,表示支持存储原始json

在查询的时候就会返回原始文档的内容:

检索时,_source的作用

实际上_source存储了原始数据,我们在搜索时可以指定字段,而不是完整的_source

这样返回的就是指定的字段了

我们也可以在更新映射关系的时候,指定哪些字段需要存储:

这里使用了store属性,标记了name需要存储下来

检索时,_all的作用

默认不指定字段进行搜索的时候,检索范围是所有的字段

对于不知道从哪里查询的场景,这种是适用的

如果所有的检索场景都是指定字段的,可以使用enabled关闭所有字段检索:

当然,可以使用include_in_all来标记是否支持再全字段检索中使用:

如果不指定字段查询,_all检索的范围将不再包含organizer字段

在索引时,指定id

我们前面建立索引的时候使用的是put方法,指定了文档的id

此时的id就是指定的1st

由ES自主生成文档id

可以使用POST方法,让ES自动生成文档的id

注意,url中不再指定id,此时文档的id由ES生成

检索时,支持指定索引

默认情况下,不支持直接指定索引查询

可以通过配置_index的enabled来开启支持

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

相关文章:

  • 1493围圈报数(队列)
  • 【ArcGIS Pro二次开发】(2):创建一个Add-in项目
  • 浏览器缓存是如何提升网站访问速度的
  • Linux中几个在终端中有趣的命令
  • 快来来试试SpringBoot3 中的新玩意~
  • 【寻人启事】达坦科技持续招人ing
  • 【C/C++基础练习题】简单函数练习题
  • 【代码随想录训练营】【Day11】第五章|栈与队列|20. 有效的括号|1047. 删除字符串中的所有相邻重复项|150. 逆波兰表达式求值
  • 基于云原生分布式存储ceph实现k8s数据持久化
  • SpringMVC获取请求参数
  • 详解浏览器从输入URL到页面展示的过程
  • 【吉先生的Java全栈之路】
  • 第二章 Opencv图像处理基本操作
  • 字节一面:在浏览器地址栏输入一个 URL 后回车,背后发生了什么?
  • 推荐3dMax三维设计十大插件
  • Arduino IDE 2.0.6中 ESP32开发环境搭建笔记
  • 商品秒杀接口压测及优化
  • NFC 项目前期准备工作
  • (C语言)数据的存储
  • C语言深度剖析之文件操作
  • RNN神经网络初探
  • 【flinkx】【hdfs】【ing】Cannot obtain block length for LocatedBlock
  • 【Day6】合并两个排序链表与合并k个已排序的链表,java代码实现
  • Swagger PHP
  • 谷粒商城-品牌管理-JSR303数据校验
  • Java零基础教程——数组
  • AirServer在哪下载?如何免费使用教程
  • 加载sklearn covtype数据集出错 fetch_covtype() HTTPError: HTTP Error 403: Forbidden解决方案
  • 理论六:为什么基于接口而非实现编程?有必要为每个类定义接口么?
  • (HP)react日常开发技巧