当前位置: 首页 > news >正文

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" : "昵称"
 										}
 								}
 						]
        }
 }
}

相关文章:

  • C++大整数类的设计与实现
  • 点云配准技术的演进与前沿探索:从传统算法到深度学习融合(2)
  • 【Grok3】强化学习(Reinforcement Learning, RL)复习文档
  • Python 编程题 第二节:组合数字、乘法口诀表、水仙花数、反向输出四位数、判断三角形
  • 蓝桥杯 五子棋对弈
  • AI人工智能机器学习之神经网络
  • 人工智能丨大语言模型不再高不可攀!DeepSeek开源FlashMLA,开启AI新纪元
  • 验证码介绍及生成与验证(HTML + JavaScript实现)
  • 组件注册方式、传递数据
  • 实体机器人识别虚拟环境中障碍物
  • Layui页面粘贴的方法
  • python整理文件下
  • 对 flask 框架中的全局变量 request 探究
  • SQL_优化
  • JavaScript算法-合并两个有序链表
  • 多进程网络服务端详细说明文档
  • 计算机工具基础(五)——Vim
  • LeetCode 解题思路 3(Hot 100)
  • 操作定制万年历投屏模拟点单叫号器
  • 【机器学习】 [代码篇] 30. KNN - sklearn 以及 自定义KNN 的实现
  • 北京亦庄启动青年人才创新创业生态示范区
  • 辽宁省委书记、省长连夜赶赴辽阳市白塔区火灾事故现场,指导善后处置工作
  • 中国人保不再设监事会,国寿集团未再设置监事长职务
  • 秦洪看盘|上市公司业绩“排雷”近尾声,A股下行压力趋缓
  • 外交部:美方应在平等、尊重和互惠的基础上同中方开展对话
  • 比熬夜更伤肝的事,你可能每天都在做