ES-极客学习第二部分ES 入门
基本概念 索引、文档、节点、分片和API

json 文档

文档的元数据

需要通过Kibana导入Sample Data的电商数据。具体参考“2.2节-Kibana的安装与界面快速浏览”
索引





kibana 管理ES索引

在系统中找到kibana配置文件(我这里是etc/kibana/kibana.yml)
vim /etc/kibana/kibana.yml
#在配置文件中加入以下代码即可设置kibanan的中文界面
这块可以进行索引管理,查看索引的


kibana的开发工使用-索引

需要通过Kibana导入Sample Data的电商数据。具体参考“2.2节-Kibana的安装与界面快速浏览”
笔记
Index 相关 API
#查看索引相关信息
GET kibana_sample_data_ecommerce#查看索引的文档总数
GET kibana_sample_data_ecommerce/_count#查看前10条文档,了解文档格式
POST kibana_sample_data_ecommerce/_search
{
}#_cat indices API
#查看indices
GET /_cat/indices/kibana*?v&s=index#查看状态为绿的索引
GET /_cat/indices?v&health=green#按照文档个数排序
GET /_cat/indices?v&s=docs.count:desc#查看具体的字段
GET /_cat/indices/kibana*?pri&v&h=health,index,pri,rep,docs.count,mt#How much memory is used per index?
GET /_cat/indices?v&h=i,tm&s=tm:desc
为什么不再支持单个Index下,多个Tyeps https://www.elastic.co/cn/blog/moving-from-types-to-typeless-apis-in-elasticsearch-7-0
基本概念 - 节点、集群、副本、分片

节点





分片

分片和副本分散数据的关系

blog 索引 number_of_shards :主分片数设置成3 number_ofreplicas: 副本数 设置成1


Kibana 和Cerebro管理ES集群


command+/ 跳到官方的API说明

Mapping中的字段一旦设定后,禁止直接修改。因为倒排索引生成后不允许直接修改。需要重新建立新的索引,做reindex操作。
类似数据库中的表结构定义,主要作用
- 定义所以下的字段名字
- 定义字段的类型
- 定义倒排索引相关的配置(是否被索引?采用的Analyzer)
- 对新增字段的处理 true false strict
在object下,支持做dynamic的属性的定义
课程Demo
#写入文档,查看 Mapping
PUT mapping_test/_doc/1
{"firstName":"Chan","lastName": "Jackie","loginDate":"2018-07-24T10:29:48.103Z"
}#查看 Mapping文件
GET mapping_test/_mapping#Delete index
DELETE mapping_test#dynamic mapping,推断字段的类型
PUT mapping_test/_doc/1
{"uid" : "123","isVip" : false,"isAdmin": "true","age":19,"heigh":180
}#查看 Dynamic
GET mapping_test/_mapping#默认Mapping支持dynamic,写入的文档中加入新的字段
PUT dynamic_mapping_test/_doc/1
{"newField":"someValue"
}#该字段可以被搜索,数据也在_source中出现
POST dynamic_mapping_test/_search
{"query":{"match":{"newField":"someValue"}}
}#修改为dynamic false
PUT dynamic_mapping_test/_mapping
{"dynamic": false
}#新增 anotherField
PUT dynamic_mapping_test/_doc/10
{"anotherField":"someValue"
}#该字段不可以被搜索,因为dynamic已经被设置为false
POST dynamic_mapping_test/_search
{"query":{"match":{"anotherField":"someValue"}}
}get dynamic_mapping_test/_doc/10#修改为strict
PUT dynamic_mapping_test/_mapping
{"dynamic": "strict"
}#写入数据出错,HTTP Code 400
PUT dynamic_mapping_test/_doc/12
{"lastField":"value"
}DELETE dynamic_mapping_test
文档的CRUD与文档的基本操作

格式 索引名称/_doc/索引id









倒排索引





课程Demo
POST _analyze
{"analyzer": "standard","text": "Mastering Elasticsearch"
}POST _analyze
{"analyzer": "standard","text": "Elasticsearch Server"
}POST _analyze
{"analyzer": "standard","text": "Elasticsearch Essentials"
}
通过Analyzer 进行分词






















