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

在Elastic Search中重新编制索引时,无法使用包含破折号的新名称重命名字段

在Elasticsearch中重新编制索引时,无法使用包含破折号的新名称重命名字段。这是因为Elasticsearch中字段名称不能包含破折号(-),只能包含字母、数字和下划线(_)。

Elasticsearch是一个开源的分布式搜索和分析引擎,它基于Lucene库构建而成。它提供了一个分布式的、多租户的全文搜索引擎,可以快速地存储、搜索和分析大量的数据。

在Elasticsearch中,索引是用于组织和存储文档的逻辑容器。每个索引都包含一个或多个类型,而类型则包含多个文档。文档是Elasticsearch中的基本数据单元,可以是任意结构的JSON对象。

当需要重新编制索引时,可以使用Elasticsearch提供的Reindex API来实现。Reindex API允许将一个或多个索引中的文档重新索引到一个新的索引中。在重新索引的过程中,可以对字段进行重命名、转换数据类型等操作。

然而,由于Elasticsearch中字段名称不能包含破折号,因此无法直接使用包含破折号的新名称重命名字段。如果需要重命名字段,可以考虑以下两种解决方案:

  1. 使用下划线代替破折号:可以将破折号替换为下划线,然后使用Reindex API进行重命名操作。例如,将字段名从"old-field"重命名为"new_field"。
  2. 创建一个新的字段:如果无法使用下划线代替破折号,可以创建一个新的字段,并将原始字段的值复制到新字段中。然后使用Reindex API将新字段索引到新的索引中。例如,创建一个名为"new_field"的新字段,并将"old-field"字段的值复制到"new_field"字段中。

需要注意的是,在重新编制索引时,还可以对字段进行其他操作,如转换数据类型、修改字段映射等。此外,Elasticsearch还提供了丰富的查询和聚合功能,可以帮助用户快速检索和分析数据。

作为腾讯云的用户,您可以使用腾讯云的Elasticsearch服务来搭建和管理Elasticsearch集群。腾讯云Elasticsearch提供了高可用、高性能的Elasticsearch集群,支持自动扩缩容、数据备份与恢复、安全认证等功能。您可以通过腾讯云控制台或API来创建、配置和管理Elasticsearch集群。

更多关于腾讯云Elasticsearch的信息,请参考腾讯云官方文档:

请注意,以上答案仅供参考,具体操作和配置可能因实际情况而异。建议在实际使用中参考官方文档或咨询腾讯云的技术支持。

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

相关·内容

Elasticsearch文档和映射

生成的JSON在Elasticsearch中编制索引。 Elasticsearch文档位于分片的一部分中,该分片也是Lucene索引。随着附加文件的发布,细分市场也在增长。...最初删除文档时,实际上不会立即从Elasticsearch中删除它。相反,它被标记为已删除,使用户无法访问,但仍在该段中。...当映射值在同一索引中具有不同类型时,会发生映射冲突。这是怎么发生的?...那么,如果您需要将先前定义为整数的字段更新为字符串,会发生什么?你猜对了:映射冲突。 那么如何解决这些映射冲突呢?重新编制。在后一种情况下,您应该在需要更新现有字段定义时重新索引数据。为什么?...请注意,要重新索引,您需要使用新名称创建新索引 - 您无法将文档重新索引到与原始名称相同的新索引中。

1.7K10

ChatGPT 和 Elasticsearch的结合:在私域数据上使用ChatGPT

,这些文档现已在 Elasticsearch 中编制索引。...Elasticsearch 索引和网络爬虫接下来我们将创建一个新的 Elasticsearch 索引来存储我们的 Elastic 文档,将网络爬虫配置为自动抓取这些文档并为其编制索引,并使用摄取管道为文档...在 Kibana 中,导航到Enterprise Search -> Overview。单击创建 Elasticsearch 索引。...配置网络爬虫以爬取 Elastic官方文档:再次单击导航菜单,然后单击 Enterprise Search -> Overview。在内容下,单击索引。单击 search-elastic-docs。...比方说,请它告诉您如何造船(Elastic 的官方文档不包含此内容):图片当 ChatGPT 无法在我们提供的文档中找到问题的答案时,它会退回到我们的提示指令,简单地告诉用户它无法回答问题。

