一、mappings自定义创建映射
- 发送请求
{
"mappings":{
"properties":{
"username":{
"type":"text",
"index":true
},
"idcard":{
"type":"keyword",
"index":false
}
}
}}
- 获得结果
{
“acknowledged”: true,
“shards_acknowledged”: true,
“index”: “index_mapping”
}
这就说明创建映射成功了,在head中,我们可以看到索引信息
type类型为text和keyword都是字符串类型,但是text能被分词,keyword不能,index=true代表会被索引到,默认是true。
二、文档的查询
- 根据id查询单个
GET /index_demo/_doc/1
2. 查询所有
GET /index_demo/_doc/_search
- 元数据
- _index:文档数据所属那个索引,理解为数据库的某张表即可。
- _type:文档数据属于哪个类型,新版本使用 _doc 。
- _id:文档数据的唯一标识,类似数据库中某张表的主键。可以自动生成或者手动指定。
- _score:查询相关度,是否契合用户匹配,分数越高用户的搜索体验越高。
- _version:版本号。
- _source:文档数据,json格式。
- 定制结果集
GET /index_demo/_doc/1?_source=id,name GET /index_demo/_doc/_search?_source=id,name
- 判断文档是否存在
HEAD /index_demo/_doc/1
- 添加数据
- 查询以上的数据
http://47.107.41.60:9200/index_mapping/_doc/101
结果
{
"_index": "index_mapping",
"_type": "_doc",
"_id": "101",
"_version": 1,
"_seq_no": 0,
"_primary_term": 2,
"found": true,
"_source": {
"username": "小白",
"password": "1234"
}
}
三、乐观锁控制(if_seq_no和if_primary_term)
老版本的时候使用的是version,现在需要使用以上两个进行乐观锁控制。当修改的时候需要指定。
官网解说