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'
上一篇下一篇

猜你喜欢

热点阅读