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有几个核心概念.从一开始理解这些概 ...
随机推荐
- minio API demo
package mainimport ( "context" "fmt" "github.com/minio/minio-go/v7" &q ...
- requests模块/openpyxl模块/简单爬虫实战
内容概要 第三方模块的下载及使用 网络爬虫及requests模块 网络爬虫实战爬取二手房信息 自动化办公领域模块openpyxl 练习题及答案 第三方模块的下载 第三方模块就类似与别人写好的模块,我们 ...
- 【大数据面试】【框架】Linux命令、Shell工具、常见Shell脚本(群起脚本、数仓导入)
一.Linux 1.常用高级命令 ps -ef:查看进程详情,ps -ef|grep dae可以搜索指定进程,-e表示环境变量 ps -au:以用户为主的详细格式,显示进程平均占用资源,不包括cmd列 ...
- python算法初步(一)
python算法初步(一) 冒泡排序 时间效率O(n²)原理:依次比较相邻两个位置的元素大小,然后按照要求交换位置. #从中选出一个数据(作为最小数据),然后和其他的数据依次比较,如果有更小的数据,那 ...
- 多种方法实现单例模式 pickle模块
目录 单例模式 类方法@classmethod实现 元类实现 模块实现 装饰器实现 双下call.反射实现 pickle序列化模块 单例模式 比如系统调用打印机,不管你要打印几次,都是调用同一个打印机 ...
- dotTrace工具
1.dotTrace简介: (1)dotTrace是一个包含了可用于.NET应用程序的性能分析器(dotTrace Performance)和内存分析器(dotTrace Memory)的套件: (2 ...
- js获取当前年月日时分
function GetDate(){ var now = new Date(); var year = now.getFullYear(); //年 var month = now.getMonth ...
- 基于 Traefik 的激进 TLS 安全配置实践
前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易. Traefik可以与现有的多种基础设施组件(Docker.Swarm模式.Kubernetes.Marathon. ...
- Young's theorem杨氏定理
杨氏定理 定理叙述 参考百度百科. Young's Theorem: Let \(f\) be a differentiable function of \(n\) variables. If eac ...
- [python] tensorflow中的argmax()函数argmax()函数
首先 import tensorflow as tf tf.argmax(tenso,n)函数会返回tensor中参数指定的维度中的最大值的索引或者向量.当tensor为矩阵返回向量,tensor为向 ...