Mapping(映射->约束)
数据如何存放到索引对象上,需要有一个映射配置,包括:数据类型、是否存储、是否分词等。
Mapping用来定义Document中每个字段的类型,即所使用的分词器、是否索引等属性,非常关键等。创建Mapping 的代码示例如下:
PUT stu (stu类似于MySQL中的数据库名){"mappings": { (可以理解为建表语句 create table关键字)"_doc":{ (相当于MySQL中表名)"properties":{ (相当于建表语句中要指定字段及字段类型的关键字)"id":{ (相当于具体某个字段)"type":"keyword"("type"相当于要指定字段类型的关键字,"keyword "相当于字段的具体类型)},"name":{"type":"text"},"sex":{"type":"integer"},"birth":{"type":"date"}}}}}
PUT stu/_doc/1001{"id":"001","name":"红红","sex":0,"birth":"1999-01-01"}
GET stu/_search输出结果如下:{"took" : 9,"timed_out" : false,"_shards" : {"total" : 5, (切片总数)"successful" :"skipped" : 0,"failed" : 0},"hits" : { (命中)"total" : 1, (命中总数一条)"max_score" : 1.0, (数据在里面存储的时候是有一个评分,这个评分是按照搜索的关键字跟文章的匹配度得来的,如果这个关键字在文章中出现频率较高,这个分数也相应的较大)"hits" : [{"_index" : "stu","_type" : "_doc","_id" : "1001","_score" : 1.0,"_source" : { (具体的数据)"id" : "001","name" : "红红","sex" : 0,"birth" : "1999-01-01"}}]}}
