当前位置: 首页 > 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;现已发展成为全球公认的检验网络安全体系效能的标准。它不仅关乎技术实力的…...

个人量化交易兴起!有什么好用的量化软件推荐?迅投QMT量化平台简介!

QMT是专门为机构、活跃投资者、高净值客户等专业投资者研发的智能量化交易终端&#xff0c;拥有高速行情、极速交易、策略交易、多维度风控等专业功能&#xff0c;满足专业投资者的特殊交易需求。覆盖业务范围广:沪深A股、港股通、两融、期权、期货。 适合用QMT的投资者&#x…...

SQL labs-SQL注入(七,sqlmap对于post传参方式的注入,2)

本文仅作为学习参考使用&#xff0c;本文作者对任何使用本文进行渗透攻击破坏不负任何责任。参考&#xff1a;SQL注入之Header注入_sqlmap header注入-CSDN博客 序言&#xff1a; 本文主要讲解基于SQL labs靶场&#xff0c;sqlmap工具进行的post传参方式的SQL注入&#xff0c…...

SAM 2: Segment Anything in Images and Videos

Introduction 提出的目的&#xff1a; 1.现有的应用像自动驾驶&#xff0c;AR等来说都是需要temporal localization beyond image-level segmentation&#xff08;时序定位而不仅是图片分割&#xff09; 2. 一个好的分割模型不应该仅仅局限于图片领域&#xff0c;而是图视频两…...

软件测试面试,如何自我介绍?

又是一年金九银十&#xff0c;相信不少小伙伴都在准备跳槽面试&#xff0c;而面试中一个必不可少的环节就是自我介绍&#xff0c;所以&#xff0c;今天我们就来聊一聊软件测试面试中如何自我介绍。 为什么要自我介绍 在讨论如何自我介绍之前&#xff0c;我们先来讨论一下为…...

力扣第四十七题——全排列II

内容介绍 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],…...

Springer旗下中科院2区TOP,国人优势大!

关注GZH【欧亚科睿学术】&#xff0c;第一时间了解期刊最新动态&#xff01; 1 通信网络类 【期刊简介】IF&#xff1a;4.0-5.0&#xff0c;JCR1区&#xff0c;中科院3区 【出版社】ELSEVIER出版社 【检索情况】SCIE&EI双检&#xff0c;CCF-C类 【征稿领域】通信网络的…...

【C++】C++入门知识详解(下)

大家好~我们接着【C】C入门知识详解&#xff08;上&#xff09;-CSDN博客来介绍另一些C入门基础知识。 1.缺省值和缺省参数 缺省参数就是声明或定义函数时为函数的参数指定一个缺省参数。在调用该函数时&#xff0c;如果没有指定实参&#xff0c;则采用该形参的缺省值&#xf…...

分压电阻方式的ADC电压校准

无人机有个流程是电池电压校准。具体做法是:让你用万用表测量一下电池两端的电压,然后输入到文本框中,电机计算能重新计算出电压分压器的值,从而获得电池电压值。 这种方法实现的原理是这样的: 电阻分压检测电压原理,以上图为例: 当电路确定时,R2/(R1+R2)是一个定值R,…...

使用Postman测试API短轮询机制:深入指南

短轮询是一种Web开发中常用的技术&#xff0c;用于在客户端和服务器之间定期检查更新。与长轮询或WebSockets等技术相比&#xff0c;短轮询简单易实现&#xff0c;但可能带来较多的HTTP请求&#xff0c;从而增加服务器负担。Postman作为一个强大的API测试工具&#xff0c;可以用…...

明清进士人数数据

明清进士人数数据 指标&#xff1a;省份名称、城市名称、区县名称、明清各省进士人数、明清各城市进士人数、明清各县区进士人数 指标说明&#xff1a; Province[省份名称]-统计数据所属省份 City[城市名称]-统计数据所属地级市 Region[区县名称]-统计数据所属区县 MQpro…...

网络认证网站/深圳新闻最新事件

初学python的朋友们一定对Anaconda、jupyter nootbookpycharm、IDE等的关系非常一头雾水&#xff0c;所以简单介绍一下&#xff1a;Anaconda是工作环境&#xff0c;提供各种语言的库和底层。选取一个适合的python IDE(spyder、jupyter、pycharm)后就可以开始编写和运行调试程序…...

网站前台后台模板/域名查询服务器

问题描述 进行pip更新的时候&#xff0c;执行命令报错后&#xff0c;再次尝试的时候&#xff0c;出现&#xff1a; 问题解决 可以进行两个命令进行操作&#xff1a; python -m ensurepippython -m pip install --upgrade pip若第二条command 出现问题&#xff0c;可查看相…...

什么是网站前置审批/广州seo排名收费

Greenberg等。&#xff08;2007年&#xff09;审查了有关潮汐和潮汐流模拟的足够水平分辨率的需求。 关键考虑因素如下。 潮汐运动 Δx≤&#xff08;T√gH&#xff09;/ n 其中Δx是网格大小&#xff1b;T是潮汐期&#xff1b;g是重力&#xff1b;H是平均水深&#xff1b;n是节…...

南和企业做网站/站长综合查询工具

ISIS将网络层又分了两个层&#xff1a; 子网独立子层&#xff08;subnetwork independent sublayer&#xff09;&#xff08;为传输层提供统一服务&#xff09;&#xff1b; 子网依赖子层&#xff08;subnetwork dependent sublayer&#xff09;&#xff08;存取数据链路层提供…...

wordpress修改注册表/制作网站需要什么技术

Python没有switch语句&#xff0c;只能通过模拟来对应实现&#xff1a;**方法一&#xff1a;使用dictionary**values {value1: do_some_stuff1,value2: do_some_stuff2,...valueN: do_some_stuffN,}values.get(var, do_default_stuff)()根据需求可以自行更改参数内容&#xff…...

淮北矿业工程建设公司网站/百度账号快速登录

❝两只黄鹂鸣翠柳&#xff0c;一堆bug上西天。❞每天上班写着重复的代码&#xff0c;当一个cv仔&#xff0c;忙到八九点&#xff0c;工作效率低&#xff0c;感觉自己没有任何提升。如何能更快的完成手头的工作&#xff0c;提高自己的开发效率&#xff0c;在上一篇《绝对干货~&a…...