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

Elasticsearch之基本API操作

Elasticsearch之基本API操作

创建索引:使用PUT请求,http://localhost:9200/ + 索引名称

创建索引的映射:PUT, http://localhost:9200/+索引名称+/_mapping

{
    "properties": {
        "name":{
        	"type": "text",
        	"index": true
        },
        "sex":{
        	"type": "keyword",
        	"index": true
        },
        "tel":{
        	"type": "keyword",
        	"index": false
        }
    }
}

查询映射:GET, http://localhost:9200/+索引名称+/_mapping

删除索引:使用DELETE请求,http://localhost:9200/ + 索引名称

获取索引:使用GET请求,http://localhost:9200/ + 索引名称

获取所有索引:使用GET请求,http://localhost:9200/_cat/indices?v

上传数据:使用POST请求,http://localhost:9200/ + 索引名称 + /_doc (+/3 指定数据的id,不加则使用默认生成的id),此处需要注意:如果增加数据时明确数据主键,那么请求方式也可以为 PUT

获取单条数据:使用GET请求,http://localhost:9200/+ 索引名称 +/_doc/+ 数据的id

获取索引下的所有数据:使用GET请求,http://localhost:9200/+ 索引名称 +/_search

修改数据:若要修改所有数据,跟上传数据一样,会自动覆盖之前的数据;若只修改部分数据,使用POST请求,http://localhost:9200/ + 索引名称 + /_update/+ id 文件格式为:

{
	"doc": {
		"键名":"值",
		"键名":"值"
	}
}

带参查询:URL带参,GET请求,http://localhost:9200/+索引名称+/_search/q=键名:值

请求体带参,GET请求,http://localhost:9200/+索引名称+/_search,附带JSON请求体:

查找符合条件的数据:
{
	"query":{
		"match":{
			"title":"一测"
		}
	}
}
全查:
{
	"query":{
		"match_all":{}
	}
}
查询指定字段:
{
	"query":{
		"match_all":{}
	},
	"_source":["键名"]
}
分页查询:
{
	"query":{
		"match_all":{}
	},
	"from":0,
	"size":2
}
排序查询:
{
	"query":{
		"match_all":{}
	},
	"sort":{
		"键名":{
			"order":"desc"//降序
		}
	}
}
多条件查询:
{
	"query":{
		"bool":{
			"must":[{
				"match":{
					"title":"一"
				}
			},{
				"match":{
					"id":9
				}
			}]
		}
	}
}
范围查询:
{
	"query":{
		"bool":{
			"should":[{
				"match":{
					"content":"它"
				}
			},{
				"match":{
					"title":"一"
				}
			}],
            "filter":{
            	"range":{
                	"id":{
                    	"gt":20//大于
                	}
	            }
    	    }
		}
	}
}
完全匹配:
{
	"query":{
		"match_phrase":{
			"title" : "一"
		}
	}
}
高亮查询:
{
	"query":{
		"match_phrase":{
			"title" : "一"
		}
	},
    "highlight":{
        "fields":{
            "title":{}//<----高亮这字段
        }
    }
}
聚合查询:
{
	"aggs":{//聚合操作
		"price_group":{//名称,随意起名
			"terms":{//分组
				"field":"price"//分组字段
			}
		}
	}"size":0//不附带原始结果
}
对某一字段求平均值:
{
	"aggs":{
		"price_avg":{//名称,随意起名
			"avg":{//求平均
				"field":"price"
			}
		}
	},
    "size":0
}

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

相关文章:

  • Word中截取部分内容并保存为jpg图片的方法
  • 串口收发字符/字符串
  • 阿里巴巴中国站获取1688app上原数据 API 返回值说明
  • 【hello C++】内存管理
  • 2023年最系统的自动化测试,测试开发面试题,10k以下不建议看
  • 一文搞定接口幂等性架构设计方案
  • docker资源管理
  • 华为OD机试真题(Java),最远足迹(100%通过+复盘思路)
  • nginx加tomcat动静分离,负载均衡
  • 看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题59螺旋矩阵II) 2023.4.20
  • 动态规划——最长非降子序列
  • 司空见惯 - 参加VOE问卷调查
  • Nginx之正则表达式、location匹配简介以及rewrite重写
  • TortoiseSVN使用-权限配置
  • 机器思维(个人总结)
  • 【U8+】用友U8+对账不平案例及方法总结
  • 获得将要生成的资源的GUID
  • js 把base64转file文件
  • 基于高德导航的大作业
  • 在更高的起点创业 专访Aqara重庆服务商,探问「经营秘籍」