愚者求师之过,智者从师之长。

如何把include_type_name的值设置为true

Elasticsearch | 作者 sailershen | 发布于2019年07月19日 | 阅读数:12116

做mapping相关设置的时候,总是提示操作失败,除非把include_type_name设置为true,但没找到哪里能设置这个值,谁能指教一下,谢谢。
已邀请:

Ombres

赞同来自: sailershen

PUT index/_mappings?include_type_name=true
当成一个parameter去使用
 
 
另外7.0的时候,不写type就不会涉及到这方面的问题。网上很多文章都是基于旧版本的,在url中写了type,使用的过程中注意一些应该就好了

Ombres

赞同来自: sailershen

首先明确两个概念index的type ,以及mapping中field的type。
7.0的中index的type已经默认禁止使用了。
 
其实你是想修改mapping中某个字段的type。
 
说一下ELK情况下我会如何做这些事情。
1. 在es中创建一个index template, 在你这里需要注意两点
第一是"index_patterns": ["indexname*"],这个参数用来确定创建的哪些索引会使用该模板。
第二是mapping中字段的定义,比如你所说的某个字段的类型
具体可以参考https://www.elastic.co/guide/e ... .html
https://www.elastic.co/guide/e ... .html
2.  logstash中,输出到es中的index的命名务必能与上述第一点匹配,这样通过logstash创建的索引就会自动应用创建的模板了,字段也会是你所需要的类型
 
如果你的旧数据只是测试使用,建议你不用重新索引,否则就得重新索引之前的数据了
 

sailershen

赞同来自:

谢谢 @Ombres的帮忙,我有个时间字段在mapping里看类型是text,要改成date的,ELK是7.0的,如果不用type,如何指定字段类型?

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

我有个时间字段在mapping里看类型是text,要改成date的,ELK是7.0的,如果不用type,如何指定字段类型?
新建模板或者索引,指定字段类型为date,然后数据reindex可以实现数据迁移。
字段类型的指定在设置mapping中实现。

要回复问题请先登录注册