es另一个中创建mapping 的方式

如果不想单独创建mapping,可以使用上一节的方法(创建索引时创建mappings)。

假设我们的项目中有多个环境(开发环境、测试环境等),那每一个环境的mapping总要一致的吧,那每次创建一次mappings就比较麻烦了,而且还容易导致数据不一致。莫急,ES还给我们准备另外一种创建mapping的方式。可以按照下面的步骤来做。

步骤1 创建一个扩展名为test_type.json的文件名,其中type_test就是mapping所对应的type名。

步骤2 在test_type.json中输入mapping信息。假设你的mapping如下:

{
“test_type”: { # 注意,这里的test_type与json文件名必须一致
“properties”: {
“name”: {
“type”: “string”,
“index”: “not_analyzed”
},
“age”: {
“type”: “integer”
}
}
}
}

步骤3 在$ES_HOME/config/路径下创建mappings/index_test子目录,这里的index_test目录名必须与我们要建立的索引名一致。将test_type.json文件拷贝到index_tes目录下。

步骤4 创建index_test索引。操作如下:

curl -XPUT “localhost:9200/index_test” # 注意,这里的索引名必须与mappings下新建的index_test目录名一致
这样我们就创建了一个新的索引,并且使用了test_type.json所定义的mapping作为索引的mapping。就是这么简单方便!

你可能感兴趣的:(ES)