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

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


http://www.kler.cn/a/567773.html

相关文章:

  • 双机热备旁挂组网实验
  • 现今大语言模型性能(准确率)比较
  • Kafka生产者相关
  • C# WinForm程序中如何调试dll接口
  • AI智能质检系统 工业AI视觉检测 找上海尤劲恩
  • 局域网自动识别机器名和MAC并生成文件的命令
  • RabbitMQ系列(二)基本概念之Publisher
  • Git GitHub基础
  • Cocos Creator Shader入门实战(二):GLSL语法和OpenGL流程
  • 计算机毕业设计SpringBoot+Vue.js英语知识应用网站(源码+文档+PPT+讲解)
  • React状态管理进阶(四):从Redux到原子革命的终极指南
  • ElasticSearch 是如何实现分布式的?
  • JavaScript基础 -- 函数
  • Hue Load Balance配置
  • C++Primer学习(4.8位运算符)
  • FFT算法详解与STM32实战应用:从原理到代码实现
  • Electron一小时快速上手
  • 算法-数据结构(图)-弗洛伊德算法复现(Floyd)
  • Java数据结构第十五期:走进二叉树的奇妙世界(四)
  • 深入解析Java字符串:常量池、内存管理与StringBuilder、StringBuffer操作类指南