Elastic Stack(二)——Elasticsearch之REST API的使用

2023-10-31

一、Rest命令说明

在这里插入图片描述

二、创建索引、添加数据

PUT logs/_doc/1
{
  "log_name" : "首页点击次数",
  "log_value" : 4,
  "user_id" : 10086,
  "datetime" : "2020-05-01"
}
PUT logs/_doc/2
{
  "log_name" : "首页点击次数",
  "log_value" : 19,
  "user_id" : 10087,
  "datetime" : "2020-05-01"
}
PUT logs/_doc/3
{
  "log_name" : "首页点击次数",
  "log_value" : 10,
  "user_id" : 10088,
  "datetime" : "2020-05-01"
}

完成了索引的创建,以及数据的添加。
在这里插入图片描述

二、更新、增加字段

下面为文档ID为3的添加一个tags的字段

POST logs/_doc/3/_update
{
  "doc" : {
    "tags" : ["VIP", "收费"]
  }
}

三、获取数据

GET logs/_doc/1

在这里插入图片描述

四、基本查询

1、基本查询

GET logs/_doc/_search/?q=log_name:首页点击次数

2、结果过滤

使用 “_source” : [“log_value”]进行结果的过滤

GET logs/_doc/_search
{
    "query" : {
        "match" : { 
          "log_name" : "首页点击次数"
        }
    },
    "_source" : ["log_value"]
}

3、排序与分页

GET logs/_doc/_search
{
    "query" : {
        "match" : { 
          "log_name" : "首页点击次数"
        }
    },
    "sort" : [
      {
        "log_value" : {
          "order" : "asc"
        }
      }
    ],
    "from" : 0,
    "size" : 1
}

from为从第几页开始
size为返回多少条数据

五、布尔值查询

文档链接
在这里插入图片描述

1、must

must是“与”,相当于and。

GET logs/_doc/_search
{
    "query" : {
      "bool" : {
        "must" : [
          {
          "match" : { 
            "log_name" : "首页点击次数"
          }
          },
          {
          "match" : { 
            "user_id" : "10086"
          }
          }
       ]
      }
    }
}

匹配log_name为“首页点击次数”,并且user_id为10086的数据。

2、should

should是“或”,相当于or。

GET logs/_doc/_search
{
    "query" : {
      "bool" : {
        "should" : [
          {
          "match" : { 
            "log_name" : "首页点击次数"
          }
          },
          {
          "match" : { 
            "user_id" : "10086"
          }
          }
       ]
      }
    }
}

3、must_not

must_not是“非”,相当于not。

4、filter

filter是过滤器,可以用来对数据进行过滤处理。

GET logs/_doc/_search
{
    "query" : {
      "bool" : {
        "must" : [
          {
          "match" : { 
            "log_name" : "首页点击次数"
          }
          }
       ],
       "filter": {
        "range" : { 
          "log_value" : {
            "gt" : 10,
            "lt" : 20
          }
          }
      }
      }
    }
}

查询log_value大于10小于20的值。

  • gt 大于
  • gte 大于等于
  • lt 小于
  • lte 小于等于!

六、精确查询

