ElasticSearch使用教程
一、ElasticSearch使用说明
1. 索引 index,相当于数据库表Table
1.1 查看所有索引
GET _cat/indices?v
1.2 创建索引字段映射关系
PUT /test
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
"properties": {
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"age": {
"type": "long"
},
"address": {
"type": "keyword"
},
"birthday": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
}
}
1.3 获取索引信息
# 获取所有信息
GET /test
# 获取设置信息
GET /test/_settings
# 获取映射关系
GET /test/_mappings
1.4 添加索引字段
POST /test/_mappings
{
"properties": {
"remark": {
"type": "text"
}
}
}
1.5 删除索引
DELETE /test
2. 文档 doc,相当于数据行Row
2.1 添加数据
POST test/_doc
{
"name": "dennis",
"age": "18",
"birthday": "2022-09-27 11:28:06",
"address": "上海市杨浦区隆昌路666号"
}
2.2 修改数据(全量)
PUT test/_doc/<id>
{
"name": "dennis1",
"age": "188",
"birthday": "2022-09-27 11:28:06",
"address": "上海市杨浦区隆昌路888号"
}
2.3 修改数据(局部)
POST test/_update/<id>
{
"doc": {
"name": "上海",
"age": "20"
}
}
2.4 删除数据
DELETE /test/_doc/<id>
2.5 查询全部数据
GET test/_search
{
"query": {
"match_all": {}
}
}
2.6 分词查询(text类型的字段才支持分词查询)
GET test/_search
{
"query": {
"match": {
"name": "海"
}
}
}
2.7 精确查询
GET test/_search
{
"query": {
"match": {
"name.keyword": "上海"
}
}
}
3. 复合查询
3.1 多条件查询(and)
GET test/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"name": {
"value": "dennis"
}
}
},
{
"query_string": {
"default_field": "address",
"query": "上海"
}
}
]
}
}
}
3.2 多条件查询(or)
GET test/_search
{
"query": {
"bool": {
"should": [
{
"term": {
"name": {
"value": "dennis"
}
}
},
{
"query_string": {
"default_field": "address",
"query": "is"
}
}
]
}
}
}
3.3 分组查询
# 汇总条目
GET test/_search
{
"aggs": {
"age_group": {
"terms": {
"field": "age"
}
}
},
"size": 0
}
# 平均值
GET test/_search
{
"aggs": {
"age_group": {
"avg": {
"field": "age"
}
}
},
"size": 0
}
ElasticSearch使用教程的更多相关文章
- ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程
1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...
- elasticsearch安装教程
目录 1 java8 环境 2 安装elasticsearch 3 安装kibana 4. 单服务器部署多个节点 参考: 1 java8 环境 elasticsearch需要安装java 8 环境,配 ...
- Elasticsearch入门教程(六):Elasticsearch查询(二)
原文:Elasticsearch入门教程(六):Elasticsearch查询(二) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- Elasticsearch入门教程(五):Elasticsearch查询(一)
原文:Elasticsearch入门教程(五):Elasticsearch查询(一) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- Elasticsearch入门教程(四):Elasticsearch文档CURD
原文:Elasticsearch入门教程(四):Elasticsearch文档CURD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: ...
- Elasticsearch入门教程(三):Elasticsearch索引&映射
原文:Elasticsearch入门教程(三):Elasticsearch索引&映射 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文 ...
- Elasticsearch入门教程(二):Elasticsearch核心概念
原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...
- Elasticsearch入门教程(一):Elasticsearch及插件安装
原文:Elasticsearch入门教程(一):Elasticsearch及插件安装 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- 最完整的Elasticsearch 基础教程
翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Ela ...
- Elasticsearch基础教程
Reference: http://blog.csdn.net/cnweike/article/details/33736429 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概 ...
随机推荐
- Complementary XOR
题目链接 题目大意: 给你两个字符串只有01组成,你可以选取区间[l, r],对字符串a在区间里面进行异或操作,对字符串b非区间值进行异或操作,问能否将两个字符串变为全0串.如果可以输出YES, 操作 ...
- 2022春每日一题:Day 33
题目:[USACO 6.1.3] Cow XOR 没找到这题具体网址,这个题就是求最大异或区间(总长度尽量小,右端点尽量大) 嗯很显然一个[l,r]的异或和=s[r]s[l-1],那么现在有了优秀的n ...
- Python冷知识:如何找出新版本增加或删除了哪些标准库?
"内置电池"是 Python 最为显著的特性之一,它提供了 200 多个开箱即用的标准库.但是,历经了 30 多年的发展,很多标准库已经成为了不得不舍弃的历史包袱,因为它们正在&q ...
- 是时候考虑升级 JDK 17 了
Spring,作为 Java EE 的事实规范,在2022年11月16日发布了最新的 6.0.0 GA 版本.这个版本是框架后续新生代的初始版本,拥抱持续创新的 OpenJDK 和 Java 生态.新 ...
- 简单使用Nginx反向代理和负载均衡
配置文件主要是三点: events . http . server 配置反向代理和负载均衡策略 #配置tomcat的IP地址和访问端口||负载均衡:权重就是比例 upstream guotong { ...
- 用excel表画一个乐高
一.背景:在商场看到一个超级玛丽的乐高图感觉使用excel的颜色填充也能画出来,并且可以借助python来实现 二.excel表如何绘制正方形:1.统一设置行高与列宽excel表单元格的行与列的默认计 ...
- 关于Mybatis-Plus中update()、updateById()方法的使用及null值的判断
使用场景说明: 在 Mybatis-Plus 的使用过程中,经常会遇对数据库更新的情况 更新常用方法:update().updateById() 问题:经常会遇见对 null 值的处理,对传入的实体参 ...
- uniapp input框聚焦时软键盘弹起整个页面上滑,固定页面不让上滑问题
根据需求,软键盘弹起时,不允许页面整体向上滑动 用到的属性是: :adjust-position="false" uni-app 软键盘顶起底部fixed定位的输入框 页面就不会 ...
- 万万没想到,go的数据库操作,也能像php一样溜了
Hi,各位go的小伙伴. 很多人都是从php转过来的吧,不知道你们有没有发现,go界的orm并没有像php的orm一样好用.这篇文章里,我们认真的讨论下这个问题,并且会在后面提出解决方案. php的方 ...
- GitHub - 电脑经常无法访问GitHub页面
来自这里 1.打开Dns检测|Dns查询 - 站长工具2.在检测输入栏中输入http://github.com官网3.把检测列表里的TTL值最小的IP输入到host里,并对应写上github官网域名. ...