我正在捕获实时数据流并对其进行处理。我配置了logstash.conf
文件。
我启动了ElasticSearch,Logstash和Kibana。
我在kibana中创建了索引,当我在开发工具中执行get index
时,
我有这样的东西
"message": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
我想将消息的类型从String更改为Double。我该怎么做?
答案 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。
如果您的情况未启用它,那么您唯一的选择是删除旧索引(具有较旧的映射),然后使用新映射再次创建它。
如果您对此有任何疑问或遇到任何问题,请告诉我。