一、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使用教程的更多相关文章

  1. ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程

    1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id  id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...

  2. elasticsearch安装教程

    目录 1 java8 环境 2 安装elasticsearch 3 安装kibana 4. 单服务器部署多个节点 参考: 1 java8 环境 elasticsearch需要安装java 8 环境,配 ...

  3. Elasticsearch入门教程(六):Elasticsearch查询(二)

    原文:Elasticsearch入门教程(六):Elasticsearch查询(二) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...

  4. Elasticsearch入门教程(五):Elasticsearch查询(一)

    原文:Elasticsearch入门教程(五):Elasticsearch查询(一) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...

  5. Elasticsearch入门教程(四):Elasticsearch文档CURD

    原文:Elasticsearch入门教程(四):Elasticsearch文档CURD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: ...

  6. Elasticsearch入门教程(三):Elasticsearch索引&映射

    原文:Elasticsearch入门教程(三):Elasticsearch索引&映射 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文 ...

  7. Elasticsearch入门教程(二):Elasticsearch核心概念

    原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...

  8. Elasticsearch入门教程(一):Elasticsearch及插件安装

    原文:Elasticsearch入门教程(一):Elasticsearch及插件安装 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...

  9. 最完整的Elasticsearch 基础教程

    翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT)        Ela ...

  10. Elasticsearch基础教程

    Reference: http://blog.csdn.net/cnweike/article/details/33736429 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概 ...

随机推荐

  1. 13、设计一个函数process,在你调用他的时候,每次实现不同的功能,输入a,b两个数, 第一次调用时找出a,b中的最大者。 第二次找出最小者,,第三次求两个数的和。

    /* 设计一个函数process,在你调用他的时候,每次实现不同的功能,输入a,b两个数, 第一次调用时找出a,b中的最大者. 第二次找出最小者,,第三次求两个数的和. */ #include < ...

  2. tostring、(string)和 String.valueOf()

    上周遇到一个问题,只怪自己平时没注意这个细节,从数据库取数据在map集合里,取出该值是我用了.tostring的方法,一次在当取出数据为空时代码报java.lang.NullPointerExcept ...

  3. dojo 访问 VS 创建的Json文件 汉字乱码

    通过VS创建了一个json文件,直接保存成了文件放到了Web根目录下. 通过dojo的dojo/request访问,返回的汉字都是乱码. 通过以下方案解决. 用记事本把josn文件打开,然后点击另存为 ...

  4. Vue快速上门(1)-基础知识图文版

    VUE家族系列: Vue快速上门(1)-基础知识 Vue快速上门(2)-模板语法 Vue快速上门(3)-组件与复用 01.基本概念 1.1.先了解下MVVM VUE是基于MVVM思想实现的,那什么是M ...

  5. 编程思想的转变 软件开发目录规范 collections、time、datetime、 random模块

    目录 编程思想的转变 软件目录开发规范(重要) 内置模块:collections模块 简介 具名元组 namedtuple 实现二维坐标系 实现扑克牌 队列与堆栈 collection.deque() ...

  6. 《HTTP权威指南》– 9.识别和认证

    客户端识别与Cookie机制 承载用户相关信息的HTTP首部 From Email地址 User-Agent 浏览器软件 Referer 跳转链接<来自> Author ziation 用 ...

  7. 自定义RBAC(5)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 把实体类及Service类都准备好了之后,就可以开始继续写业务代码了.Spring Security的强大之一就在于它的拦截器.那么这里也可以参 ...

  8. Jmeter ForEach 循环控制器

    ForEach Controller 即循环控制器,顾名思义是定义一种循环规则,如下图: 1.名称:控制器名称,可根据用户需要任意填写,也可不填 2.注释:用户可根据需要任意填写,也可不填 3.输入变 ...

  9. JavaScript:this指针

    this指针,存储的是一个内存地址,如同变量一样,指向一块内存区域: 而这个内存区域,保存的就是一个对象的数据,那么这个对象是什么呢? 通常来说,this指针,主要是用在方法(函数)中,用来指向调用方 ...

  10. HMS Core 3D流体仿真技术,打造移动端PC级流体动效

    移动设备硬件的高速发展,让游戏行业发生翻天覆地的变化,许多酷炫的游戏效果不再局限于电脑端,玩家在移动端就能享受到场景更逼真.画质更清晰.体验更流畅的游戏服务.但由于移动设备算力不足,为了实现真实感的水 ...