当前位置: 首页 > news >正文

ElasticSearch入门语法基础知识

1、创建测试索引

PUT /test_index_person
{"settings": {"analysis": {"analyzer": {"ik_analyzer": {"type": "custom","tokenizer": "ik_smart"}}}},"mappings": {"properties": {"person_id": { "type": "integer" },"person_name": { "type": "text","analyzer": "ik_analyzer"},"gmt_create": { "type": "date","format": "strict_date_optional_time"},"gmt_modified": { "type": "date","format": "strict_date_optional_time"}}}
}

2、添加数据

POST /test_index_person/_doc
{"person_id": 1,"person_name": "张三 李四","gmt_create": "2024-07-31T10:00:00","gmt_modified": "2024-07-31T10:00:00"
}POST /test_index_person/_doc
{"person_id": 2,"person_name": "王五 赵六","gmt_create": "2024-07-31T11:00:00","gmt_modified": "2024-07-31T11:00:00"
}
POST /test_index_person/_doc
{"person_id": 3,"person_name": "葛哈哈哈张三","gmt_create": "2024-07-31T11:00:00","gmt_modified": "2024-07-31T11:00:00"
}
POST /test_index_person/_doc
{"person_id": 4,"person_name": "葛哈哈哈小黑子","gmt_create": "2024-07-31T11:00:00","gmt_modified": "2024-07-31T11:00:00"
}
POST /test_index_person/_doc
{"person_id": 5,"person_name": "赵六不是小黑子","gmt_create": "2024-07-31T11:00:00","gmt_modified": "2024-07-31T11:00:00"
}
POST /test_index_person/_doc
{"person_id": 6,"person_name": "张三是一个小黑子","gmt_create": "2024-07-31T11:00:00","gmt_modified": "2024-07-31T11:00:00"
}

3、修改数据

#更新数据,因为没有设置id,所以需要先查询到id
GET /test_index_person/_search
{"query": {"term": {"person_id": {"value": "1"}}}
}
POST /test_index_person/_update/VHvlB5EBxT0rb-io56C7
{"doc": {"person_name": "张三 李四哈哈哈"}
}

4、查询索引下的分词和ik分词器对搜索内容的分词

#查看test_index_person索引下对person_name某个内容的分词
GET /test_index_person/_analyze
{"field": "person_name","text": "张三是一个小黑子"
}
# IK分词器对搜索内容的分词
GET /_analyze
{"analyzer": "ik_max_word", "text": "张三"
}

5、查询所有文档

#匹配所有文档
GET /test_index_person/_search
{"query": {"match_all": {}}
}

6、分词查询测试

#查询分词测试
GET /test_index_person/_search
{"query": {"match": {"person_name": "葛赵六"}}
}

7、精确查询

#term查询适合用于匹配未分词的字段或者需要精确匹配的场景
GET /test_index_person/_search
{"query": {"term": {"person_id": {"value": "1"}}}
}

8、短语匹配

#短语匹配 返回所有person_name字段精确匹配短语"小黑子"的文档
GET /test_index_person/_search
{"query": {"match_phrase": {"person_name": "小黑子"}}
}

9、范围查询

#范围查询 gt(>) gte(>=)  lt(<) lte(<=) 
GET /test_index_person/_search
{"query": {"range": {"gmt_create": {"gte": "2024-01-31T11:00:00","lt": "2024-07-31T11:00:00"}}}
}

10、模糊匹配

#模糊匹配
GET /test_index_person/_search
{"query": {"fuzzy": {"person_name": "张三"}}
}

11、前缀匹配查询(适用非分词字段)

#前缀匹配查询(适用非分词字段)
GET /test_index_person/_search
{"query": {"prefix": {"person_name": {"value": "张三"}}}
}

12、布尔查询

#布尔查询 必须匹配(must) 过滤(filter) 至少匹配一个(should)
GET /test_index_person/_search
{"query": {"bool": {"must": [{"term": {"person_id": {"value": "1"}}}],"filter": [{"range": {"gmt_create": {"gte": "2024-07-31T10:00:00"}}}],"should": [{"term": {"person_name": {"value": "11"}}}],"must_not": [{"term": {"person_name": {"value": "哈哈"}}}]}}
}

13、分页

#分页 from开始 size 结束
GET /test_index_person/_search
{"query": {"match_all": {}},"from": 1, "size":  2
}

