首页 > 其他分享 >ES Mapping

ES Mapping

时间:2022-10-07 15:55:22浏览次数:52  
标签:定义 映射 Mapping 索引 字段 文档 动态 ES

映射是定义如何存储和索引一个文件及其包含的字段的过程。

每个文档都是一个字段的集合,每个字段都有自己的数据类型。当映射你的数据时,你创建一个映射定义,其中包含一个与文档相关的字段列表。映射定义还包括元数据字段,比如_source字段,它可以自定义如何处理一个文档的相关元数据。

使用动态映射和显式映射来定义你的数据。每种方法都根据你在数据旅程中的位置提供不同的好处。例如,在你不想使用默认值的地方明确映射字段,或者对创建的字段获得更大的控制。然后你可以让Elasticsearch动态地添加其他字段。

在7.0.0之前,映射定义包括一个类型名称。Elasticsearch 7.0.0及以后版本不再接受默认的映射。参见移除映射类型。

实验映射选项

在搜索请求中定义运行时字段,以实验不同的映射选项,还可以在搜索请求中通过覆盖映射中的值来修复你的索引映射值中的错误。

动态映射

动态映射允许你在刚开始的时候实验和探索数据。Elasticsearch会自动添加新的字段,只需对文档进行索引。你可以将字段添加到顶层映射,以及内部对象和嵌套字段。

使用动态模板来定义自定义映射,根据匹配条件应用于动态添加的字段。

显式映射

显式映射允许你精确选择如何定义映射定义,例如。

哪些字符串字段应被视为全文字段。
哪些字段包含数字、日期或地理位置。
日期值的格式。
自定义规则来控制动态添加字段的映射。
使用运行时字段来进行模式更改,而不需要重新索引。你可以结合使用运行时字段和索引字段来平衡资源使用和性能。你的索引会更小,但搜索性能会更慢。

防止映射爆炸的设置

在一个索引中定义太多的字段会导致映射爆炸,这可能导致内存不足的错误和难以恢复的情况。

考虑一种情况,每一个新插入的文档都会引入新的字段,比如说动态映射。每一个新的字段都被添加到索引映射中,随着映射的增长,这可能成为一个问题。

使用映射限制设置来限制字段映射的数量(手动或动态创建),防止文档造成映射爆炸。 使用www.DeepL.com/Translator翻译(免费版)

标签:定义,映射,Mapping,索引,字段,文档,动态,ES
From: https://www.cnblogs.com/ben-zhou/p/16759872.html

相关文章

  • ES介绍 《三》
    可扩展性和复原力:集群、节点和分片Elasticsearch的建立是为了始终可用,并根据你的需求进行扩展。它是通过分布式的性质来实现的。你可以在集群中添加服务器(节点)来增加容量,E......
  • ES介绍《二》
    信息输出:搜索和分析虽然你可以将Elasticsearch作为一个文档存储,并检索文档及其元数据,但真正的力量来自于能够轻松访问建立在ApacheLucene搜索引擎库上的全套搜索功能。E......
  • ES《 一》
    数据在:文档和索引Elasticsearch是一个分布式文档存储。Elasticsearch不是将信息存储为一列列的数据,而是将复杂的数据结构序列化为JSON文档。当你在一个集群中拥有多个Elast......
  • ctfshow新手杯剪刀石头布(session反序列化)
    看到ini_set('session.serialize_handler','php');让我不由自主的想起了session反序列化漏洞的一道题。直接百度会有很多文章这里不多介绍。因此我们的解法就是:1.post一......
  • Kubernetes--LoadBalancer类型的Service资源和ExternalName Service
    LoadBalancer类型的Service资源NodePort类型的Service资源虽然能够于集群外部访问得到,但外部客户端必须得事先得知NodePort和集群中至少一个节点的IP地址,且选定的节点发......
  • Yolo系列要开播了!先从Bounding Boxes中能够学习什么开个头
    Wheredoesitcomefrom?TheThirdResearchInstituteoftheMinistryofPublicSecurity基于视频结构化描述的视频语义分析系统★可描述车辆颜色、车型、品牌等,车型类......
  • python+request+pymysql+pytest数据驱动
    一.pymysql简单使用1.安装mysql下载地址:https://www.mysql.com/,安装教程这里不做介绍了,网上一大推。2.安装pymysql库在Terminal终端输入:pipinstallpymysql3.pymysql......
  • kubernetes 网络组件cilium
    1.12配置Linux内核(cilium必选)cilium和其他的cni组件最大的不同在于其底层使用了ebpf技术,而该技术对于Linux的系统内核版本有较高的要求,完成的要求可以查看官网的详细链接,这......
  • 06 RustDesk搭建个人远程桌面中继服务器(centos)
    官方文档RustDesk官方文档<--建议仔细阅读整篇文档。安装配置一、服务器安装步骤运行hbbs、hbbr以下方法任选其一。PS.在运行hbbs和hbbr的时候添加-k_参数,禁止没有......
  • 摆脱鼠标系列 Trigger Suggest 快捷键 改成 Shift + Space
    摆脱鼠标系列TriggerSuggest快捷键改成Shift+Space看marp插件的时候,发现用ctrl+space自动提示,但是我这里是输入法......