Es搜索引擎概述和语句案例

article/2025/8/28 11:15:31

ES概述

       ES是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上,它提供了一个分布式多用户能力的搜索引擎,且ES支持RestFulweb风格的url访问。

全文检索:是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。

ES核心概念

index索引

一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对应于这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。在一个集群中,可以定义任意多的索引。

type类型

在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,会为具有一组共同字段的文档定义一个类型。和mysql中的数据库表相似。在 7.X 版本中,直接去除了 type 的概念,就是说 index 不再会有 type,默认为_doc。

mapping映射

主要作用:定义索引字段中的名称,定义索引字段的类型。一个映射定义了文档结构内每个字段的数据类型。映射通过配置来定义字段类型与该类型相关联的元数据的关系。现有的映射类型和字段不能更新。

document文档

存储在ES中的主要实体叫文档,可以理解为关系型数据库中表的一行数据记录。每个文档由多个field组成。区别于关系型数据库的是,ES是一个非结构化的数据库,每个文档可以有不同的字段,并且有一个唯一标识。

ES集群核心概念

集群(cluster):

一个ES集群由多个节点(node)组成, 每个集群都有一个共同的集群名称最为标识

集群健康:

Elasticsearch 的集群监控信息中包含了许多的统计数据,其中最为重要的一项就是 集群健康 , 它在 status 字段中展示为 green 、 yellow 或者 red 。

green

所有的主分片和副本分片都正常运行。

yellow

所有的主分片都正常运行,但不是所有的副本分片都正常运行。

red

有主分片没能正常运行。

 节点(node)

一个运行中的 ElasticSearch实例称为一个节点,而集群是由一个或者多个拥有相同cluster.name配置的节点组成, 它们共同承担数据和负载的压力。

node节点的组合方式:

主节点+数据节点: 默认方式,节点既可以作为主节点,又存储数据。

主节点:负责集群的相关操作,如创建和删除索引,跟踪哪些节点是集群的一部分,并决定分片属于哪个节点。

数据节点:  节点只存储数据,对文档的增删改查操作,不参与主节点选举

客户端节点: 不会成为主节点,也不存储数据,主要针对海量请求时进行负载均衡

分片(shard):

es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。ES自动管理和组织分片, 并在必要的时候对分片数据进行再平衡分配。

副本(replica):

shard的备份,预防数据的丢失,如果持有主分片的节点挂了,一个副本分片就会晋升为主分片。还可以通过副本进行负载均衡。

ES的应用范围

1,可以应用在搜索类场景。比如说电商网站、招聘网站、新闻资讯类网站、各种app内的模糊搜索。

2,可以做一些涉及地理位置的查询。

ES数据类型

上图来源链接

String类型:

text:文本类型,存入后会被分词,将字符串转换为单个术语的列表(倒排索引) 不适合被term查询

keyword:同样为文本类型,但不会被分词,适合使用term查询。

数值类型:

数值类型,不会被分词,这类数据类型都是以确切值索引的,适合terms查询。

date类型:

日期时间格式,存入ES后会被转为UTC格式(Universal Time Coordinated世界统一时间)

复杂类型:

array:数组类型

数组中的所有值必须是相同的数据类型,在动态添加字段时,数组中的第一个值确认数据类型后,后续值必须为相同的字段类型。

object类型:

对象类型,一个文档的一个filed字段类型可以设置为一个内部对象,这个内部对象中还可以在包含对象(可以多层嵌套)。

nested类型:

嵌套数据类型,在文档属性是一个数组对象时使用,它允许对象数组彼此独立地编制索引和查询。

地理数据类型:

geo-point:地址位置数据类型,可以用来表示经纬度,ES有4种存储地理位置数据的方式。

1:地理点表示为一个对象,lat属性表示纬度,lon属性表示经度。

2:地理点表示为一个字符串,格式为:"lat,lon" 

3:地理点表示为一个geohash字符串(GeoHash是一种地址编码方法。他能够把二维的空间经纬度数据编码成一个字符串) 。

 4:地理点表示为一个数组,格式为[lon,lat]

elasticsearch与mysql对比

上图原链接

Elasticsearch的接口语法

#verb     protocol  host  port       path

PUT     http://127.0.0.1:9200/es_ypt_server_order_info_index/_doc/1

{    #请求参数"name":"stono","country":"China","age":111,"date":"1999-11-11"
}

ES增删改查

https://blog.csdn.net/yhyh1233/article/details/123841585


http://chatgpt.dhexx.cn/article/5QRj4pVc.shtml

相关文章

es之搜索详解