14、聚合查询

#对查询出来的值进行聚合查询 统计每个唯一值的个数
GET /test_index_person/_search
{"query": {"match": {"person_name": "张三"}}, "aggs": {"test_aggs": {"terms": {"field": "gmt_create"}}}
}
#对查询出来的值进行聚合查询 统计每个唯一值的个数  仅仅返回聚合结果
GET /test_index_person/_search
{"size": 0, "query": {"match": {"person_name": "张三"}}, "aggs": {"test_aggs": {"terms": {"field": "gmt_create"}}}
}
#多个聚合
GET /test_index_person/_search
{"aggs": {"test_aggs": {"terms": {"field": "gmt_create"}},"test2_aggs":{"avg": {"field": "person_id"}}}
}
#子聚合 先分组,再计算
GET /test_index_person/_search
{"aggs": {"test_aggs": {"terms": {"field": "gmt_create"}, "aggs": {"son_aggs_test": {"avg": {"field": "person_id"}}}}}
}

相关文章:

ElasticSearch入门语法基础知识

1、创建测试索引 PUT /test_index_person {"settings": {"analysis": {"analyzer": {"ik_analyzer": {"type": "custom","tokenizer": "ik_smart"}}}},"mappings": {"proper…...

【C++】C++应用案例-dolphin海豚记账本

目录 一、整体介绍 1.1、需求和目标 1.2、整体功能描述 二、页面及功能描述 2.1 主菜单 2.2 记账菜单 2.3 查询菜单 2.4 退出功能 三、流程设计 3.1 主流程 3.2 记账操作流程 3.3 查询操作流程 四、代码设计 4.1 核心思路 4.2 项目文件分类设计 4.2.1 头文件 …...

Matlab数据处理学习笔记

1 &#xff1a;数据清洗 注&#xff1a;数据读取 &#xff08;1&#xff09;读取工作表 % 指定要读取的工作表 filename sales_data.xlsx; sheetName Sheet2; % 或者使用工作表编号&#xff0c;例如&#xff1a;sheetNumber 2;% 读取指定工作表的数据 data readtable(fi…...

浏览器中的同源策略、CORS 以及相关的 Fetch API 使用

前言 笔者对前端 Web 技术的认真学习&#xff0c;其实开始于与 Fetch API 的邂逅。当时觉得 fetch() 的设计很不错&#xff0c;也很希望能够请求其它网站下的数据并作处理和展示。学习过程中 HTML 和 CSS 都还好说&#xff0c;由于几乎没有 Web 技术的基础&#xff0c;学习 Fe…...

爬虫 APP 逆向 ---> 粉笔考研

环境&#xff1a; 粉笔考研 v6.3.15&#xff1a;https://www.wandoujia.com/apps/1220941/history_v6031500雷电9 模拟器&#xff1a;https://www.ldmnq.com/安装 magisk&#xff1a;https://blog.csdn.net/Ruaki/article/details/135580772安装 Dia 插件 (作用&#xff1a;禁…...

2024河南萌新联赛第(三)场 河南大学

B. 正则表达式 题目&#xff1a; https://ac.nowcoder.com/acm/contest/87865/B 给出n个地址&#xff0c;每个地址的形式为x.x.x.x&#xff0c;找四个x都满足x>0&&x<255的个数 思路&#xff1a; 首先定义四个数组和一个字符&#xff0c;然后按题目所给的形式…...

回溯法---分割回文串

题目&#xff1a;给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文串。返回 s 所有可能的分割方案。 思路&#xff1a; 第一步&#xff1a;确定参数与返回值。参数为字符串s&#xff0c;分割起始下标startIndex&#xff0c;无返回值 第二…...

DDR等长,到底长度差多少叫等长?

DDR4看这一篇就够了 - 知乎 (zhihu.com) 【全网首发】DDR4 PCB设计规范&设计要点PCB资源PCB联盟网 - Powered by Discuz! (pcbbar.com) 终于看到较为权威的DDR4等长要求了: !!!! 依据这个要求&#xff0c;H616项目的等长线不合格&#xff1a;...

程序员面试题------N皇后问题算法实现

N皇后问题是一个著名的计算机科学问题&#xff0c;它要求在NN的棋盘上放置N个皇后&#xff0c;使得它们之间不能相互攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。这个问题可以看作是一个回溯算法问题&#xff0c;通过逐步尝试不同的放置位置&#xf…...

【C++学习】6、继承

1、什么是继承&#xff1f; 继承描述的是类与类之间的关系&#xff0c;A类继承B类&#xff0c;A类就拥有B类的数据和方法。 继承的方式&#xff1a; 公有继承&#xff08;public&#xff09; 保护继承&#xff08;protected&#xff09; 私有继承&#xff08;private&…...

从零开始的MicroPython(三) 按键与外部中断

上一篇&#xff1a;从零开始的MicroPython(二) GPIO及点灯代码 文章目录 前言硬件原理软件原理注意代码编写轮询外部中断其他 前言 点灯是嵌入式GPIO输出的典型&#xff0c;按键则是输入的典型。 硬件原理 按键对角接通。 软件原理 如果是一端接高电平&#xff0c;一端接单…...

Windows下编译安装Kratos

Kratos是一款开源跨平台的多物理场有限元框架。本文记录在Windows下编译Kratos的流程。 Ref. from Kratos KRATOS Multiphysics ("Kratos") is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, a…...

汽车-腾讯2023笔试(codefun2000)

题目链接 汽车-腾讯2023笔试(codefun2000) 题目内容 现在塔子哥有 n 个汽车&#xff0c;所有的汽车都在数轴上&#xff0c;每个汽车有1.位置 pos 2.速度 v &#xff0c;它们都以在数轴上以向右为正方向作匀速直线运动。 塔子哥可以进行任意次以下操作&#xff1a;选择两个汽车…...

软测面试二十问(最新面试)

1.软件测试的流程是什么 参加需求评审会&#xff0c;解决需求疑问---写测试用例---对测试用例进行评审---评审后开始执行测试---提交bug---追踪bug---关闭bug---回归测试---交叉测试---编写测试报告---冒烟测试 2.什么是黑盒测试和白盒测试&#xff1f;它们有何区别 黑盒测试…...

风吸杀虫灯采用新型技术 无公害诱虫捕虫

TH-FD2S】风吸杀虫灯利用害虫的趋光性和对特定波长的光源&#xff08;如紫外光、蓝光&#xff09;的敏感性&#xff0c;通过光波引诱害虫成虫扑灯。同时&#xff0c;内置的风扇产生强烈的气流&#xff0c;形成负压区&#xff0c;将害虫迅速吸入到收集器中。害虫在收集器内被风干…...

随手记录第十二话 -- JDK8-21版本的新增特性记录(Lambda,var,switch,instanceof,record,virtual虚拟线程等)

本文主要用于记录jdk8以来的新增特性及使用方法! 1.Java8 Lambda表达式(8) 1.1 方法引用 List<String> list List.of("1", "2", "3");list.forEach(i -> System.out.println(i));//方法引用list.forEach(System.out::println);1.2 接…...

SpringCloud网关 SpringBoot服务 HTTP/HTTPS路由/监听双支持

背景 一般来说SpringCloud Gateway到后面服务的路由属于内网交互&#xff0c;因此路由方式是否是Https就显得不是那么重要了。事实上也确实如此&#xff0c;大多数的应用开发时基本都是直接Http就过去了&#xff0c;不会一开始就是直接上Https。然而随着时间的推移&#xff0c…...

JavaScript做网页是否过期的处理

通过路由上的参数生成唯一md5和路由上token做验证_md5 token-CSDN博客 前言&#xff1a;基于这篇文章我们做网页是否超时&#xff0c;网页是否过期的处理。打开一个网页允许他在一定时间内可以访问&#xff0c;过了这个时间就不可以访问了&#xff0c;encrypt是h5加密方法&…...

python coding时遇到的问题

Q&#xff1a;只有cpu的时候加载模型 A&#xff1a;checkpoint torch.load(model_path, map_locationtorch.device(‘cpu’)) Q&#xff1a;vscode的文件路径和spyder的不一样 A&#xff1a;在vscode中&#xff0c;右键要用的文件&#xff0c;选择“文件相对路径”...

攻防演练号角吹响,聚铭铭察高级威胁检测系统助您零失分打赢重保攻坚战

在数字化浪潮中&#xff0c;攻防演练成为了衡量网络安全防御力的核心标尺&#xff0c;其重要性与日俱增。这项由政府、行业监管或企业内部主导的安全活动&#xff0c;随着互联网普及而兴起&#xff0c;现已发展成为全球公认的检验网络安全体系效能的标准。它不仅关乎技术实力的…...

[深度解析] AXI4-Stream Register Slice:时序优化的“外科手术刀”

1. 为什么需要AXI4-Stream Register Slice&#xff1f; 在FPGA设计中&#xff0c;时序问题就像血管中的血栓&#xff0c;随时可能让整个系统瘫痪。想象你正在设计一个4K视频处理流水线&#xff0c;每个像素都要经过十几级处理模块。当系统时钟频率提升到300MHz以上时&#xff0…...

Charticulator:突破传统桎梏的自定义数据可视化革新——从模板依赖到自由创作

Charticulator&#xff1a;突破传统桎梏的自定义数据可视化革新——从模板依赖到自由创作 【免费下载链接】charticulator Interactive Layout-Aware Construction of Bespoke Charts 项目地址: https://gitcode.com/gh_mirrors/ch/charticulator 数据可视化工具是否常常…...

网络工程师-核心考点:计算机硬件基础全解析

一、引言计算机硬件基础是软考网络工程师考试的前置知识点&#xff0c;占选择题分值约 3-5 分&#xff0c;是理解网络设备&#xff08;路由器、交换机、服务器&#xff09;硬件架构的底层基础。本知识点体系起源于 1945 年冯・诺依曼提出的存储程序思想&#xff0c;历经 70 余年…...

从零开始手搓一个xv6内核页表:跟着MIT 6.S081源码一步步理解虚拟内存初始化

从零构建xv6内核页表&#xff1a;深入解析RISC-V虚拟内存初始化实战 在MIT 6.S081操作系统的学习过程中&#xff0c;xv6作为教学用精简内核&#xff0c;其虚拟内存实现是理解现代计算机内存管理的关键。本文将带您从第一行代码开始&#xff0c;完整复现xv6内核页表的构建过程&…...

网络安全学习攻略宝典,从菜鸟到高手的必由之路

想成为一名真正的黑客到底该怎么学&#xff1f; 从0开始又该从何学起呢&#xff1f; 很多人想学习网络安全&#xff0c;却不知道从何下手。别迷茫&#xff0c;这篇文章为你指明方向&#xff0c;无论你是零基础小白&#xff0c;还是有一定基础想提升的人&#xff0c;都能从中找…...

OpCore-Simplify:如何用四步自动化流程解决黑苹果配置的三大核心挑战

OpCore-Simplify&#xff1a;如何用四步自动化流程解决黑苹果配置的三大核心挑战 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 对于黑苹果爱好者来说…...

BGE嵌入模型突破指南:解锁多模态检索增强的实战路径

BGE嵌入模型突破指南&#xff1a;解锁多模态检索增强的实战路径 【免费下载链接】FlagEmbedding Dense Retrieval and Retrieval-augmented LLMs 项目地址: https://gitcode.com/GitHub_Trending/fl/FlagEmbedding 在信息爆炸的时代&#xff0c;如何让机器精准理解人类语…...

STM32危化品智能管理系统设计与实现

## 1. 项目概述### 1.1 系统背景 实验室危化品管理面临传统人工记录方式效率低下、易出错等问题&#xff0c;特别是在温湿度敏感、易燃易爆或有毒危化品的存储过程中存在重大安全隐患。基于STM32F103C8T6微控制器的智能管理系统通过集成多参数传感、无线通信和云平台技术&#…...

acjscsdbhvusfd

一、yolo v1是什么&#xff1f; YOLO&#xff08;You Only Look Once&#xff09;算法 是一种目标检测算法&#xff0c;是经典的one-stage方法。YOLO v1 开创了单阶段目标检测的先河&#xff0c;其简洁的架构 和高效的推理为后续版本奠定了基础。尽管存在小目标检测和定位精度的…...

Charticulator:数据可视化的自由创作平台与技术革命

Charticulator&#xff1a;数据可视化的自由创作平台与技术革命 【免费下载链接】charticulator Interactive Layout-Aware Construction of Bespoke Charts 项目地址: https://gitcode.com/gh_mirrors/ch/charticulator 当数据分析师面对预设模板无法表达复杂数据关系时…...