Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 如何在不停止服务的情况下更改elasticsearch上的字段类型?_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logstash_Kibana_Elastic Stack - Fatal编程技术网 elasticsearch 如何在不停止服务的情况下更改elasticsearch上的字段类型?,elasticsearch,logstash,kibana,elastic-stack,elasticsearch,Logstash,Kibana,Elastic Stack" /> elasticsearch 如何在不停止服务的情况下更改elasticsearch上的字段类型?,elasticsearch,logstash,kibana,elastic-stack,elasticsearch,Logstash,Kibana,Elastic Stack" />

elasticsearch 如何在不停止服务的情况下更改elasticsearch上的字段类型?

elasticsearch 如何在不停止服务的情况下更改elasticsearch上的字段类型?,elasticsearch,logstash,kibana,elastic-stack,elasticsearch,Logstash,Kibana,Elastic Stack,在过去的两天里,我在谷歌上搜索,在www.elastic.co上寻找信息,但我仍然感到困惑。以下是我的实际情况: 我在上个月学习并建立了麋鹿服务。我通过logstash将我的日志导入elasticsearch 但我在制作可视化图表时遇到了一个问题,我需要求和一个字段来完成此操作,但我得到了一个错误: this field type is string,need number to sum! 计算总和需要一个数字,这很有意义,因此我尝试将字段类型从string更改为number(long) 我

在过去的两天里,我在谷歌上搜索,在www.elastic.co上寻找信息,但我仍然感到困惑。以下是我的实际情况:

我在上个月学习并建立了麋鹿服务。我通过logstash将我的日志导入elasticsearch

但我在制作可视化图表时遇到了一个问题,我需要求和一个字段来完成此操作,但我得到了一个错误:

this field type is string,need number to sum! 
计算总和需要一个数字,这很有意义,因此我尝试将字段类型从string更改为number(long)

我提出了,这是我的解决方案:

  • 将模板发布到elasticsearch并创建新索引
  • 将logstash输出设置为新索引并重新启动它
  • 将旧索引重新索引为新索引
  • 删除旧索引
  • 我的问题是:

    我可以跳过第二步吗

    我不想重新启动logstash,因为它实时接收数据,我不希望它丢失一些数据

    如果不重新启动logstash,则无法将输出更改为新索引


    这让我感到困惑。

    一旦设置了字段类型,它就无法更改

    根据报告:

    虽然可以添加到现有映射,但不能更改现有映射 字段映射。如果字段的映射已经存在,则从 该字段可能已编入索引。如果你要换场地 映射时,索引的数据将是错误的,并且不会正确地 可搜索

    因此,您唯一的选择是重新编制整个索引的索引。 好消息是可以在零停机的情况下完成。解释了该过程。它是通过使用别名来实现的,索引会发生变化,但两者都指向相同的别名,包括Logstash,我想,在这种情况下,您将不需要重新启动它


    无论如何,如果可能的话,最好事先为每个字段设置正确类型的映射。如果你事先不知道,也许可以做一个更准确的模板。即使停机时间为零,根据索引大小对整个索引重新编制索引也可能有点慢。

    一旦设置了字段类型,就无法更改它

    根据报告:

    虽然可以添加到现有映射,但不能更改现有映射 字段映射。如果字段的映射已经存在,则从 该字段可能已编入索引。如果你要换场地 映射时,索引的数据将是错误的,并且不会正确地 可搜索

    因此,您唯一的选择是重新编制整个索引的索引。 好消息是可以在零停机的情况下完成。解释了该过程。它是通过使用别名来实现的,索引会发生变化,但两者都指向相同的别名,包括Logstash,我想,在这种情况下,您将不需要重新启动它

    无论如何,如果可能的话,最好事先为每个字段设置正确类型的映射。如果你事先不知道,也许可以做一个更准确的模板。即使停机时间为零,根据索引大小对整个索引重新编制索引也可能有点慢