2017-03-07 69 views
0

我正在存储几个字段,为了简单起见,我们可以调用问题字段“age”。最初,ES为我创建了索引,并最终为'年龄'选择了错误的字段类型。这是一种字符串类型,而不是数字类型。我意识到,我应该自己定义映射开始,并强制发送数据值始终是所有字符串或数字值。使用现有数据更新ElasticSearch映射字段类型

我所现在是一吨的数据,使用一个“字符串”类型,年龄以下值的指标:1,10,“NA”,等等。

现在的问题是:如果我要更改从字符串到整数的映射,那么在更新时,索引是否与现有数据值(如“na”)有任何问题?

我只是想在开始创建游乐场环境之前先询问一个样本数据集。

+0

你首先创建一个映射? – Adonis

+0

不,我还没有创建一个映射开始。 – breakdown1986

回答

0

您可以根据doc更新内容:

  • 新的属性可以被添加到对象数据类型的字段。
  • 新的多字段可以添加到现有的字段。
  • doc_values可被禁用,但未启用。
  • ignore_above参数可以更新。

否则,恐怕你必须创建一个新的映射,并重新索引数据,请参阅本post例如

+0

我不介意重新索引,但担心混合数据值。向前移动,我希望age字段是一个数字字段,但不确定如何处理字符串和数字数据的现有组合。 – breakdown1986

+0

这就是为什么你应该为你的数据定义一个映射(我知道它可能需要一些时间),而不是将它推迟到elasticsearch – Adonis

+0

绝对没有疑问。但你认为我有什么选择前进? – breakdown1986