Elasticsearch映射

elasticsearch映射相当于mysql中的字段的类型。

映射类型

String类型

text:可分词,不可参与聚合
keyword:不可分词,数据会作为完整字段进行匹配,可以参与聚合

Numerical数值类型

基本数据类型:longintergershortbytedoublefloathalf_float
浮点数的高精度类型:scaled_float 需要指定一个精度因子,比如10或100。elasticsearch会把真实值乘以这个因子后存储,取出时再还原。

Date日期类型

Elasticsearch可以对日期格式化为字符串存储,但是建议我们存储为毫秒值,存储为long,节省空间。

空间索引类型

geo_point:地理信息点类型
geo_shape:地理信息多点,线、面等类型

创建映射

以创建一个poi的索引类型为例,通过Restful方式创建:

PUT /poi/_mapping
{
  "properties" : {
    "id" : {
      "type" : "long"
    },
    "category" : {
      "type" : "keyword"
    },
    "name" : {
      "type" : "text"
    },
    "address" : {
      "type" : "text",
      "index": true,
      "analyzer": "ik_max_word",    //指定分词
      "search_analyzer": "ik_smart"  //指定搜索分词
    },
    "location" : {
      "type" : "geo_point"
    },
    "remark" : {
      "type" : "text",
      "index" : false
    },
    "create_time" : {
      "type" : "long"
    }
  }
}

当然也可以在创建索引的同时指定映射:

PUT /aoi
{
  "settings":{
   },
  "mappings":{
     "properties" : {}
  }
}

查看映射

通过Restful方式查看映射结果

GET /poi/_mapping
版权属于:小A 本文链接:https://xiaoa.me/archives/elasticsearch-5.html 转载申明:转载请保留本文转载地址,著作权归作者所有。

评论

等风等雨等你来