首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

更新Elasticsearch _mapping中的字符串参数

基础概念

Elasticsearch 是一个基于 Lucene 的分布式搜索和分析引擎,它提供了一个 RESTful API 来进行数据索引、搜索、分析和可视化。_mapping 是 Elasticsearch 中用于定义索引中文档结构的 API。通过 _mapping,你可以定义字段的类型、分析器、属性等。

更新 _mapping 中的字符串参数

在 Elasticsearch 中,一旦索引创建,其 _mapping 通常是不能修改的。但是,有一些例外情况,比如添加新的字段或者修改某些字段的属性(如 indexdoc_values 等)。对于字符串参数的更新,通常是指修改字段的分析器或属性。

类型

  • text:用于全文搜索,会被分析。
  • keyword:用于精确值匹配、聚合等,不会被分析。

应用场景

假设你有一个索引 products,其中有一个字段 descriptiontext 类型,并且使用了默认的分析器。现在你希望对这个字段进行更精细的控制,比如使用自定义的分析器来改善搜索结果。

更新方法

  1. 添加新字段
代码语言:txt
复制
PUT /products/_mapping
{
  "properties": {
    "new_field": {
      "type": "text",
      "analyzer": "custom_analyzer"
    }
  }
}
  1. 修改现有字段
代码语言:txt
复制
PUT /products/_mapping
{
  "properties": {
    "description": {
      "type": "text",
      "analyzer": "custom_analyzer"
    }
  }
}

遇到的问题及解决方法

问题:更新 _mapping 时遇到 mappings update is not supported 错误。

原因:Elasticsearch 不允许修改已经存在的字段类型或某些属性。

解决方法

  1. 创建新索引:创建一个新的索引,定义新的 _mapping,然后将数据重新索引到新索引中。
  2. 使用 _reindex API
代码语言:txt
复制
POST /_reindex
{
  "source": {
    "index": "products"
  },
  "dest": {
    "index": "products_new"
  }
}
  1. 删除旧索引并重命名新索引
代码语言:txt
复制
DELETE /products
POST /_aliases
{
  "actions": [
    { "remove": { "index": "products_new", "alias": "products" } },
    { "add": { "index": "products_new", "alias": "products" } }
  ]
}

参考链接

通过上述方法,你可以有效地更新 Elasticsearch 中的 _mapping,并解决常见的更新问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Elasticsearch 重要mapping参数详解(三)

一、概览 我们先来看一下一些常用参数简介,大致明白这些参数含义,后面会对一些重要参数做一个更加详细一些说明。...,如字符串转数字,浮点转整型 dynamic 默认true,是否允许根据文档动态添加mapping类型,true\false\strict 四、ignore_malformed 非常有用一个参数,顾名思义...ES是否可以动态探测文档字段,并且在mapping动态修改添加相应类型。...dynamic有3个值: true 表示允许动态探测文档字段添加修改mapping类型 false 表示不会动态修改mapping,但是如果文档中有mapping没有的字段也能添加成功,但是不会索引该字段...normalizer 十六、文档 Elasticsearch-mapping参数

6.6K02

Elasticsearch: 理解 mapping store 属性

在这里我们必须理解一点是: 如果一个字段 mapping 中含有 store 属性为 true,那么有一个单独存储空间为这个字段做存储,而且这个存储是独立于 _source 存储。...,我们把 title 及 date 字段里 store 属性设置为 true,表明有一个单独 index fragement 是为它们而配备,并存储它们值。...可以合理地存储字段另一种情况是,对于那些未出现在 _source 字段(例如 copy_to 字段)字段。...您可以参阅我另外一篇文章 “如何使用Elasticsearchcopy_to来提高搜索效率”。...参考: 【1】https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-store.html 【2】https://

