ES(2)基本使用

文章目录

  • 创建索引
  • 查询索引
    • 查询 shopping索引
    • 查询所有索引
  • 删除索引
  • 数据操作
    • 添加
    • 查询
      • 查询指定id数据
    • 查询所有数据
    • 修改
      • 完全覆盖
      • 局部修改
    • 删除
  • 复杂查询操作
    • 条件查询
      • 根据字段名和值查询对应数据
      • 全量查询
      • 分页查询
      • 显示指定字段
      • 排序查询
    • 多条件查询
      • must(and)
      • filter (where)
    • 完全匹配
    • 高亮查询
    • 聚合查询
      • 分组
      • 求平均

创建索引

创建索引等同于创建数据库

创建一个shopping的索引需要 在Postman中,向ES服务器发送 PUT 请求:

http://127.0.0.1:9200/shopping

{"acknowledged": true,"shards_acknowledged": true,"index": "shopping"
}

PUT 具有幂等性再次请求相同名称的索引会出现问题,提示你重复了。

查询索引

查询 shopping索引

获取 shopping 索引相关信息。
GET 请求发送

http://127.0.0.1:9200/shopping

{"shopping": {"aliases": {},"mappings": {},"settings": {"index": {"routing": {"allocation": {"include": {"_tier_preference": "data_content"}}},"number_of_shards": "1","provided_name": "shopping","creation_date": "1670935714623","number_of_replicas": "1","uuid": "vC5bzEg2SK-yTYK20D2jMA","version": {"created": "7160299"}}}}
}

查询所有索引

GET http://127.0.0.1:9200/_cat/indices?v

health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .geoip_databases 2iBY2CVPTaSv3xUEjYU_2g   1   0         40            0       38mb           38mb
yellow open   shopping         vC5bzEg2SK-yTYK20D2jMA   1   1          0            0       226b           226b

删除索引

DELETE http://127.0.0.1:9200/shopping

{"acknowledged": true
}

数据操作

添加

POST http://127.0.0.1:9200/shopping/_doc/1001 并且传递json参数

{"title":"小米手机","category":"小米","images":"1.png","price":1999
}

_doc 文档数据

/1001 指定id

id可以不填发送 http://127.0.0.1:9200/shopping/_doc 会随机创建id

返回json

{"_index": "shopping","_type": "_doc","_id": "1001","_version": 1,"result": "created","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 1,"_primary_term": 1
}

查询

查询指定id数据

GET http://127.0.0.1:9200/shopping/_doc/1001 无需携带body

{"_index": "shopping","_type": "_doc","_id": "1001","_version": 1,"_seq_no": 1,"_primary_term": 1,"found": true,"_source": {"title": "小米手机","category": "小米","images": "1.png","price": 1999}
}

查询所有数据

GET http://127.0.0.1:9200/shopping/_search 无需携带body

{"took": 173,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 2,"relation": "eq"},"max_score": 1.0,"hits": [{"_index": "shopping","_type": "_doc","_id": "nveSC4UBUGCCAe-4B2he","_score": 1.0,"_source": {"title": "小米手机","category": "小米","images": "1.png","price": 1999}},{"_index": "shopping","_type": "_doc","_id": "1001","_score": 1.0,"_source": {"title": "小米手机","category": "小米","images": "1.png","price": 1999}}]}
}

修改

完全覆盖

PUT http://127.0.0.1:9200/shopping/_doc/1001

{"title":"小米手机","category":"小米","images":"1.png","price":4999
}

返回json

{"_index": "shopping","_type": "_doc","_id": "1001","_version": 2,"result": "updated","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 2,"_primary_term": 1
}

局部修改

POST http://127.0.0.1:9200/shopping/_update/1001

{"doc":{"title":"华为手机"}
}

返回json

{"_index": "shopping","_type": "_doc","_id": "1001","_version": 3,"result": "updated","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 3,"_primary_term": 1
}

删除

DELETE http://127.0.0.1:9200/shopping/_doc/1001

{"_index": "shopping","_type": "_doc","_id": "1001","_version": 4,"result": "deleted","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 4,"_primary_term": 1
}

复杂查询操作

条件查询

根据字段名和值查询对应数据

GET http://127.0.0.1:9200/shopping/_search

{"query":{"match":{"category":"小米"}}
}

返回json

{"took": 6,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 1,"relation": "eq"},"max_score": 0.26706278,"hits": [{"_index": "shopping","_type": "_doc","_id": "nveSC4UBUGCCAe-4B2he","_score": 0.26706278,"_source": {"title": "小米手机","category": "小米","images": "1.png","price": 1999}}]}
}

全量查询

GET http://127.0.0.1:9200/shopping/_search

{"query":{"match_all":{}}
}

分页查询

GET http://127.0.0.1:9200/shopping/_search

{"query":{"match_all":{}},"from":0,   // 偏移量"size":2    // 每页数量
}

