ElasticSearch

ES核心概念

elasticsearch是面向文档,关系型数据库和elasticsearch客观的对比!一切都是json

关系型数据库ElasticSearch
数据库(database)索引(indices)
表(tables)类型(types)【即将弃用】
行(rows)文档(documents)
字段(columns)字段(fields)

命令模式的使用(RESTFUL风格)

methodurl地址描述
PUTlocalhost:9200/索引名称/类型名称/文档id创建文档(指定文档id)
POSTlocalhost:9200/索引名称/类型名称创建文档(随机文档id)
POSTlocalhost:9200/索引名称/类型名称/文档id/_update修改文档
DELETElocalhost:9200/索引名称/类型名称/文档id删除文档
GETlocalhost:9200/索引名称/类型名称/文档id通过文档id查询文档
POSTlocalhost:9200/索引名称/类型名称/_search查询所有的数据

数据类型

  • 字符串类型:text、keyword
  • 数值类型:long、integer、short、byte、double、float、half float、scaled、float
  • 日期类型:date
  • 布尔值类型:boolean
  • 二进制类型:binary
  • 等等…

代码示例

# 创建索引(建库)
PUT /test1
# 建库时可以不加类型只定义规则,属性。因为之后版本可能对类型弃用
# mappings就是一个映射规则
{
	"mappings" : {
		"properties" : { 
			"name": {
				"type":"text"
			},
			"age" : {
				"type" : "long"
			},
			"birthday" : {
				"type" : "date"
			}
		}
	}		
}

# 插入/修改文档(数据)
PUT /user/type1/1
{
	"name":"MID"
	"age":25
}

在这里插入图片描述
在这里插入图片描述

# 修改文档【推荐】
POST /user/type1/1/_update
{
	"doc":{
		"age":23
	}	
}

# 删除
DELETE test1

#获得文档(数据)
GET test1

在这里插入图片描述

# 搜索(q代表查询条件query)
GET kuangshen/user/_search?q=name:MID

GET kuangshen/user/_search
{
	"query": {
		"match":{
		# 多条件可以用空格分割
			"name":"MID qiancheng"
		}
	},
	# 结果过滤相当于select name 
	"_source": ["name"],
	# 高亮
	"hightlight":{
		"pre_tags": "<a>",
		"post_tags":"</a>",
		"fields":{
			"name":{}
		}
	}
}


GET kuangshen/user/_search
{
	"query": {
		"match":{
			"name":"MID"
		}
	},
	# 排序
	"sort":[
	{"age": {"order":"asc"}}
	],
	# 分页
	"from": 0,
	"size": 5
}

GET kuangshen/user/_search
{
	"query": {
		"bool":{
			"should":[
			 {
			 	"match":{
			 		"name":"MID"
			 	}
			 },
			 {
			 	"match":{
			  		"age":23
			  	}
			  }
			],
			# 类似between .. and ..
			"filter:{
				"range":{
					"age":{
						"gte": 1,
						"lte": 20
					}
				}
			}
		}
	}
}

# 通过命令elasticsearch索引情况!
GET _cat/方法

在这里插入图片描述

查找分为term和match两种查找,
前者【term】精确查找
后者【match】会使用分词器解析!(先分析文档,然后在通过分析的文档进行查询!)

SpringBoot

1、创建索引
在这里插入图片描述
2、获取索引
在这里插入图片描述
3、删除索引
在这里插入图片描述
4、添加文档
在这里插入图片描述
5、获取文档信息
在这里插入图片描述
6、更新文档信息
在这里插入图片描述
7、删除文档信息
在这里插入图片描述
8、批量插入【删除、更新,根据传递的参数而定】
在这里插入图片描述
9、查找

searchRequest 搜索请求
searchSourceBuilder 条件构造

在这里插入图片描述
本文基于狂神说学习整理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值