1.8K42
  • elasticsearchmapping全解实战

    github Mapping简介 mapping 是用来定义文档及其字段存储方式、索引方式手段,例如利用mapping 来定义以下内容: 哪些字段需要被定义为全文检索类型 哪些字段包含number、...,例如邮件主题、淘宝京东商品描述等。...常有参数包含以下 analyzer:用来分词,包含索引存储阶段和搜索阶段(其中查询阶段可以被search_analyzer参数覆盖),该参数默认设置为indexanalyzer设置或者standard...json没有时间类型,所以在es在规定可以是以下形式: 一段格式化字符串,例如"2015-01-01"或者"2015/01/01 12:10:30" 一段long类型数字,指距某个时间毫秒数,...例如1420070400001 一段integer类型数字,指距某个时间秒数 object类型 mapping不用特意指定field为object类型,因为这是它默认类型。

    1.2K10

    ElasticSearchMapping之字段类型

    //设置是否此字段包含在_all字段,默认是true,除非index设置成no选项 "index_options":"docs"//4个可选参数docs(索引文档号) ,freqs...: Java代码 coerce:true/false 如果数据不是干净,将自动会将字符串转成合适数字类型,字符串会被强转成数字,浮点型会被转成整形,经纬度会被转换为标准类型 boost:索引时加权因子...多值字段: 一个字段值,可以通过多种分词器存储,使用fields参数,支持大多数es数据类型 (二)Mapping 参数列表,上面文章出现过不再解释: 序号 名称 解释 1 copy_to...与solr里面的copy_field字段功能一样,支持拷贝某个字段值到集中一个字段里面 2 properties mapping type,对象字段和嵌套字段可以包含子字段,这些属性可以被添加进去...官网文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html#_multi_fields

    1.7K50

    ElasticsearchIndex和Mapping(二)

    前言 本文使用Elasticsearch版本为6.5.4,基本命令以及操作大都通用。下面通过MySQL与Elasticsearch对比图,让我们更好地理解接下来增删改操作。 ?...操作 mapping是类似于数据库表结构定义。...mapping字段类型一旦设置,禁止直接修改,因为 lucene实现倒排索引生成后不允许修改,应该重新建立新索引,然后做reindex操作。...3、copy_to参数说明 作用是将该字段值复制到目标字段,实现类似_all作用。不会出现在_source,只能用来搜索。...记录内容越多,占据空间越大 ? 6、null_value参数 这个参数作用是当字段遇到null值时候处理策略,默认为null,即空值,此时es会忽略该值。

    2.8K10

    深入理解Elasticsearch索引映射(mapping)

    一、映射基础 在Elasticsearch,映射类似于关系型数据库表结构定义。它描述了索引字段类型、如何索引这些字段以及如何处理这些字段查询。...每个索引都有一个与之关联映射类型,尽管在Elasticsearch 7.x,每个索引只能有一个映射类型(与之前版本多个映射类型不同)。...索引选项 在Elasticsearch,索引选项是映射定义一个重要部分,它决定了字段如何被索引以及索引哪些属性应该被存储。...例如,对于keyword类型字段,null_value可以是一个字符串;对于数值类型字段,它必须是一个数字。...不正确设置可能会导致性能下降、存储空间浪费或无法满足搜索需求。因此,在创建或更新索引映射时,请仔细考虑每个字段索引选项。

    81210

    ElasticsearchMapping之元数据类型

    在esmapping存在类似数据库表结构定义或者solr里面的schemal文件,它里面定义了每个添加doc处理方式。...(4),路由元数据 _parent:在同一个索引,可以通过_parent字段来给两个不同mapping type数据建立父子关系,在查询时可以通过has_child, has_parent等查询...最后一点需要注意是如果指定了使用自己路由规则,如果两个文档_id参数一样,但是路由规则值不一样,有可能造成这两条数据被分发到不同shard,所以在使用自己路由规则时 注意_id参数唯一性。...(5)其他元数据字段 _meta:每个mapping type可以有不同元数据类型,我们可以存储自己定义认为元数据,此字段支持查询和更新 官网文档: https://www.elastic.co.../guide/en/elasticsearch/reference/current/mapping-fields.html#_document_source_meta_fields

    1.2K60

    es创建索引及别名更新mapping方法 elasticsearch nested object under path is not of nested type

    nested object under path [XXX] is not of nested type这是因为在创建索引时没有指定类型为数组,这就是一个大坑,ES官方说可以不用指定数字组类型,结果不指定聚合结果还不一样...由于Elasticsearch底层使用了lucene原因,不支持对mapping修改,可使用索引重建方式,升级版本思路来做别名映射处理。...1.创建索引 创建一个索引,这个索引名称最好带上版本号,比如my_index_v1,my_index_v2等。...my_index_v1 PUT { "settings": { "index.mapping.total_fields.limit": 2000, "number_of_shards...my_index  DELETE 4.创建同之前索引相同名称别名,不删除索引而创建同名别名会报错“an index exists with the same name as the alias

    9210

    Elasticsearch 7.x 映射(Mapping字段类型和结果各个字段介绍

    一、Mapping 字段类型: Elasticsearch 字段类型类似于 MySQL 字段类型。Elasticsearch 字段类型主要有:核心类型、复合类型、地理类型、特殊类型。...text 、keyword 新建一个 Mapping 映射,字段类型映射如下: { "settings": {"number_of_shards": 3,"number_of_replicas"...所以datauri(文件路径)使用了 text 类型 keyword 适合简短、结构化字符串,例如主机名、姓名等,可以用于过滤、排序、聚合检索,也可以用于精确查询。...: null } } ] } } took 值告诉我们执行整个搜索请求耗费了多少毫秒 _shards 部分告诉我们在查询参与分片总数...timed_out 告诉我们查询是否超时 在 hits 数组每个结果包含文档 _index 、 _type 、 _id ,加上 _source 字段。

    1.1K30

    ArcGISOrtho Mapping模块(一)

    工作原因,最近研究了ArcGISOrtho Mapping模块。我们将它翻译为正射制图,包含了正射校正与制图两个概念。...该系列从Ortho Mapping核心概念、理论基础、操作流程、案例分析四方面进行记录。...区域网平差是正射校正过程重要一步,且正射映射产品质量取决于平差中使用连接点和地面控制点精度。此步骤需要重叠影像,重叠程度达 30% 及以上时,生成结果最佳。...02 核心概念 正射校正核心是区域网平差,区域网平差是摄影测量学概念。...Ortho Mapping正射校正概念更加广义,涵盖了几何校正与地形校正。 03 源数据 正射制图支持数据类型有无人机、卫星和航空影像(数字、扫描)。

    66230

    Elasticsearch 8.X 防止 Mapping “爆炸”三种方案

    之前被问过类似的问题: “博主,我们现在业务场景是在宽表,2000+个字段联合查询,但是es默认单个索引字段数是1000个,过多会导致内存问题,和es性能问题,该如何解决这样场景呢?”...,但如上所有字符串类型都被映射为 “text” 和 “keyword” 组合类型。...我们将浪费内存和磁盘空间来存储这些字段,极大可能这些字段某些字段从未被使用过,它们存在目的仅是:"万一 "它们需要被用于搜索。 3、如何避免 Mapping "爆炸"?...举例,如下索引创建dynamic 设置为 strict,而后导入了预制 Mapping 没有的字段 “field3”。...则,dynamic 设置为 false 则代表介于两者中间要求。 如下所示,批量写入数据时候,写入了 mapping 没有的字段 title。

    85430

    ArcGISOrtho Mapping模块(二)

    Ortho Mapping下所有理论概念均属于摄影测量学范畴。该篇以概述方式简单解释其理论基础。...通过相机光点,影像像点,物点构建共线方程,用共线方程参数描述变换。参数分为内方位参数和外方位参数,定义了影像内部方向(表示从照相机到图像变换)及其外部方向(表示从地面到照相机变换)。...解析空三根据最小二乘法平差解算加密点三维坐标。 区域网平差,它可以根据重叠影像、地面控制点 (GCP)、照相机模型和高程数据之间摄影测量关系来计算投影区域(即区域网)平差或变换。...创建正射映射工作空间像是区域网平差前准备过程,对重叠影像及其参数,相机模型,高程数据,内定向与外定向准备。...Esri 在2015 年和武汉大学合作,引入了武大张祖勋团队开发航空航天数字摄影测量处理平台DpGrid。Ortho Mapping 所使用是DpGrid 技术。

    48930

    ArcGISOrtho Mapping模块(三)

    还提供了对影像预处理参数。 3. 创建完成后,影像集会加载到工作空间中并显示在地图上,在日志能看到处理流程,内容列表生成正射映射工程包含一系列表、图层和影像镶嵌数据集。...校正组校正选项可以定义计算区域网平差参数: 初始连接点分辨率:用于定义进行初始校正时分辨率。快速校正工具会使用此参数,直接运行校正工具,则同样会使用此参数。...如果要为影像集合特定区域添加连接点,或使用不同参数重新计算连接点,请运行重新计算连接点工具重新计算连接点。再次运行校正以将更新连接点纳入校正。...亦可以使用此 DEM 正射校正影像,将生成 DEM 将用于优化影像集合正射校正,更新影像集合校正过程。...武汉大学出版社, 1997. https://pro.arcgis.com/zh-cn/pro-app/latest/help/data/imagery/introduction-to-ortho-mapping.htm

    1.6K50

    ArcGISOrtho Mapping模块(四)

    卫星影像RPC 参数或者模型(有理多项式系数)描述了影像方向,参与区域网平差计算。卫星数据产品也有立体像对产品,比如资源三号WorldView 系列。...点相似性有三个等级:高、、低,点相似性高,则匹配连接点对相似容差等级为高级。此选项将生成数目最少匹配连接点对,但是每个匹配连接点对错误 (error) 等级可能比较低。...05 概述 Ortho Mapping 工作流涉及摄影测量学概念,但工作流是封装,处理逻辑是清晰,ArcMap 工作流以地理处理工具为基础串联起工作流,ArcGIS Pro 平台产生工作空间把实现相同功能工具进行集成...连接点、控制点对于校正效果尤其重要,平均重投影误差评估了区域网平差精确程度,除此外,没有定量参数去评估最终产品效果。当然也可以从视觉程度上对比校正前后效果。...武汉大学出版社, 1997. https://pro.arcgis.com/zh-cn/pro-app/latest/help/data/imagery/introduction-to-ortho-mapping.htm

    57440
    领券