将Kibana中字段的映射从String更改为Double

时间:2018-11-20 23:29:32

标签: scala elasticsearch logstash spark-streaming kibana

我正在捕获实时数据流并对其进行处理。我配置了logstash.conf文件。

我启动了ElasticSearch,Logstash和Kibana。

我在kibana中创建了索引,当我在开发工具中执行get index时,

我有这样的东西

    "message": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      }    

我想将消息的类型从String更改为Double。我该怎么做?

2 个答案:

答案 0 :(得分:1)

创建索引后便无法更改映射-您必须在新索引中自己创建映射,以明确创建所需的字段/类型: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html

然后将旧索引重新索引为新索引: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html

请注意,您想要的类型是“双精度”而不是“双精度”: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html

答案 1 :(得分:1)

在Elasticsearch(ES)中更改字段的数据类型是一项重大更改。就您而言,您需要更新映射并在ES中更新。

请使用https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html来验证映射是否已在ES中成功更新。

Reindex API需要启用_source,有关_source字段及其是否已启用的信息,请参考https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html

如果您的情况未启用它,那么您唯一的选择是删除旧索引(具有较旧的映射),然后使用新映射再次创建它。

如果您对此有任何疑问或遇到任何问题,请告诉我。