6.2K164
  • 初识 Elasticsearch7.x(一)

    文档在 Elasticsearch 中有一些重要的属性: 它是独立的。文档包含字段(名称)及其值。 它可以是分层的。可以将其视为文档中的文档。字段的值可以很简单,就像位置字段的值可以是字符串一样。...它还可以包含其他字段和值。例如,位置字段可能包含城市和街道地址。 结构灵活。你的文档不依赖于预定义的架构。例如,并非所有事件都需要描述值,因此可以完全省略该字段。...这其中的原因是:相同 index 的不同映射 type 中具有相同名称的字段是相同; 在 Elasticsearch 索引中,不同映射 type 中具有相同名称的字段在 Lucene 中被同一个字段支持...Primary shard: 每个文档都存储在一个Primary shard。 索引文档时,它首先在 Primary shard上编制索引,然后在此分片的所有副本上(replica)编制索引。...索引可以包含一个或多个主分片。 此数字确定索引相对于索引数据大小的可伸缩性。 创建索引后,无法更改索引中的主分片数。 Replica shard: 每个主分片可以具有零个或多个副本。

    50450

    MySQL见闻录 -- 入门之旅(二)

    你可以为单个数据列编制索引,也可以为多个数据列构造复合索引。 索引可以只包含独-无二的值,也可以包含重复的值。 你可以为同一个数据表创建多个索引并分别利用它们来优化基于不同数据列的查询。...因为CHANGE子句能够(而MODIFY子句不能)做到的事情是在改变其数据类型的同时重新命名一个数据列。...用RENAME子句给数据表起-个新名字: ALTER TABLE tbl name RENAME TO new_ tbl_ name; 另一个办法是使用RENAMB TABLE 语句来重新命名数据表。...比如说,你可以像下面这样交换两个数据表的名字: RENAME TABLE t1 TO tmp, t2 TO t1, tmp TO t2; 如果在重新命名个数据表时在它的名字前面加上了数据库名前级,就可以把它从一个数据库移动到另一个数据库...如果重新命名的某个MyISAM数据表是某个MERGE数据表的成员,你必须重新定义那个MERGE数据表,让它使用那个MyISAM数据表的新名字。

    58420

    Elasticsearch 内部数据结构深度解读

    默认情况下,Elasticsearch 对每个字段中的所有数据建立索引,并且每个索引字段都具有专用的优化数据结构。 例如,文本字段存储在倒排索引中,数字字段和地理字段存储在BKD树中。...定义 在 Elasticsearch 中,Doc Values 就是一种列式存储结构,默认情况下每个字段的 Doc Values 都是激活的(除了 text 类型),Doc Values 是在索引时创建的...,当字段索引时,Elasticsearch 为了能够快速检索,会把字段的值加入倒排索引中,同时它也会存储该字段的 Doc Values。...2.3 Doc Values 特点 在索引时创建 序列化到磁盘 适合排序操作 将单个字段的所有值一起存储在单个数据列中 默认情况下,除text之外的所有字段类型均启用 Doc Values。..._source 字段本身未构建索引(因此不可搜索),但已存储该字段,以便在执行获取请求(如get或search)时可以将其返回。

    6K12

    Elasticsearch:REST API

    在输入命令时,我们需要特别的注意:千万不要添加除了换行以外的空格,否则会导致错误。在上面我们使用的 index 用来创建一个文档。...等我们运行完上面的指令后,我们可以在 Kibana 中查看到我们的叫做 “bank_account” 的索引。...Open/close Index Elasticsearch 支持索引的在线/离线模式。 使用脱机模式时,在群集上几乎没有任何开销地维护数据。 关闭索引后,将阻止读/写操作。...默认情况下,即使已明确命名冻结索引,也不会针对冻结索引执行搜索请求。 这是为了防止由于误将冻结的索引作为目标而导致的意外减速。...如果要包含冻结索引做搜索,必须使用查询参数 ignore_throttled = false 来执行搜索请求。

    1.3K00

    后端技术杂谈4:Elasticsearch与solr入门实践

    "} 上面代码中,请求9200端口,Elastic 返回一个 JSON 对象,包含当前节点、集群、版本等信息。...,然后重新启动 Elastic。...接着,重新启动 Elastic,就会自动加载这个新安装的插件。 然后,新建一个 Index,指定需要分词的字段。这一步根据数据结构而异,下面的命令只针对本文。...分词插件一般都有自己的默认词库和扩展词库,默认词库包含了绝大多数常用的中文词语。如果默认词库无法满足你的需求,比如某些专业领域的词汇,可以在扩展词库中手动添加,这样分词插件就能识别新词语了。 ?...Elasticsearch使用Lucene作为内部引擎,但是在使用它做全文搜索时,只需要使用统一开发好的API即可,而不需要了解其背后复杂的Lucene的运行原理。

    1.2K10

    Elastic进阶教程:构建一个基于NLP的财经热点分析系统

    而对于数据的统计分析,我们可以通过NER(命名实体识别)功能,提取出实体,对实体进行丰富和统计数据存储从天行数据采集来的原始数据我们可以存储在App search的引擎中。...本次演示中,我们在企业搜索中创建的引擎名为news, 对应的索引为.ent-search-engine-documents-news(该索引为默认索引,需要勾选包括隐藏索引才能看到):图片我们可以直接在...Kibana上修改该索引的配置,让其每次写入数据时,都通过我们刚创建的数据处理管理ml_ner提取数据中的命名实体:图片向引擎添加命名实体字段因为命名实体字段是通过ingest pipeline生成的,...因此,在App search上我们是看不到这些字段的,需要在App search中通过修改schema的方式进行添加:图片上图中的game、government、ner_address, organization...Graph功能,探索热点数据之间的关系:图片总结在这个案例中,我们只使用了elastic search platform完成了整个财经热点分析系统的建设。

    3.5K21

    在Python中使用Elasticsearch

    在我开始访问Python中的Elastic Search之前,我们来做一些基本的东西。 正如我提到ES提供了一个REST API接口,我们将使用它来执行不同的任务。...基本示例 你要做的第一件事就是创建索引。一切都以索引形式存储。RDBMS概念中索引相当于一个数据库,因此不要将它与你在RDBMS中学习的典型索引概念混淆。使用PostMan来运行REST API。...这里有很多要说的事。首先,我们传递了一个包含整个文档结构映射的配置变量。映射是模式这一术语在Elastic的版本。就像我们在表格中设置特定的字段数据类型一样,我们在这里做类似的事情。...由于我们没有在我们的映射中设置ingredients,因此ES不允许我们存储包含ingredients字段的文档。现在你知道事先分配映射的优势了。你可以通过这样做避免破坏数据。...在我们继续之前,让我们在calories字段中发送一个字符串,看看它是如何发生的。请记住,我们已将其设置为整数。 在编制索引时出现以下错误: ? 所以现在你知道为文档分配一个映射的好处了。

    1.4K50

    Elasticsearch探索:Suggester API(一)

    ,在 ES 中通过 Sugester API 实现的 原理:将输入的文档分解为 Token,然后在索引的字段里查找相似的 Term 并返回 根据不同的使用场景,ES 设计了 4 种类别的 Suggesters...用户输入的 “lucen” 是一个错误的拼写会到 指定的字段 “body” 上搜索,当无法搜索到结果时(missing),返回建议的词。...仅在搜索的词项在索引中不存在时才提供建议词,默认值 popular: Only suggest suggestions that occur in more docs than the original...下面的示例显示了具有两个generator的词组 suggest 调用:第一个generator使用包含普通索引项的字段,第二个generator使用包含使用反向过滤器索引的项的字段(token按相反顺序索引...,请为此字段指定一个特殊映射,为快速完成的字段值编制索引 1.body字段可以设置索引分词,这些会影响FST编码结果,也会影响查找匹配的效果 2.设置查询分词需要在mapping中添加才会生效 "type

    5.7K23

    全文搜索引擎Elasticsearch入门教程

    本文从零开始,讲解如何使用 Elastic 搭建自己的全文搜索引擎。每一步都有详细的说明,大家跟着做就能学会。 一、安装 Elastic 需要 Java 8 环境。..." } 上面代码中,请求9200端口,Elastic 返回一个 JSON 对象,包含当前节点、集群、版本等信息。...2.2 Index Elastic 会索引所有字段,经过处理后写入一个反向索引(Inverted Index)。查找数据的时候,直接查找该索引。...接着,重新启动 Elastic,就会自动加载这个新安装的插件。 然后,新建一个 Index,指定需要分词的字段。这一步根据数据结构而异,下面的命令只针对本文。...5.4 更新记录 更新记录就是使用 PUT 请求,重新发送一次数据。

    1.3K70

    在Python中如何使用Elasticsearch?

    但是,由于眼见为实,可以在浏览器中访问URLhttp://localhost:9200或者通过cURL 查看类似于这样的欢迎界面以便你知道确实成功安装了: 在我开始访问Python中的Elastic...RDBMS概念中索引相当于一个数据库,因此不要将它与你在RDBMS中学习的典型索引概念混淆。使用PostMan来运行REST API。...这里有很多要说的事。首先,我们传递了一个包含整个文档结构映射的配置变量。映射是模式这一术语在Elastic的版本。就像我们在表格中设置特定的字段数据类型一样,我们在这里做类似的事情。...由于我们没有在我们的映射中设置ingredients,因此ES不允许我们存储包含ingredients字段的文档。现在你知道事先分配映射的优势了。你可以通过这样做避免破坏数据。...在编制索引时出现以下错误: 所以现在你知道为文档分配一个映射的好处了。如果你不这样做,它仍然会工作,因为Elasticsearch将在运行时分配它自己的映射。

    8K30

    ELK运维文档

    分片中的每个索引操作包含两部分:refresh和flush。 refresh 在索引中添加、更新和删除document后,并不能立即被search到。...在data字段中使用now时,通常无法进行缓存。 force-merge只读的索引。注意不能force-merge可写的索引。...无法删除或迁移系统索引 像.geoip_databases这样的系统索引在主分片状态为unassigned时是无法通过 Delete /my-index,接口直接删除的,可以通过停用然后启用相应功能的方式来让系统重新分配索引...重命名已有的NodeSet ECK会创建一个新名称的NodeSet,并将数据从旧的NodeSet转移过来,然后删除旧的NodeSet。...Kibana 连接Elasticsearch 当kibana和Elasticsearch在同一个ECK集群中时,ECK会将所需的Secret从Elasticsearch所在的命名空间拷贝到kibana所在的命名空间

    83210

    在Python中使用Elasticsearch

    在我开始访问Python中的Elastic Search之前,我们来做一些基本的东西。 正如我提到ES提供了一个REST API接口,我们将使用它来执行不同的任务。...基本示例 你要做的第一件事就是创建索引。一切都以索引形式存储。RDBMS概念中索引相当于一个数据库,因此不要将它与你在RDBMS中学习的典型索引概念混淆。使用PostMan来运行REST API。...这里有很多要说的事。首先,我们传递了一个包含整个文档结构映射的配置变量。映射是模式这一术语在Elastic的版本。就像我们在表格中设置特定的字段数据类型一样,我们在这里做类似的事情。...由于我们没有在我们的映射中设置ingredients,因此ES不允许我们存储包含ingredients字段的文档。现在你知道事先分配映射的优势了。你可以通过这样做避免破坏数据。...在我们继续之前,让我们在calories字段中发送一个字符串,看看它是如何发生的。请记住,我们已将其设置为整数。 在编制索引时出现以下错误: ? 所以现在你知道为文档分配一个映射的好处了。

    2.1K00

    初识 Elasticsearch7.x(二)

    映射 Mapping 映射是定义一个文档和它所包含的字段如何被存储和索引的过程。 在默认配置下,ES可以根据插入的数据自动地创建mapping,也可以手动创建mapping。...mapping中主要包含字段名、文档类型等 文档 Document 文档是索引中存储的一条条数据。一条文档是一个可被索引的最小单元。 ES中的文档采用了轻量级的JSON格式数据来表示。...这是因为一旦修改,那么之前建立的索引就变成不能搜索的了。一种办法是 reindex 从而重新建立我们的索引。如果在之前的 mapping 加入新的字段,那么我们可以不用重新建立索引。...此查询使用存储在 _id 字段中的文档id。...当你请求突出显示时,响应包含每个搜索命中的附加突出显示元素,其中包括突出显示的字段和突出显示的片段。

    2.8K20

    【Elasticsearch系列之五】通过snapshot迁移ES数据

    这意味着,当创建索引快照时,Elasticsearch避免复制任何已存储在存储库中的数据作为同一索引的早期快照的一部分。因此,可以 非常频繁地为集群创建快照。...5)在升级之前备份数据时,请记住,如果快照中包含与升级版本不兼容的版本中创建的索引,则可能导致升级后将无法还原快照。 6)兼容列表如下:在1.x中创建的索引快照可以恢复到2.x。...反例:无法将在1.x中创建的索引快照还原到5.x或6.x,无法将在2.x中创建的索引快照还原到6.x或7.x,以及无法将在5.X创建的索引快照还原到7.x。 7)要保证还原的集群有足够的存储容量。...创建快照可以指定索引,也可以指定快照中包含的内容,具体的 api 接口参数可以查阅官方文档:https://www.elastic.co/guide/en/elasticsearch/reference...如果 snapshot_1 包括五个索引,这五个都会被恢复到我们集群里。 可以用附加的选项用来重命名索引。这个选项允许您通过模式匹配索引名称,然后通过恢复进程提供一个新名称。

    7.7K52

    第17篇-使用Python的初学者Elasticsearch教程

    多个实例和head plugin使用介绍 06.当Elasticsearch进行文档索引时,它是怎样工作的?...它不仅存储它们,而且索引每个文档的内容以使其可搜索。在Elasticsearch中,您可以对文档进行索引,搜索,排序和过滤。 Elasticsearch使用JSON作为文档的序列化格式。...现在让我们开始索引员工文档。 在Elasticsearch中存储数据的行为称为索引编制。 Elasticsearch集群可以包含多个索引,而索引又包含多个类型。...无需先执行任何管理任务,例如创建索引或指定每个字段包含的数据类型。我们可以直接为文档建立索引。Elasticsearch附带所有内容的默认值,因此使用默认值在后台处理了所有必要的管理任务。...词组搜索 在一个字段中查找单个单词很好,但是有时候您想要匹配短语中单词的确切顺序。

    1.9K00

    这份​Elasticsearch 工作笔记,值得收藏

    使用_search/template API查询时返回结果总量不准 在_search/template API的处理逻辑中,虽然rest_total_hits_as_int设置为了true, trackTotalHitsUpTo...在search时返回结果中的_shards.skipped表示了过滤掉了多少shard。...37 . fielddata是在堆内存的,docvalues是在堆外内存的;docvalues默认对所有not_analyzed字段开启(index时生成),如果要对analyzed字段进行聚合,就要使用...字段唯一值非常多,对该字段进行terms聚合时需要构建Global Ordinals(内部实现),对旧的索引只需构建一次也就是首次查询时构建一次,后续查询就可以直接使用缓存中的Global Ordinals...当底层的Segment发生变化时,Global Ordinals就失效了,再次查询时就需要重新构建;默认的构建时机是search查询时,在6.x版本引入了eager_global_ordinals,把构建全局序数放在了

    1.7K61

    干货 | 携程酒店订单Elastic Search实战

    查询时,会先查索引,如果索引中已经包含所需要的列,直接返回数据即可。如果需要额外的数据,可以根据分片维度进行二次查询。因为已经能确定具体的分片,所以查询也会高效。...每个索引可以被分成多个分片,每个分片可以有多个备份。 两者对比各有优劣。在安装和配置方面,得益于产品较新,Elastic Search更轻量级以及易于安装使用。...扫描数据库无法扫描出删除的记录,但是订单相关的记录都需要保留,所以不存在删除数据的场景。 提高Elastic Search写的吞吐量 ?...由于Elastic Search的分布式分区原则默认是对文档id进行哈希和取模决定分片,所以如果把查询场景最高的字段设为_routing的值就能保证在对该字段查询时,只要查一个分片即可返回结果。...灾备的实现 Elastic Search本身是分布式的。在创建索引时,我们根据未来几年的数据总量进行了分片,确保单片数据总量在一个健康的范围内。

    1.4K41

    Elasticsearch概念及Search和Analyzer简单使用

    JSON文档中的每个字段,都有自己的倒排索引 # 可以指定对某些字段不做索引 # 优点: 节省存储空间 # 缺点: 字段无法被搜索 Analyzer分词 Analysis与Analyzer #...SearchAPI简介 # 分为两大类 # URL Search # 在URL中使用查询参数 # Request Body Search # 使用Elasticsearch提供的,基于JSON格式的更加完备的...,通过主分片,可以将数据分布在集群内的所有节点之上 # 一个分片是一个运行的Lucene的实例 # 主分片数在索引创建时指定,后续不允许修改,除非Reindex 副本(Replica Shard) 用以解决数据高可用的问题...分片的设定 对于生产环境中分片的设定,需要提前走好容量规划 分片数设置过小 # 导致后续无法增加节点实现水平扩展 # 单个分片的数据量太大,导致数据重新分配耗时 分片数设置过大,7.0开始,默认主分片设置成...Mapping定义,用于定义包含文档的字段名和字段类型 # Shard体现了物理空间的概念: 索引中的数据分散在Shard上 # 索引的Mapping与Settings # Mapping

    1.2K30
    领券