当前位置: 首页 > 面试题库 >

是否可以通过Elasticsearch中的映射来更新索引中的现有字段?

林俭
2023-03-14
问题内容

我已经创建了一个索引,它包含MySQL数据库中的数据。我的string表中只有几个字段,在这些字段中我需要它们作为不同的类型(integerdoubleElasticsearch

因此,我知道可以通过mapping以下方式实现:

{
  "mappings": {
    "my_type": {
      "properties": {
        "userid": {
          "type": "text",
          "fielddata": true
        },
        "responsecode": {
          "type": "integer"
        },
        "chargeamount": {
          "type": "double"
        }
      }
    }
  }
}

但是,当我将索引创建为新索引时,我已经尝试过了。我想知道的是如何chargeamount使用mappingas
来更新现有字段(即:在这种情况下)PUT

这可能吗?任何帮助,不胜感激。


问题答案:

创建映射类型后,您在更新内容上会受到很大的限制。根据官方文档,创建现有映射后,只能对以下内容进行更改,但是更改字段的类型不是其中之一:

通常,无法更新现有字段的映射。此规则有一些例外。例如:

  • 可以将新属性添加到“对象”数据类型字段。
  • 新的多字段可以添加到现有字段中。
  • doc_values可以禁用,但不能启用。
  • ignore_above参数可以更新。



 类似资料:
  • 我对弹性搜索一无所知。所以,如果这是一个愚蠢的问题,请原谅我,我的问题可能已经在其他地方得到了回答,但我找不到。我想使用弹性搜索作为我的网络中PDF和docx的搜索引擎。我使用fscrawler将PDF文件吸收到弹性搜索中。因为我要摄取的文档是几种语言的,所以我想使用n-graming进行词干分析。为此,我想像这样更新我的映射 现在我收到了这个错误信息 {“error”:{“root_cause”

  • 问题内容: 我想要对Elasticsearch中已存在的索引进行以下设置和映射设置: 我试图添加以下两行代码: 但这是结果: 任何人?非常感谢, 斯汀 这似乎可行: 问题答案: 如果在发送更改后查看设置,您会发现分析仪不存在。实际上,您不能在实时索引上更改设置的“分析”部分。最好使用所需的设置来创建它,否则您可以将其关闭: 关闭索引后,您可以发送新设置。之后,您可以重新打开索引: 关闭索引后,它不

  • 我想为我的索引更新elasticsearch中的默认映射。但是所有的文档都指出我们必须为更新映射提供类型。问题是我有很多索引类型,它们是动态创建的,就像新类型的文档出现时一样。所以最好的处理方法是默认映射类型。因为我不必为每个类型定义映射。但现在我无法更新我的索引默认映射。如果可能的话,请告诉我?

  • 是否可以在elasticsearch中更新文档中字段的映射数据类型?我是否必须删除整个索引并添加一个新的索引?是否需要创建一个包含新映射和所有文档的新索引?还是可以更改映射并要求elasticsearch使用新映射属性重新索引所有文档?第二种方法我不会丢失所有的文件。 Elasticsearch版本:6.3.2

  • 问题所在 我是elasticsearch的新手,我想了解动态映射和重新索引文档之间的关系。 根据我的实验,当动态映射打开时,文档的重新索引是自动完成的。这意味着如果向文档中添加新字段,它将自动被索引。 TEST1-带映射的索引 TEST2-没有映射的索引

  • 问题内容: 我在elasticsearch网站上找到了一篇文章,描述了如何“在不停机的情况下重新编制索引”,但是每次引入需要自定义映射的新元素时,这实际上是不可接受的(http://www.elasticsearch.org/blog/changing- 零停机时间映射/ ) 有谁知道为什么我不能为Elasticsearch中的现有索引创建映射,而是为新类型创建映射?该类型尚不存在,为什么不呢?也