ES 客户端 API 二次封装思想
ES 客户端 API 二次封装思想
网页端 : ip+5601
索引创建
数据新增
数据查询
数据删除
因为json串会出现在代码中,为了让用户更容易去添加数据所以去封装它。
思想:为了让json串变得更加容易添加,封装最主要是为了简化正文的构造过程
POST /user/_doc //让用户可以指定索引名称 指定索引类型
{
"settings" : { //让用户添加
"analysis" : {
"analyzer" : {
"ik" : {
"tokenizer" : "ik_max_word"
}
}
}
},
"mappings" : {
"dynamic" : true,
"properties" : {
"nickname" : { //让用户能增加类型
"type" : "text", //让用户能对字段设置类型
"analyzer" : "ik_max_word" //设置分词器类型 是否构造索引
},
"user_id" : {
"type" : "keyword",
"analyzer" : "standard"
},
"phone" : {
"type" : "keyword",
"analyzer" : "standard"
},
"description" : {
"type" : "text",
"enabled" : false
},
"avatar_id" : {
"type" : "keyword"
"enabled" : false
}
}
}
}
让用户可以指定索引名称 指定索引类型
让用户添加类型
让用户能对字段设置类型
设置分词器类型 是否构造索引
数据的新增
POST /user/_doc/0001
{
"nickname": "张三",
"phone":"123456798"
}
提供用户新增数据的接口以及发起请求的接口。
数据的删除
DELETE /user/_doc/0001
数据的查询
GET /user/_doc/_search?pretty
{
"query" : {
"bool" : {
"must_not" : [
{
"terms"//精确匹配 : {
"user_id.keyword" : [
"USER4b862aaa-2df8654a-7eb4bb65-e3507f66",
"USER14eeeaa5-442771b9-0262e455-e4663d1d",
"USER484a6734-03a124f0-996c169dd05c1869"
]
}
}
],
"should" : [
{
"match"//分词匹配 : {
"user_id" : "昵称"
}
},
{
"match" : {
"nickname" : "昵称"
}
},
{
"match" : {
"phone" : "昵称"
}
}
]
}
}
}