ES入门3-mapping
2018-05-06 本文已影响0人
加碘盐_ed6c
PUT Mapping
ES的mapping非常类似于静态语言中的数据类型:声明一个变量为int类型的变量, 以后这个变量都只能存储int类型的数据。同样的,一个number类型的mapping字段只能存储number类型的数据。
同语言的数据类型相比,mapping还有一些其他的含义,mapping不仅告诉ES一个field中是什么类型的值,它还告诉ES如何索引数据以及数据是否能被搜索到。
那我们就来新建一个索引为twitter,索引类型为tweet的mapping,如下代码:
curl -XPUT 'http://localhost:9200/twitter/_mapping/tweet' -d '
{
"tweet" : {
"properties" : {
"message" : {"type" : "string", "store" : true }
}
}
}
'
说明:其中的properties为属性集合,message为定义的field,type为message的类型。
这样就定义好了twitter的mapping。
GET Mapping
我们前面已经建立了某个索引的mapping,我们这一节就来讲解如何查看mapping。
查看索引为twitter,索引类型为tweet的mapping。
curl -XGET 'http://localhost:9200/twitter/_mapping/tweet'
查看ES中所有的mapping。
curl -XGET 'http://localhost:9200/_mapping'
查看ES中索引为twitter,kimchy的mapping。
curl -XGET 'http://localhost:9200/_mapping/twitter,kimchy'
DELETE Mapping
我们前面已经讲了建立mapping,我们这一节来讲解如何删除mapping。 删除索引为twitter,索引类型为tweet的mapping。
curl -XDELETE 'http://localhost:9200/twitter/tweet'
或者
curl -XDELETE 'http://localhost:9200/twitter/tweet/_mapping'
或者
curl -XDELETE 'http://localhost:9200/twitter/_mapping/tweet'