es基本操作使用

es基本操作使用

es映射关系(对应数据库)

关系型数据库(比如Mysql)    非关系型数据库(Elasticsearch)
数据库Database                   索引Index
表Table                          类型Type
数据行Row                      文档Document
数据列Column                    字段Field
约束 Schema                      映射Mapping

————————————————
1.创建索引

PUT /索引名/类型名/文档id
{
    请求体
}

创建索引时指定属性名,即映射关系

PUT /索引名/类型名/文档id
{
    "mappings":{
    	"属性名":{
    		"type":"相关值""index":true,//是否索引,通过索引可以查询到
    			"store":false//备份
    	}
    }
}

2.修改索引

POST /索引名/类型名/文档id/_update
{
	"doc":{
		"属性名":"修改值"
	}
}

3.删除索引

DELETE /索引名/类型名/文档id

eg:delete /test/type1/1,表示删除test索引库中类型(表)为type1中id属性为1的document(记录)。
4.查询索引

GET /索引名/类型名/_search
{
	"query":{
		"match":{
			"name":"张三"
		}
	}
}

表示查询某一个属性名为name的值为张三的document。
同时通过**_source**属性实现字段的显示或不显示

GET /索引名/类型名/_search
{
	"query":{
		"match":{
			"name":"张三"
		}
	},
	"_source":["name","age"]
}

表示查询结果只显示name和age字段
5.索引排序

GET /索引名/类型名/_search
{
	"query":{
		"match":{
			"name":"张三"
		}
	},
	"sort":{
		"age":{
			"order":"desc"
		}
	}
	
}

按照age字段降序
6.分页查询

GET /索引名/类型名/_search
{
	"query":{
		"match":{
			"name":"张三"
		}
	}"from":0,//第几页
	"size":10//每一页的记录数	
}

表示从第0业查询,每一页10条记录
7.bool查询

GET /索引名/类型名/_search
{
	"query":{
		"bool":{
			"must":[
				"match":{
					"name":"张三"
				},
				"match":{
					"age":18
				}
			]
		}
	}
}

其中,还有should,must_not
8.过滤器
过滤器一般和数值操作有关,是将查询出来的数据进行过滤

GET /索引名/类型名/_search
{
	"query":{
		"bool":{
			"must":[
				"match":{
					"name":"张三"
				}
			]
		}"filter":{
			"range":{
				"age":{
					"gte":19,//大于等于
					"lte":25//小于对于
				}
			}
		}
	}
}

注意:keyword和text,keyword是整个数据作为索引,不会进行分词

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值