显示指定字段

GET http://127.0.0.1:9200/shopping/_search

{"query":{"match_all":{}},"from":0,   // 偏移量"size":2,    // 每页数量"_source":["title"]
}

排序查询

GET http://127.0.0.1:9200/shopping/_search

{"query":{"match_all":{}},"from":0,   // 偏移量"size":2,    // 每页数量"_source":["title"],"sort":{"price":{"order":"desc" // asc}}
}

多条件查询

must(and)

同时查询品牌是小米,价格为1999的手机

GET http://127.0.0.1:9200/shopping/_search

{"query":{"bool":{"must":[    // 多个条件同时成立(and)  还有 should(or){"match":{"category":"小米"}},{"match":{"price":1999}}]}}
}

filter (where)

查询类型是小米或者华为的价格大于 1000 的手机

GET http://127.0.0.1:9200/shopping/_search

{"query":{"bool":{"should":[{"match":{"category":"小米"}},{"match":{"category":"华为"}}],"filter":{"range":{"price":{"gt":1000}}}}}
}

完全匹配

我们之前使用都是 全文检索匹配 输入的内容会被分词查询。如果想要其精准匹配需要使用 完全匹配 match_phrase

GET http://127.0.0.1:9200/shopping/_search

{"query":{"match_phrase":{"category":"小米"}}
}

高亮查询

对查询出来结果的数据 category进行高亮显示

GET http://127.0.0.1:9200/shopping/_search

{"query":{"match_phrase":{"category":"小米"}},"highlight":{"fields":{"category":{}}}
}

聚合查询

分组

对价格进行分组

GET http://127.0.0.1:9200/shopping/_search

{"aggs":{    // 聚合操作"price_group":{ // 分组后名称,随意起"terms":{   // 分组"field":"price" // 分组字段}}}
}

求平均

对价格进行平均

GET http://127.0.0.1:9200/shopping/_search

{"aggs":{    // 聚合操作"price_avg":{ // 分组后名称,随意起"avg":{   // 分组"field":"price" // 分组字段}}}
}

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

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

相关文章

spring复习:(29)MutablePropertyValues

该类通过成员变量 propertyValueList 来保存多个PropertyValue对象。 public class MutablePropertyValues implements PropertyValues, Serializable {private final List<PropertyValue> propertyValueList;Nullableprivate Set<String> processedProperties;pr…

SQL进阶(2)——SQL语句类型 增删改查CRUD 事务初步 表关联关系 视图 +索引

目录 引出SQL语句类型1.DML数据操纵语言&#xff08;重点&#xff09;2.DQL数据查询语言&#xff08;重点&#xff09;3.DDL(Data Definition Language了解)4.DCL(Data Control Language了解)5.TCL 事务控制语言 运算符和其他函数1.运算符2.其它函数增删改查CRUD 视图索引事务1…

基于Python的用户和项目协同过滤算法实现与解析——以余弦相似度和最近邻居为基础的推荐系统构建

基于Python的用户和项目协同过滤算法实现与解析——以余弦相似度和最近邻居为基础的推荐系统构建 摘要 本篇文章主要讲解如何使用Python来编写基于用户的协同过滤算法和基于项目的协同过滤算法。我们首先了解这两种协同过滤算法的概念和原理,接着通过Python代码实现这两种算…

如何克服Leetcode做题的困境

文章目录 如何克服Leetcode做题的困境问题背景克服困境的建议实践与理论结合切忌死记硬背分析解题思路不要过早看答案迭代式学习寻求帮助坚持与耐心查漏补缺 结论 如何克服Leetcode做题的困境 问题背景 明明自觉学会了不少知识&#xff0c;可真正开始做Leetcode题目时&#x…

内存参数问题导致内存溢出

问题&#xff1a;内存参数问题导致内存溢出 1、文件过大&#xff0c;进行分块 2、 运行参数&#xff0c;使用最大内存配置2时&#xff0c;导致空指针异常。 3、获取详细报错信息-内存溢出 多线程捕获Throwable异常 修改代码&#xff0c;捕获Throwable&#xff0c;获取异常 异…

vue中预览pdf

情况一 如果后端返回的pdf地址&#xff0c;粘贴到浏览器的url框中&#xff0c;可以在浏览器中直接进行预览的&#xff0c;那么我们就用window.open&#xff0c;或 a标签&#xff0c;或iframe标签通过设置src进行预览即可 法1&#xff1a;可以直接使用window.open&#xff08;…

leetcode100.相同的树

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;相同的树 1️⃣ 代码&#xff1a; bool isSameTree(struct TreeNode* p, struct TreeNode* q){// 判断两棵树当前结点是否为空if (p NULL && q NULL) {// 说明是相同的return true;}// 来到这里有几种情况// …

【裸辞转行】是告别,也是新的开始

一年多了没有更新&#xff0c;是因为去年身体加心理因素辞职了&#xff0c;并且大概率不会再做程序员了&#xff0c;嗯。本来觉得可能再也不会打开 CSDN 了&#xff0c;想了想&#xff0c;还是来做个告别吧&#xff0c;任何事情都该有始有终才对。 回忆碎碎念 是在去年的 11 …

【实战篇】docker-compose部署go项目

一、场景&#xff1a; 二、需求 三、实操 Stage 1&#xff1a;GoLand 中 build 生成二进制文件 Stage 2&#xff1a;编写 Dockerfile Stage 3&#xff1a;编写 docker-compose.yaml Stage 4&#xff1a;文件上传到 ubuntu 服务器上&#xff0c;并设置文件读写权限 Stage…

前端 | (二)各种各样的常用标签 | 尚硅谷前端html+css零基础教程2023最新

学习来源&#xff1a;尚硅谷前端htmlcss零基础教程&#xff0c;2023最新前端开发html5css3视频 文章目录 &#x1f4da;HTML排版标签&#x1f4da;HTML语义化标签&#x1f4da;块级元素与行内元素&#x1f4da;文本标签&#x1f407;常用的文本标签&#x1f407;不常用的文本标…

erlang 虚拟机优化参数

sbwt none 将CPU忙等待关闭将有助于降低系统显示的CPU使用率&#xff0c;因为开启了忙等待的BEAM&#xff0c;CPU负载并不代表真实的工作情况&#xff1b; K true 开启epoll IO模型 swt low Sets scheduler wakeup threshold. Defaults to medium. The thresh…

Kubernetes Service的过程

文章目录 Kubernetes Service的实现基础内容1. 命令 ip route show table all2. DNAT3. IPVS和iptables4. Service Service的实现简述 Kubernetes Service的实现 基础内容 在了解Service之前,需要先了解一些额外的知识: 命令: ip route show table allDNATIPVS和iptables基础…

idea不小心push的文件夹怎么处理?

第一种方式&#xff0c;把不小心push上去的人解决掉。 第二种方式&#xff0c;以我自身为例&#xff0c;同事不小心push了.idea文件夹 首先打开git bash git rm --cached .idea/ -r 然后查看一下状态 git status 接着提交修改 git commit -m "cancel track .idea file&q…

【Redis】高可用之三:集群(cluster)

本文是Redis系列第6篇&#xff0c;前5篇欢迎移步 【Redis】不卡壳的 Redis 学习之路&#xff1a;从十大数据类型开始入手_AQin1012的博客-CSDN博客关于Redis的数据类型&#xff0c;各个文章总有些小不同&#xff0c;我们这里讨论的是Redis 7.0&#xff0c;为确保准确&#xf…

linux编程-telnet

我是使用WSL的linux系统与主机windows系统进行通信。 1.安装telnet linux&#xff1a; 在终端中运行以下命令&#xff1a; sudo apt-get install telnet windows&#xff1a; 在命令行中运行以下命令&#xff1a; DISM /Online /Enable-Feature /FeatureName:TelnetClien…

【代码随想录刷题记录】 647. 回文子串 、 516.最长回文子序列

647. 回文子串 1、题目 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 题目链接&#xff1a;https://leetcode.cn/problems/palindromic-substrings/ 2、代码 class Solution { public: //判断字符串是否为回文bool IsPalindrome(string s, …

Linux基础(三)端口、进程及主机状态管理、环境变量、文件管理

目录 端口 nmap netstat 进程管理 查看进程 关闭进程 主机状态监控 系统资源top命令 磁盘信息监控 网络状态监控 环境变量 $符号 自己设置环境变量 自定义环境变量PATH Linux的文件和下载 压缩和解压 tar命令 zip和unzip命令 端口 每个电脑有一个ip地址&#xff…

Vue项目实现在线预览pdf,并且可以批量打印pdf

最近遇到一个需求,就是要在页面上呈现pdf内容,并且还能用打印机批量打印pdf,最终效果如下: 当用户在列表页面,勾选中两条数据后,点击“打印表单”按钮之后,会跳到如下的预览页面: 预览页面顶部有个吸顶的效果,然后下方就展示出了2个pdf文件对应的内容,我们接着点击“…

echarts 地图点击常见问题

echats 散点图不支持缩放 echarts 地图点击激活label如何去除 高德loca 1.4版本热力图报错 绘制的颜色区间是 0 --1 高德地图销毁不生效 自己傻逼&#xff0c;每次没有清空数组导致叠加数据&#xff0c;约点数据越多。 为何用高德地图district.search查询不到别的省数据&…

[微信小程序] movable-view 可移动视图容器 - 范围问题

movable-view 可移动视图容器 可移动视图容器&#xff0c;在页面中可以拖拽滑动。movable-view必须在 movable-area 组件中&#xff0c;并且必须是直接子节点 <view><movable-area style"width: 750rpx;height: 200rpx;background-color: gainsboro;">&l…