elasticsearch 常用语法汇总

文章目录

  • 前言
    • elasticsearch 常用语法汇总
      • 1. 创建索引
      • 2. 检索索引信息
      • 3. 删除索引
      • 4. 文档操作
        • 4.1. 对blog_new索引指定文档ID新增
        • 4.2. 对blog_new索引不指定文档ID新增,随机文档ID:
        • 4.3. 获取文档
        • 4.4. 更新文档
        • 4.5. 删除文档
      • 5. 查询
        • 5.1. 匹配查询
        • 5.2. 范围查询
        • 5.3. 布尔查询
        • 5.4. 分页查询

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


elasticsearch 常用语法汇总

1. 创建索引

PUT /<index_name>

示例:

PUT /<index_name>
{"settings": {"number_of_shards": 10,  // 将主分片数量"number_of_replicas": 1  // 根据需要设置副本数量}
}

在这里插入图片描述

2. 检索索引信息

GET /<index_name>

在这里插入图片描述

3. 删除索引

DELETE /<index_name>

在这里插入图片描述

4. 文档操作

测试:索引:blog_new

4.1. 对blog_new索引指定文档ID新增
POST /blog_new/_doc/文档ID
{"title": "jstat命令查看jvm的GC信息6","content": "jstat命令查看jvm的GC信息99999999999923213","author": "uuuuu","publish_date": "2024-04-26","tags": ["Elasticsearch", "Search", "Tutorial"]
}

在这里插入图片描述

4.2. 对blog_new索引不指定文档ID新增,随机文档ID:
POST /blog_new/_doc
{"title": "jstat命令查看jvm的GC信息6","content": "jstat命令查看jvm的GC信息99999999999923213","author": "uuuuu","publish_date": "2024-04-26","tags": ["Elasticsearch", "Search", "Tutorial"]
}

在这里插入图片描述

4.3. 获取文档
GET /<index_name>/_doc/<document_id>

在这里插入图片描述

4.4. 更新文档
POST /<index_name>/_update/<document_id>
{"doc": {"field1": "new_value1","field2": "new_value2",...}
}

在这里插入图片描述
获取文档:
在这里插入图片描述

4.5. 删除文档
DELETE /<index_name>/_doc/<document_id>

在这里插入图片描述

5. 查询

在Elasticsearch中,搜索文档通常涉及构建一个查询DSL,以指定要搜索的内容和搜索条件。查询DSL可以包含不同类型的查询,如匹配查询、范围查询、布尔查询,聚合查询等

5.1. 匹配查询
# 匹配查询
GET /blog_new/_search
{"query": {"match": {"author": "糖炒栗子"}},"size": 1000 //设置查询返回数
}

"match"查询:
1、作用:用于在文本字段中执行全文搜索,查找包含指定词语或短语的文档。
2、使用场景:适用于执行基于文本内容的搜索,比如在文章标题、正文或作者名中查找特定关键词。
3、示例:“match”: { “field_name”: “search_term” }
在这里插入图片描述

5.2. 范围查询
{"query": {"range": {"age": {"gte": 18,"lte": 30}}},"size": 1000 //设置查询返回数
}
  • “range”:指定进行范围查询。
  • “age”:指定要进行范围查询的字段名。
  • “gte”:表示大于或等于(Greater Than or Equal to),即最小值。
  • “lte”:表示小于或等于(Less Than or Equal to),即最大值。

示例:

GET /blog_new/_search
{"query": {"range": {"content": {"gte": "18","lte": "300"}}},"size": 1000 //设置查询返回数
}

在这里插入图片描述

5.3. 布尔查询
{"query": {"bool": {"must": [{ "match": { "title": "Elasticsearch" }},{ "range": { "publish_date": { "gte": "2022-01-01" }}}],"must_not": [{ "match": { "status": "draft" }}],"should": [{ "match": { "author": "John Doe" }}],"minimum_should_match": 1}},"size": 1000 //设置查询返回数
}

在这个示例中,我们使用了布尔查询来构建复杂的查询逻辑,包括以下几个部分:

  • must:指定了所有这些条件都必须满足的查询子句。在示例中,文档的标题必须包含"Elasticsearch",并且发布日期必须在2022年1月1日之后。
  • must_not:指定了文档不能匹配的条件。在示例中,文档的状态不能是"draft"。
  • should:指定了一个可选条件,如果满足则增加文档的匹配分数。在示例中,作者是"John Doe"的文档将得到一定的优先级,但不是必须的。
  • minimum_should_match:指定了至少满足几个"should"查询条件,默认是0。在示例中,至少有一个"should"查询条件必须满足。

这个布尔查询的示例展示了如何利用布尔逻辑组合多个条件,以精确地过滤和排序文档。您可以根据实际需求修改查询条件和逻辑,以实现您想要的查询效果。
示例:

GET /blog_new/_search
{"query": {"bool": {"must":[{"match": {      "tags": "Elasticsearch"    }},{"range": {   "content": {"gte": "18","lte": "300"  }}}],"must_not": [{ "match": { "author": "yangzhenyu" }}],"should": [{ "match": { "author": "糖炒栗子" }}],"minimum_should_match": 1}}
}

在这里插入图片描述

5.4. 分页查询

您可以使用"from"和"size"参数来实现分页:

  • "from"参数指定了查询结果中的偏移量,即从哪个文档开始返回结果。
  • "size"参数指定了每页返回的文档数。

例如,如果您想要获取第一页的结果,每页返回10个文档,您可以将"from"设置为0,"size"设置为10。如果想获取第二页的结果,您可以将"from"设置为10,"size"设置为10,以此类推。
以下是一个示例查询的JSON格式,其中包括了设置分页参数的部分。

{"query": {// 查询条件},"from": 0,  // 从第一个文档开始"size": 10  // 返回10个文档
}

示例:

GET /blog_new/_search
{"query": {"bool": {"must":[{"match": {      "tags": "Elasticsearch"    }},{"range": {   "content": {"gte": "18","lte": "300"  }}}]}},"from":0,"size": 1000
}

在这里插入图片描述

GET /blog_new/_search
{"query": {"bool": {"must":[{"match": {      "tags": "Elasticsearch"    }},{"range": {   "content": {"gte": "18","lte": "300"  }}}]}},"from":343,"size": 1000
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HackMyVM-Vulny

目录 信息收集 arp nmap nikto WEB信息收集 主页信息收集 gobuster RCE漏洞 反弹shell 提权 系统信息收集 横向渗透 flock提权 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC…

从NuGet获取OpenTK

OpenTK是一个开源、跨平台的游戏开发库&#xff0c;由MonoGame团队创建。它为C#开发者提供了一个简单易用的接口&#xff0c;以便使用OpenGL、OpenAL和OpenCL进行3D渲染、音频处理和并行计算。OpenTK的目标是提供一个一致且高效的框架&#xff0c;让开发者能够专注于构建他们的…

鸿蒙(HarmonyOS)性能优化实战-Trace使用教程

概述 OpenHarmony的DFX子系统提供了为应用框架以及系统底座核心模块的性能打点能力&#xff0c;每一处打点即是一个Trace&#xff0c;其上附带了记录执行时间、运行时格式化数据、进程或线程信息等。开发者可以使用SmartPerf-Host调试工具对Trace进行解析&#xff0c;在其绘制…

arcgis js 4.x加载SceneLayer并实现基于属性查询定位及高亮

一、代码 <!DOCTYPE html> <html> <head><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1,maximum-scale1,user-scalableno"><title></title><link rel…

python批量删除文件

python批量删除文件 1、查询与删除2、添加模块到地址中3、批量删除多个路径中不需要导出的文件 1、查询与删除 mport osdef get_files_in_folder(folder_path):files []for file in os.listdir(folder_path):if os.path.isfile(os.path.join(folder_path, file)):files.appen…

微信小程序:5.数据绑定

在Data中定义数据早wxml中进行数据使用 在data中定义数据 在页面对应的js对象中找到data&#xff0c;然后把数据进行定义即可 Page({data: {motto: Hello World,userInfo: {avatarUrl: defaultAvatarUrl,nickName: ,},hasUserInfo: false,canIUseGetUserProfile: wx.canIUse…

关于OSPF报文学习

目录 一.OSPF学习补充 &#xff08;1&#xff09;OSPF报文头部 &#xff08;2&#xff09;ospf建立邻居关系 1.Hello报文——建立邻居关系 2.hello报文头部 &#xff08;3&#xff09;OSPF建立邻接关系 1.发送DD报文 2.DD报文头部 &#xff08;4&#xff09;关于DR,BD…

pyqt QSplitter控件

pyqt QSplitter控件 QSplitter控件效果代码 QSplitter控件 PyQt中的QSplitter控件是一个强大的布局管理器&#xff0c;它允许用户通过拖动边界来动态调整子控件的大小。这个控件对于创建灵活的、用户可定制的用户界面非常有用。 QSplitter控件可以水平或垂直地分割其包含的子…

Bytebase 2.16.0 - 支持 Oracle 和 SQL Server DML 变更的事前备份

&#x1f680; 新功能 支持 Oracle 和 SQL Server DML 变更的事前备份。 支持在 SQL 编辑器中显示存储过程和函数。 支持兼容 TDSQL 的 MySQL 和 PostgreSQL 版本。 支持把数据库密码存储在 AWS Secrets Manager 和 GCP Secret Manager。 支持通过 IAM 连接到 Google Clou…

目标检测与追踪AI算法模型及边缘计算智能分析网关V4的算法应用

目标检测与追踪是计算机视觉领域中的一个重要任务&#xff0c;主要用于识别图像或视频中的目标&#xff0c;并跟踪它们的运动轨迹。针对这一任务&#xff0c;有许多先进的AI算法模型&#xff0c;例如&#xff1a; YOLO&#xff08;You Only Look Once&#xff09;&#xff1a;…

分布式版本控制系统——Git

分布式版本控制系统——Git 一、Git安装二、创建版本库三、将文件交给Git管理四、Git的工作区和暂存区1.工作区&#xff08;Working Directory&#xff09;2.版本库 五、版本回退和撤销修改1.版本回退2.撤销修改 六、删除文件七、常用基础命令总结八、参考 分布式版本控制系统&…

Qt应用程序直接在没有环境的windows系统电脑上运行

参考&#xff1a;QT 发布应用程序 在没有安装QT的电脑上运行程序 文章目录 创建一个空的文件夹test将可执行程序exe拷贝到test打开对应qt命令行输入 windeployqt e:\test\exename.exe 创建一个空的文件夹test 将可执行程序exe拷贝到test 打开对应qt命令行 输入 windeployqt e:…

Docker共享Nginx配置文件

先去一个容器中&#xff0c;找到Nginx.conf配置文件的目录 去创建一个容器&#xff0c;将容器中存放nginx.conf的目录挂载到宿主机存放nginx.conf目录上 去宿主机中找到nginx/html/index.html目录位置 进入宿主机的index.html中修改页面内容 curl 192.168.91.106访问一下 进入…

小项目-词法分析器

小项目-词法分析器 1.理论 一个完整的编译器&#xff0c;大致会经历如下几个阶段 各个阶段的职责&#xff0c;简单描述如下&#xff1a; 词法分析&#xff1a;对源文件进行扫描&#xff0c;将源文件的字符划分为一个一个的记号(token) (注&#xff1a;类似中文中的分词)。 语…

Eagle for Mac:强大的图片管理工具

Eagle for Mac是一款专为Mac用户设计的图片管理工具&#xff0c;旨在帮助用户更高效、有序地管理和查找图片资源。 Eagle for Mac v1.9.2中文版下载 Eagle支持多种图片格式&#xff0c;包括JPG、PNG、GIF、SVG、PSD、AI等&#xff0c;无论是矢量图还是位图&#xff0c;都能以清…

EasyRecovery数据恢复软件2025激活码及下载使用步骤教程

EasyRecovery数据恢复软件是一款功能强大且用户友好的数据恢复工具&#xff0c;专为帮助用户找回因各种原因丢失的数据而设计。该软件由全球知名的数据恢复技术公司开发&#xff0c;经过多年的技术积累和更新迭代&#xff0c;已经成为行业内备受推崇的数据恢复解决方案。 EasyR…

【定制化体验:使用Spring Boot自动配置,打造个性化Starter】

项目结构 Pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4…

SpringBoot---------整合Redis

目录 第一步&#xff1a;引入依赖 第二步&#xff1a;配置Redis信息 第三步&#xff1a;选择Spring Data Redis进行操作Redis数据库 ①操作String类型数据&#xff08;用的少&#xff09; ②操作Object类型数据&#xff08;重要&#xff01;&#xff01;&#xff01;&#x…

[iOS]使用CocoaPods发布私有库

1.创建私有 Spec 仓库 首先&#xff0c;需要一个私有的 Git 仓库来存放你的 Podspec 文件&#xff0c;这个仓库用于索引你所有的私有 Pods。 在 GitHub 或其他 Git 服务上创建一个新的私有仓库&#xff0c;例如&#xff0c;名为 PrivatePodSpecs。克隆这个仓库到本地&#xf…