term 查询是直接通过倒排索引指定的词条进程精确查找的!

  • term ,直接查询,精确的
  • match,使用分词器解析,先分析文档,然后在通过分析的文档进行查询。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elastic Stack(二)——Elasticsearch之REST API的使用 的相关文章

  • 在 MongoDB Java 驱动程序中如何使用 $filter

    我有一个适用于 MQL 的查询 我需要将其翻译成Java MQL 中的查询如下所示 db
  • Spring Data:限制自定义查询的结果

    在我的 Spring 数据存储库中 我 必须 使用自定义查询 Query注解 我知道我可以限制这样的命名查询中的结果数量 Iterable
  • 获取TextView的高度

    我有一些文字将被放入TextView 我这样做是使用setText 现在我需要找到文本在文本中占据的行数或高度TextView 我尝试使用getHeight 但它总是返回 0 无论如何 有没有办法获得文本中存在的文本的高度TextView
  • 根据哈希值确认文件内容

    我需要 检查完整性 content文件数量 文件将写入 CD DVD 可能会被复制多次 这个想法是识别正确复制的副本 在从 Nero 等中删除它们之后 我对此很陌生 但快速搜索表明Arrays hashCode byte http down
  • ASM之前看一下maxStack指令吗?

    我正在尝试使用 ASM 库将字节代码转换为不同的格式 这可以使用 MethodVisitor 来完成 就像这个简单的测试代码一样 return new MethodVisitor ASM7 Override public void visi
  • Spring 术语中命令、表单、业务和实体对象之间的区别?

    我试图理解这些对象在松散耦合系统方面的差异 业务对象与实体对象相同吗 我可以使用 MVC 中的业务或实体对象作为我的命令对象吗 命令对象与表单对象相同吗 只是寻找 Spring 术语和用法中对象类型的说明 我在 stackoverflow
  • 在java.util中获取错误ArrayList不带参数[重复]

    这个问题在这里已经有答案了 我已经创建了一个类 Student 现在我尝试将我的 Student 对象存储在 ArrayList 中 但在编译 ArrayList 不接受参数时出现错误 我已经检查了我的代码很多次 但找不到问题所在 我的学生
  • Java 反射:如何检索匿名内部类?

    我在另一个类中有一个匿名内部类 SomeClass Both SomeClass class getClasses and SomeClass class getDeclaredClasses 返回空数组 我在中找不到一些关于此的提示Cla
  • 我们必须将 .class 文件放在 Tomcat 目录中的位置

    我必须把我的 class文件在 Tomcat 目录中 在我的 Java Complete Reference 书中 他们告诉将其放入C Program Files Apache Tomcat 4 0 webapps examples WEB
  • ElasticSearch bool should_not 过滤器

    我是elasticsearch的新手 所以我的问题是 bool 过滤器有 3 个部分 must All of these clauses must match The equivalent of AND must not All of th
  • java Runtime.getRunTime().exec 和通配符?

    我正在尝试使用删除垃圾文件 Process p Runtime getRuntime exec 只要我不使用通配符 它 就可以正常工作 即 Process p Runtime getRuntime exec bin rm f specifi
  • 链表中的虚拟节点

    问 什么时候使用它们 作业问题 列表中的第一个和最后一个节点 有时用作列表中的第一个和最后一个节点 从未用作列表中的第一个和最后一个节点 维基百科说 哨兵节点是与链接一起使用的专门指定的节点 列表和树作为遍历路径终止符 哨兵节点的作用是 不
  • 将变量从 jenkins 传递到 testng.xml

    我想根据从詹金斯传递的变量运行测试用例 例如 选择您要运行的测试用例 测试用例一 测试用例二 在 pom xml maven 中
  • 计算移动的球与移动的线/多边形碰撞的时间(2D)

    我有一个多边形 里面有一个移动的球 如果球撞到边界 它应该反弹回来 My current solution I split the polygon in lines and calculate when the ball hits the
  • Java 相当于 Python 的 urllib.urlencode(基于 HashMap 的 UrlEncode)

    From https stackoverflow com questions 2018026 should i use urllib or urllib2 2018103 2018103 Java 中 Python 的 urllib url
  • spring data jpa 过滤 @OneToMany 中的子项

    我有一个员工测试实体是父实体并且FunGroup信息子实体 这两个实体都是通过employeeId映射 我需要一种方法来过滤掉与搜索条件匹配的子实体 以便结果仅包含父实体和子实体 满足要求 员工测试类 Entity name Employe
  • JSP 和 scriptlet

    我知道现在使用 scriptlet 被认为是禁忌 没关系 我会同意Top Star的话 因为我目前只是Java新手 到目前为止我听到的是 它是为了让设计师的生活更轻松 但我想知道 这是否与JSP页面的性能有关 另一方面 如果只是为了 让设计
  • 如何隐藏或删除 Android HoneyComb 中的状态栏?

    如何隐藏或删除 Android HoneyComb 中的状态栏 每次运行应用程序时 我都会发现某些内容必须被状态栏覆盖 我尝试改变AndroidManifest xml 但没有任何改变 你不知道 它被认为是永久的屏幕装饰 就像电容式主页 菜
  • 将带有时区的 Joda-Time `DateTime` 转换为没有时区的 DateTime?

    Given a DateTime http www joda org joda time apidocs org joda time DateTime html例如2015 07 09T05 10 00 02 00 using 乔达时间 h
  • 安卓框架?

    是否有任何框架比构建 Android 应用程序更容易 您会对其中一个感兴趣吗 很快就会有 我正在开发 DroidFu 一个 Android 共享库 它将为您提供 活动 和服务 中直接提供大量实用功能 例如生成列表和错误对话框 检查 Inte