Elasticesearch的核心功能是搜索,现在介绍ES的搜索API及其用法。 为了有助于讲解,这里准备一些测试数据,把数据保存到文件website.json中: {"index":{"_index":"website","_id":"1…

Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合

Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合 一、Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索。 1、Elasticsearch 搜索入门 …

uAVS2 AVS2实时编码器

测试平台  PC平台:  i7-4790K, 4.5GHz;超线程开启; 8G内存, 2400MHz。  OS:Win8.1  手机平台:  华为荣耀6。 测试序列  AVS2通测序列 测试指标 编码性能:各种preset下相对RD12.…

谁将引领新一代视频编码标准:HEVC、AVS2和AV1性能对比报告

2013年1月,新一代视频编码标准H.265/HEVC正式发布。然而它并没有像H.264那样占据市场。在这期间,AVS2、AV1等竞争者也在逐步推出,究竟谁才能引领新一代视频编码标准呢? 作者 | 李旭峰 王振宇 王荣刚 编辑 | 李旭峰 本…

关于avs和avs2编码stuffing bit的一点理解

avs和avs2编码标准关于结尾有一点和h264的不同。 比如一段视频通过avsx编码后,如果最后1位是字节对齐的(也就是说编码后的流刚好是8*n bit),那么就要在最后1bit后面再增加一字节0x80(1000 0000). 如果最后1bit没有对齐&#xff0c…

AVS2运动搜索方法简介

AVS2配置文件中有这一项: FME: 3 #Fast Motion Estimation method (1:DIA, 2:HEX,3:UMH,4:TZ) 表示采用不同的运动搜索方法,下面简单的介绍一下这几种方法。 0.ESA.全像素运动估计搜索算法(不使用) 这…

一个有趣的avs编码器(注意,是avs,而不是avs2噢)

本章附件是一个清华大学写的关于avs编解码器: https://download.csdn.net/download/weixin_43360707/87793302 该编码器遵循了stuffing bit: 打开文件夹后,如下: 可以看出这个是个跨平台的工程,提供了windows vs2015的工程文件sln&#x…

新一代视频编码标准:HEVC、AVS2和AV1性能对比报告

转自:http://media.pkusz.edu.cn/achievements/?p138 H.265/HEVC 距离H.265/HEVC标准正式发布已经有4年多的时间,虽然其压缩效率比H.264/AVC高出一倍,可以为视频公司节约带宽成本,但H.264仍是目前最流行的视频编码格式。除了复杂…

【AVS系列】AVS2参考软件RD17.0

Date: 2019-4-16 前言 AVS2标准从2017年开始批准使用,至今也有2年了,传说这个标准是对标H265,压缩效率在一些场景下的压缩率优于H.265,但是当前该标准的推广使用仍旧较少,主要用于广电和卫星电视传输。本文主要对AVS2标…

AVS2实时编码器xavs2的运行

Windows10 下 AVS2实时编码器xavs2的下载,编译,运行 xavs2的下载网址: https://gitee.com/pkuvcl/xavs2 可以选择master版本,或者tag版本,具体区别我也不太清楚,我的是1.3版本,我是下载最先的t…

【X265】Win10环境编译FFmpeg,集成 x264、x265、avs2

在Win10中编译完x264、x265后,开始编译FFmpeg,并将集成这几个主流视频编解码算法 准备 系统环境: Win10 VS2019 编译环境: Mingw64 msys2 cmake yasm nasm 编码算法:x264_161、x265_3.3、avs2(xavs2…

一个有趣的avs2编码器

该avs2编码器是清华大学开发的一个参考编解码器: https://mp.csdn.net/mp_download/manage/download/UpDetailed 代开文件,结构如下: 考虑到我们是要使用,所以进入到build: 因为我们是linux,cd linux : 继续cd lencod: 编译&a…

AVS2 有点令人不敢相信

王荣刚:建立中国自主视频技术生态 文 / 王荣刚 整理 / LiveVideoStack 直播回放: https://www.baijiayun.com/web/playback/index?classid18072579438145&session_id201807260&tokenPsTmsjVpbRht681rrJ0J_Xl0fbNahfHFmF1doYNdca5XBFzghyiw1…

HEVC 、H.264与AVS2 视频压缩

Lab2 Report: HEVC 、H.264与AVS2 视频压缩 文章目录 Lab2 Report: HEVC 、H.264与AVS2 视频压缩1. 摘要2. 实验一:HEVC 视频编码与解码2.1 实验内容2.2 实验原理简述2.3 实验过程与分析2.3.1 实验环境与测试序列2.3.2 HEVC编码与解码(1)测试…

AVS2参考软件的运行

博主最近在接触学习AVS2的代码,在查找资料的时候发现关于AVS2的资料少之又少,光是将这个代码运行起来博主也是踏了一些坑,其实遇到的问题都是很简单的,只不过下载下来的代码并没有使用手册,一切都是自己一点点根据代码…

HEVC vs AVS2

AVS2高清实时编码器问世,性能大幅超越HEVC/H.265编码器x265 2015/9/23 北京大学深圳研究生院数字媒体研究中心研制成功首款基于AVS2标准的高清实时编码器uAVS2,性能大幅超越HEVC/H.265编码器x265。2014年12月,面向高清/超高清视频应用的新…

京东云视频云全面支持AVS2标准

一、概述 数字音视频编解码技术标准(AVS)工作组由国家原信息产业部科学技术司于2002年6月批准成立,目标是制定我国自有的音视频编解码标准。至今已有两代AVS标准正式发布并成为国家标准,目前第三代标准AVS3正在制定中。AVS2属于第…

实现一个avs2码流分析工具

最近在做avs2编码器项目,但是却没有成熟的码流分析工具,于是抽空学习了QT,业余时间写了一个avs2码流分析工具。 软件的界面如下: 图1、avs2码流分析仪界面 UI的左边框为NAL列表或者语法元素列表: 默认情况显示的是NAL列…

AVS2技术

转自http://www.avs.org.cn/avs2/technology.asp AVS2技术 AVS2采用了混合编码框架,整个编码过程包括帧内预测、帧间预测、变换量化、反量化反变换、环路滤波和熵编码等模块。具有如下技术特征: 图1 AVS2编码框架 1.灵活的编码结构划分 为了满足高清和…

AVS2解码图像管理

前言 对于解码器来说,解码得到的重建图像可能需要参与参考帧选择过程和输出排序过程。硬件解码器大概率不会将解码图像的相关操作硬件化,从而将此部分内容保留在软件端实现。 驱动工程师需要明确解码图像的管理逻辑,才能开发出硬件解码器的驱…