ElasticSearch 关于文档的操作
基本操作
添加数据
PUT /yang/user/1
{
"name": "张三",
"age": 16,
"hobby": ["编程","听歌"],
"desc": "爱拼才会赢"
}
GET /yang/user/1 //获取指定id的数据
更新数据
POST /yang/user/1/_update
{
"doc": {
"name": "张三666"
}
}
查询数据
1.简单查询
GET /yang/user/1 //获取指定id的数据
GET /yang/user/_search?q=name:张三666 //根据名字精确查询
2.复杂查询
GET /yang/user/_search
{
"query":{
"match": {
"name": "张三"
}
},
"_source": ["name","desc"]//过滤字段
"sort": [
{
"age": {
"order": "desc"
}
}
]//按照年龄降序排序
"from": 0,//从第几个值开始
"size": 1 //分页 //返回多少数据(一页展示多少条数据)
}
//多条件查询
GET /yang/user/_search
{
"query":{
"bool": {
"must": [ //should(or) must(and) must_not (not)
{
"match": {
"name": "张三"
}
},
{
"match": {
"age": 16
}
}
]
}
}
}
//过滤查询
//gt 大于
//gte 大于等于
//lt 小于
//lte 小于等于
GET /yang/user/_search
{
"query":{
"bool": {
"must": [
{
"match": {
"name": "张三"
}
}
],
"filter": [
{
"range": {
"age": {
"gte": 10,
"lte": 20
}
}
}
]
}
}
//匹配条件查询
GET /yang/user/_search
{
"query":{
"match": {
"hobby": "编 歌"
}
}
}
//高亮查询
GET /yang/user/_search
{
"query":{
"match": {
"name": "张三"
}
},
"highlight": {
"pre_tags": "<p class='key' style='color:red'>",
"post_tags": "</p>",
"fields": {
"name": {
}
}
}
}