随机推荐

  • Node.js全栈开发笔记与心得

    highlight a11y dark 一 Node js 全栈开发资料 1 前端入门基础 慕课网HTML CSS入门 慕课网JS入门 javascript进阶篇 菜鸟教程html部分 菜鸟教程CSS部分 阮一峰js入门 阮一峰es6教程
  • 一道有关逆序对的算法题---归并、树状数组、线段树三种解法

    这阵子巨忙 呜呜呜 上周末打了第十四届蓝桥杯的校内赛 总的来说 题目是很简单的 不过其中的压轴题挺有意思 所以我打算来一发博客记录记录这道算法题 废话不多说了 上题 问题描述 小蓝有一个序列 a 1 a 2 a n 每次可以交换相邻的两个元
  • 服务器系统网口,服务器网口设置方法

    服务器网口设置方法 内容精选 换一换 介绍常见的安全组配置示例 如下示例中 出方向默认全通 仅介绍入方向规则配置方法 不同安全组内的云耀云服务器内网互通仅允许特定 IP 地址远程连接云耀云服务器SSH远程连接Linux云耀云服务器RDP远程
  • 数据库原理-ER模型转换为关系模型

    1 ER图转换成关系模式集的算法 联系类型的转换 不同的情况做不同的处理 二元联系类型的转换 若实体间联系是1 1 可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性 若实体间联系是1 n
  • pandas dataframe 新增单列和多列

    dataframe 新增单列 assign方法 dataframe assign方法 返回一个新对象 副本 不影响旧dataframe对象 import pandas as pd df pd DataFrame col 1 0 1 2 3
  • C/C++混用的线性表基本操作(Five的期末复习,part1)

    一 线性表的定义 线性表 零个或多个数据元素的有限序列 几个关键的地方 首先它是一个序列 也就是说 元素之间是有顺序的 若元素存在多个 则第一个元素无前驱 最后一个元素无后继 其他每个元素都只有一个前驱和后继 然后 线性表强调是有限的 事实
  • tensorflow的 jupyter环境 error :UnrecognizedFlagError: Unknown command line flag 'f' 解决办法

    加一行代码 tf app flags DEFINE string f kernel
  • VS2017+DirectX9环境配置

    正好学完浅墨大神的游戏编程著作 来写一下VS2017怎么配置DirectX9 首先去下一个DX9的SDK SDK下载 然后找地方安装上 不过可能安装会出问题 我的情况解决方式如下 去控制面板里面卸载掉这两个东西 然后再安装下载下来的DXSD
  • ogre 1.7.0

    今天编译了orge 第一次安装编译orge挺麻烦的 现把编译和安装步骤总结一下 1 ogre 1 7 0的下载地址 https sourceforge net projects ogre files ogre 1 7 ogre v1 7 0
  • Python之赋值、深拷贝与浅拷贝

    一图胜千言 先上三幅小图 图片来源 赋值操作 浅拷贝操作 深拷贝操作 赋值操作 赋值是将一个对象指向一个已经存在的对象的过程 通常使用 texttt 来完成赋值操作
  • pd.DataFrame()函数解析

    文章目录 DataFrame是Python中Pandas库中的一种数据结构 它类似excel 是一种二维表 0 简介 DataFrame的单元格可以存放数值 字符串等 这和excel表很像 同时DataFrame可以设置列名columns与
  • Qt打开外部文件/文件夹

    方法一 QDesktopServices 1 函数原型 头文件 include
  • idea2021.3.3的安装方式以及使用方法

    1 打开idea的官网 可以点击下方链接进行下载 该软件版权为Jetbrains所有 我们仅作使用 欢迎大家使用正版软件 下面是idea的官方网址 idea的直接链接https www jetbrains com idea 打开链接之后 点
  • python聚类分析顾客_Python用K-means聚类算法进行客户分群的实现

    一 背景 1 项目描述 你拥有一个超市 Supermarket Mall 通过会员卡 你用有一些关于你的客户的基本数据 如客户ID 年龄 性别 年收入和消费分数 消费分数是根据客户行为和购买数据等定义的参数分配给客户的 问题陈述 你拥有这个
  • 使用winserver2003配置DNS服务器

    实验准备 Windows server 2003 R2 虚拟机一台 win 7 客户机一台 DNS内容 dns domain name service 域名解析服务 域名 例如 www baidu com 中 baidu com 是域名 w
  • Electron 入门案例详解

    目录 前言 一 开发环境检查 二 入门案例实现 1 初始化项目 2 安装electron包 3 运行electron应用 三 创建第一个应用窗口 1 准备页面 2 创建窗口 3 运行窗口 总结 前言 Electron 是一种基于 Node
  • 史上最全零拷贝总结

    一 传统方式下消息读取发送 很多应用程序在发送文件时 可以等价为进行如下的系统调用 File read file buf len Socket send socket buf len 例如消息中间件 Kafka 就是这个应用场景 从磁盘中读
  • 凸透镜成像动画可拖动_重要实验——凸透镜成像

    一 基本概念 透镜 透镜就是用透明物质制成的表面为球面的一部分的光学元件 透镜的光心 如上图所示 透镜的几何中心O一般称为透镜的光心 透镜的主光轴 如上图所示 经过透镜光心的一条水平直线称为透镜的主光轴 透镜的焦点 以凸透镜为例 如上图所示
  • Service启动流程总结-start和stop service

    文章目录 回顾 概述 源码探究 startService过程 onCreate阶段 onStartCommand阶段 Service超时机制 设置超时 移除超时 触发超时 当目标Service进程未启动时 stopService过程 总结
  • Elastic Stack(二)——Elasticsearch之REST API的使用

    一 Rest命令说明 二 创建索引 添加数据 PUT logs doc 1 log name 首页点击次数 log value 4 user id 10086 datetime 2020 05 01 PUT logs doc 2 log n