使用分析器进行分词
课程Demo
#Simple Analyzer – 按照非字母切分(符号被过滤),小写处理
#Stop Analyzer – 小写处理,停用词过滤(the,a,is)
#Whitespace Analyzer – 按照空格切分,不转小写
#Keyword Analyzer – 不分词,直接将输入当作输出
#Patter Analyzer – 正则表达式,默认 \W+ (非字符分隔)
#Language – 提供了30多种常见语言的分词器
#2 running Quick brown-foxes leap over lazy dogs in the summer evening
查看不同的analyzer的效果
#standard
GET _analyze
{"analyzer": "standard","text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}#simpe
GET _analyze
{"analyzer": "simple","text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}GET _analyze
{"analyzer": "stop","text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}#stop
GET _analyze
{"analyzer": "whitespace","text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}#keyword
GET _analyze
{"analyzer": "keyword","text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}GET _analyze
{"analyzer": "pattern","text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}#english
GET _analyze
{"analyzer": "english","text": "2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}POST _analyze
{"analyzer": "icu_analyzer","text": "他说的确实在理”"
}POST _analyze
{"analyzer": "standard","text": "他说的确实在理”"
}POST _analyze
{"analyzer": "icu_analyzer","text": "这个苹果不大好吃"
}
SearchAPI概览


URL 查询

Request Body 查询

查询响应结果






需要通过Kibana导入Sample Data的电商数据。 具体参考“2.2节-Kibana的安装与界面快速浏览”一节教程
#URI Query
GET kibana_sample_data_ecommerce/_search?q=customer_first_name:Eddie
GET kibana*/_search?q=customer_first_name:Eddie
GET /_all/_search?q=customer_first_name:Eddie#REQUEST Body
POST kibana_sample_data_ecommerce/_search
{"profile": true,"query": {"match_all": {}}
}
URI Search详解



指定df 字段 会对查询字段进行查询,不指定df 字段会对查询的全文进行检索,包括字段和值,符合的都会被查询出来。query 中的 profile 会显示检索的详情





GET /goods/_doc/_search?q=name:dior222
GET /goods/_doc/_search?q=name:chengyi
GET /goods/_doc/_search?q=name:dior222GET /goods/_doc/_search?q=name:222GET /goods/_doc/_search?q=name:(chengyi dior222)


%2B 代表+




- 代表相对位置 ~2 代表相隔 两个位置出现 ,不加~2 代表必须要在相隔的位置出现

课程Demo#基本查询
GET /movies/_search?q=2012&df=title&sort=year:desc&from=0&size=10&timeout=1s#带profile
GET /movies/_search?q=2012&df=title
{"profile":"true"
}#泛查询,正对_all,所有字段
GET /movies/_search?q=2012
{"profile":"true"
}#指定字段
GET /movies/_search?q=title:2012&sort=year:desc&from=0&size=10&timeout=1s
{"profile":"true"
}# 查找美丽心灵, Mind为泛查询
GET /movies/_search?q=title:Beautiful Mind
{"profile":"true"
}# 泛查询
GET /movies/_search?q=title:2012
{"profile":"true"
}#使用引号,Phrase查询
GET /movies/_search?q=title:"Beautiful Mind"
{"profile":"true"
}#分组,Bool查询
GET /movies/_search?q=title:(Beautiful Mind)
{"profile":"true"
}#布尔操作符
# 查找美丽心灵
GET /movies/_search?q=title:(Beautiful AND Mind)
{"profile":"true"
}# 查找美丽心灵
GET /movies/_search?q=title:(Beautiful NOT Mind)
{"profile":"true"
}# 查找美丽心灵
GET /movies/_search?q=title:(Beautiful %2BMind)
{"profile":"true"
}#范围查询 ,区间写法
GET /movies/_search?q=title:beautiful AND year:[2002 TO 2018%7D
{"profile":"true"
}#通配符查询
GET /movies/_search?q=title:b*
{"profile":"true"
}//模糊匹配&近似度匹配
GET /movies/_search?q=title:beautifl~1
{"profile":"true"
}GET /movies/_search?q=title:"Lord Rings"~2
{"profile":"true"
}
相关文章:
ES-极客学习第二部分ES 入门
基本概念 索引、文档、节点、分片和API json 文档 文档的元数据 需要通过Kibana导入Sample Data的电商数据。具体参考“2.2节-Kibana的安装与界面快速浏览” 索引 kibana 管理ES索引 在系统中找到kibana配置文件(我这里是etc/kibana/kibana.yml) vim /…...
Nodejs软件安装
Nodejs软件安装 一、简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 官网:http://nodejs.cn/api/ 我们关注于 node.js 的 npm 功能,NPM 是随同 NodeJS 一起安装的包管理工具,JavaScript-NPM,Java-Maven&…...
Photoshop 2024 (PS2024) v25 直装版 支持win/mac版
Photoshop 2024 提供了多种创意工具,如画笔、铅笔、涂鸦和渐变等,用户可以通过这些工具来创建独特和令人印象深刻的设计效果。增强的云同步:通过 Adobe Creative Cloud,用户可以方便地将他们的工作从一个设备无缝同步到另一个设备…...
ChatGPT绘画生成软件MidTool:智能艺术的新纪元
在人工智能的黄金时代,创新技术不断涌现,改变着我们的生活和工作方式。其中,ChatGPT绘画生成软件MidTool无疑是这一变革浪潮中的佼佼者。它不仅是一个软件,更是一位艺术家,一位智能助手,它的出现预示着智能…...
linux安装MySQL5.7(安装、开机自启、定时备份)
一、安装步骤 我喜欢安装在/usr/local/mysql目录下 #切换目录 cd /usr/local/ #下载文件 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz #解压文件 tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local …...
openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态
文章目录 openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态195.1 分析查询语句运行状态195.1.1 问题现象195.1.2 处理办法 openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态 195.1 分析查询语句运行状态…...
Oracle篇—实例中和name相关参数的区别和作用
☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…...
python + selenium 初步实现数据驱动
如果在进行自动化测试的时候将测试数据写在代码中,若测试数据有变,不利于数据的修改和维护。但可以尝试通过将测试数据放到excel文档中来实现测试数据的管理。 示例:本次涉及的项目使用的12306 selenium 重构------三层架构 excel文件数据如…...
数字孪生+可视化技术 构建智慧新能源汽车充电站监管平台
前言 充电基础设施为电动汽车提供充换电服务,是重要的交通能源融合类基础设施。近年来,随着新能源汽车产业快速发展,我国充电基础设施持续增长,已建成世界上数量最多、服务范围最广、品种类型最全的充电基础设施体系。着眼未来新…...
微信小程序开发学习笔记《11》导航传参
微信小程序开发学习笔记《11》导航传参 博主正在学习微信小程序开发,希望记录自己学习过程同时与广大网友共同学习讨论。导航传参 官方文档 一、声明式导航传参 navigator组件的url属性用来指定将要跳转到的页面的路径。同时,路径的后面还可以携带参数…...
BikeDNA(七)外在分析:OSM 与参考数据的比较1
BikeDNA(七)外在分析:OSM 与参考数据的比较1 该笔记本将提供的参考自行车基础设施数据集与同一区域的 OSM 数据进行所谓的外部质量评估进行比较。 为了运行这部分分析,必须有一个参考数据集可用于比较。 该分析基于将参考数据集…...
KY43 全排列
全排列板子 ti #include<bits/stdc.h>using namespace std;string s; map<string, int>mp;void swap(char &a, char &b){char em a;a b;b em; }void dfs(int n){ //将s[n~l]的全排列转化成s[n]s[n1~l]的全排列 if(n s.length()){mp[s] 1;return ;}f…...
UltraScale 和 UltraScale+ 生成已加密文件和已经过身份验证的文件
注释 :如需了解更多信息,请参阅《使用加密和身份验证确保 UltraScale/UltraScale FPGA 比特流的安全》 (XAPP1267)。 要生成加密比特流,请在 Vivado IDE 中打开已实现的设计。在主工具栏中,依次选择“Flow” → “Bitstream Setti…...
2023年全国职业院校技能大赛软件测试赛题—单元测试卷②
单元测试 一、任务要求 题目1:任意输入2个正整数值分别存入x、y中,据此完成下述分析:若x≤0或y≤0,则提示:“输入不符合要求。”;若2值相同,则提示“可以构建圆形或正方形”;若2<…...
极兔单号查快递,极兔快递单号查询,筛选出途经指定城市的单号
随着电商的繁荣,快递单号已经成为我们生活中的一部分。然而,面对海量的快递信息,如何快速、准确地筛选出我们需要的单号,变成了许多人的痛点。今天,我要为你介绍一款强大的工具——快递批量查询高手,让你的…...
[redis] redis高可用之持久化
一、Redis 高可用的相关知识 1.1 什么是高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,…...
云原生 微服务 restapi devops相关的一些概念说明(持续更新中)
云原生: 定义 云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。它是一种在云计算环境中构建、部署和管理现代应用程序的软件方法。云原生应用程序是基于微服务架构的,采用开源堆栈(K8SDocker)进行容器…...
初学unity学习七天,经验收获总结
初学unity七天,经验收获总结 学习就是认识新观念和新想法的过程。 假如人们始终以同一种思维方式来考虑问题的话,那么始终只会得到同样的结果。 因为我对你讲述的许多内容是你以前从未接触过的,所以我建议你,在你还没有做之前&…...
hcip实验2
根据地址分配完成基础配置 先配置r1,r2,r3的ospf以及与isp通讯: 配置缺省路由: 完成nat配置: 完成r5,r6,r7,r8,r15的mgre以及整个网络的ospf配置 mgre: area 2 和3之间用多进程双向重发布技术完成: area4和5之间用虚…...
js:使用canvas画一个半圆
背景 需求需要画一个半圆,或者多半圆,其实一下子就能想到 canvas 中的圆弧,核心使用 context.arc context.arc(x,y,r,sAngle,eAngle,counterclockwise)接下来我们看看示例 例一 <!DOCTYPE html> <html lang"en"> &…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
