1 动态映射
在关系数据库中,需要事先创建数据库,然后在该数据库下创建数据表,并创建表字段、类型、长度、主键等,最后才能基于表插入数据。而Elasticsearch中不需要定义Mapping映射(即关系型数据库的表、字段等),在文档写入Elasticsearch时,会根据文档字段自动识别类型,这种机制称之为动态映射。 动态映射规则如下:DELETE /es_db
1.2 创建索引
PUT /es_db
1.3 创建文档(ES根据数据类型, 会自动创建映射)
PUT /es_db/_doc/1 { "name": "Jack", "sex": 1, "age": 25, "book": "java入门至精通", "address": "广州小蛮腰" }
1.4 获取文档映射
GET /es_db/_mapping
2 静态映射
静态映射是在Elasticsearch中也可以事先定义好映射,包含文档的各字段类型、分词器等,这种方式称之为静态映射。 2.1 删除原创建的索引DELETE /es_db
2.2 创建索引
PUT /es_db
2.3 设置文档映射
PUT /es_db { "mappings":{ "properties":{ "name":{"type":"keyword","index":true,"store":true}, "sex":{"type":"integer","index":true,"store":true}, "age":{"type":"integer","index":true,"store":true}, "book":{"type":"text","index":true,"store":true}, "address":{"type":"text","index":true,"store":true} } } }
2.4 根据静态映射创建文档
PUT /es_db/_doc/1 { "name": "Jack", "sex": 1, "age": 25, "book": "elasticSearch入门至精通", "address": "广州车陂" }
2.5 获取文档映射
GET /es_db/_mapping
注意:es文档核心数据类型如下。
字符串:string,string类型包含 text 和 keyword。 text:该类型被用来索引长文本,在创建索引前会将这些文本进行分词,转化为词的组合,建立索引;允许es来检索这些词,text类型不能用来排序和聚合。 keyword:该类型不能分词,可以被用来检索过滤、排序和聚合,keyword类型不可用text进行分词模糊检索。 数值型:long、integer、short、byte、double、float 日期型:date 布尔型:boolean
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。