分布式搜索——ElasticSeach简介

一般都用数据库存储数据,然后对数据库进行查询获取数据,但是当数据量很大时,查询效率就会很慢(具体下面会讲到),所以这种情况下就会使用到ElasticSeach

ElasticSeach的基本介绍

ElasticSeach是一 款非常强大的开源搜索引擎技术 ,可以帮助我们从海量数据中快速找到需要的内容 

在日常生活中,有很多会用到ElasticSeach的场景,比如网购时在输入框输入关键字搜索出来的商品、百度问的问题、订外卖时搜吃的……类似这种在海量数据中搜索查询指定数据的场景,都会用到ElasticSeach

elasticsearch 结合 åkibana 、 Logstash 、 Beats,组件,统称为 elastic stack (ELK) ,其实就是elasticsearch的技术栈。被广泛应用在日志数据分析 、 实时监控等领域

还有其他的搜索引擎技术,不过elasticsearch目前应该是最好用的

正向索引和倒排索引

正向索引

倒排索引 

 ElasticSeach中的一些基本概念

文档

索引和映射

数据库和ElasticSeach对比

利用DSL语句操作ES

 在kibana上通过发送请求进行增删改查操作,关于安装请自行百度,或者参考:elasticsearch和kibana的安装

kibana客户端如下图

索引库的增删改查操作

ES中的索引库,指的就是索引,对应为数据库中表的概念。我们要向数据表中存储数据,首先应该创建表,在创建表时会对表做一些约束,如表中各字段的类型、是否不为空等等。相应的,我们要把文档(前面说过文档类似于表中的一行数据)存储到索引库中,就要先创建索引,同样在创建索引时会对索引做一些约束。

创建好一个带有指定约束的索引A后,这些约束就会在创建文档并把文档存入索引A时起作用,这个过程就叫mapping映射。还是以数据表举例,一个用户表有姓名和年龄两个字段,类型分别为字符串和整形,那么往这个用户表存一条用户数据时,就会校验这条用户数据是否符合用户表的约束,符合的话就是用户数据和用户表的约束是一一映射的(希望我能解释清楚映射的意思,因为我自己一开始不太懂这个概念)。文档和索引的处理过程和用户数据用户表的处理过程很像

mapping映射

创建索引库

删除、查看索引库

修改索引库

文档增删改查操作

新增文档

查看、删除文档

修改文档

利用RestClient操作ES

RestClient简介

操作索引库

具体操作看视频吧,因为是案例不好做笔记,视频里是基于Java语言的操作

 restclient操作ES

操作文档

一样,看视频: 操作文档

elasticsearch查询文档

用DSL查询

query查询分类

查询所有 

精确查询 

 gte表示大于等于,lte表示小于等于,gt表示大于,lt表示小于

 地理查询

方法一,适合地图找房之类的需求 

方法二,适合我的附近这种需求,其中我的就是中心点的位置,附近就是看设置的距离值 

复合查询

function_score 在原始查询结果的基础上,人为干预搜索结果的排名,即决定哪些文档比较靠前,哪些比较靠后

视频 function_score

 

 布尔查询

视频  布尔查询

搜索结果处理

排序

 例子1

例子2:

 

分页

分页默认只能查前10000条数据:具体看视频:分页查询上限

高亮

具体的视频:高亮的用法

对应的RestClient操作参考视频,视频是Java版本的:视频教程

数据聚合

聚合的分类

DSL实现聚合

桶聚合

metrics聚合

自动补全

自动补全就是当我们在搜索引擎或者购物网站的搜索框中输入一个词时,出现的提示,一般通过分词器实现

拼音分词器

自定义分词器

 

 

 实现自动补全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

杰发科技AC7801——ADC之Bandgap和内部温度计算

0. 参考 电流模架构Bandgap设计与仿真 bandgap的理解(内部带隙电压基准) ​ ​ 虽然看不懂这些公式,但是比较重要的一句应该是这个:因为传统带隙基准的输出值为1.2V ​ 1. 使用 参考示例代码。 40002000是falsh控制器寄…

NXP RT1176(一)——二级BootLoader开发(安全引导加载程序SBL)

目录 1. 开发环境 2. 二级BOOT的功能 3. 步骤 3.1 配置源码 3.2 构建项目 3.2.1 MDK 3.2.2 IAR(IAR也编译一下工程看看,这样两个平台都可以支持了) 单核M7的开发!! 1. 开发环境 本文Windows下开发:…

MHD、MQA、GQA注意力机制详解

MHD、MQA、GQA注意力机制详解 注意力机制详解及代码前言:MHAMQAGQA 注意力机制详解及代码 前言: 自回归解码器推理是 Transformer 模型的 一个严重瓶颈,因为在每个解码步骤中加 载解码器权重以及所有注意键和值会产生 内存带宽开销 下图为三…

【合成孔径雷达】合成孔径雷达的多视角理解和时/频成像算法的统一解释

文章目录 一、什么是雷达成像(1)主要的遥感探测手段:光学、红外和雷达(2)从数学的角度:雷达成像主要研究什么?数据采集: y T x n yTxn yTxn信息提取: y − > x ? y…

编译错误:stray ‘\357’ in program的解决方法

目录 把报错文件更换编码格式,我试的utf-8 bom编码就可以了,可以多换几种试试。 网友的另一种案例: 编译错误:stray ‘\357’ in program的解决方法 把报错文件更换编码格式,我试的utf-8 bom编码就可以了&#xff0c…

如何同步管理1000个设备的VLAN数据?

什么是VLAN? VLAN,也就是虚拟局域网,是通过为子网提供数据链路连接来抽象出局域网的概念。在企业网中,一个企业级交换机一般是24口或者是48口,连接这些接口的终端在物理上形成一个广播域。广播域过大,就会导…

【AI智能体】零代码构建AI应用,全网都在喊话歌手谁能应战,一键AI制作歌手信息查询应用

欢迎来到《小5讲堂》 这是《文心智能体平台》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 文心智能体大赛背景创建应用平台地址快速构建【基础配置】…

前端无样式id或者class等来定位标签

目录: 1、使用背景2、代码处理 1、使用背景 客户使用我们产品组件,发现替换文件,每次替换都会新增如下的样式,造就样式错乱,是组件的文件,目前临时处理的话就是替换文件时删除新增的样式,但是发…

【JVM】阅读Class字节码:常量池

目录 基本结构解析 常量池 常量池简介 如何阅读Class文件中的常量池信息 基本结构解析 Magic(魔数) Magic的唯一作用是确定这个文件是否为一个能被虚拟机所接受的class 文件。魔数值固定为0xCAFEBABE,不会改变。 常量池 常量池简介 下图是反编译过后的字节码文…

TensorFlow的学习

0.基础概念 术语表: https://developers.google.cn/machine-learning/glossary?hlzh-cn#logits 1.快速入门 https://tensorflow.google.cn/tutorials/quickstart/beginner?hlzh-cn 2.基于Keras进行图像分类 https://tensorflow.google.cn/tutorials/keras/cl…

gradle 共享存储挂载缓存目录的问题

2个任务同时构建的时候,报错如上。 原因:挂载目录的问题导致的,挂在最小粒度的目录下。 /home/app/.gradle/caches/modules-2/files-2.1 挂载到这个级别的目录下。

演员怎么上百度百科

百度百科是一个公正、开放、客观的平台,它为演员提供了一个展示自己过往经历和演艺生涯的平台。以下是百科优化网yajje总结的演员创建百度百科的一些步骤和注意事项: 创建演员百度百科的基本条件 人物影响力:演员创建百度百科需要满足官方的规…

振弦采集仪在岩土工程监测中的重要性及应用案例分享

振弦采集仪在岩土工程监测中的重要性及应用案例分享 岩土工程监测是为了确保土地和建筑物的稳定性以及确保施工安全而进行的一项重要工作。河北稳控科技振弦采集仪是岩土工程监测中一种常用的仪器设备,通过测量土体振动频率来评估土体的稳定性和强度变化&#xff0…

霸道龙尊短视频:成都鼎茂宏升文化传媒公司

霸道龙尊短视频:龙族的传奇与现代的交融 在数字化时代的浪潮中,短视频以其短小精悍、内容丰富的特点,迅速占领了人们的碎片时间。成都鼎茂宏升文化传媒公司而在这些短视频中,一股独特的“霸道龙尊”风潮正在悄然兴起,…

Nginx配置文件conf解释

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Nginx(“engine x”…

基于springboot+vue+Mysql的在线答疑系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

服务攻防——应用协议软件,设备平台

向日葵利用 vnc利用5900端口 当为none就可以直接连接,而其他几种密码也能破解 可以使用hydna来尝试爆破 teamviewer(cve2020-13699) 让对方点击这个网站,就会 触发 zabbix 端口10051 cve2020 手工 点击这个 找到cookie 然后不需要密码就能进…

搭建Rust开发环境

Windows搭建 下载:https://www.rust-lang.org/zh-CN/tools/install Linux搭建 这里我更推荐基于Linux搭建。 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh等一会儿以后,会让你输入命令,这里输入1: 之后就…

一表捋清网络安全等级保护测评要求

三级网络安全等级保护测评指标: 对于中小企事业单位来说,网络安全建设是一个复杂且投入较高的过程,因此他们更倾向于寻找一种“省心省力”的等保建设方案,以及一种能够持续有效且具有较高性价比的网络安全建设投入方式。 此时&…

【微积分】三角函数求导积分公式的巧妙记忆

三角函数积分求导公式的巧妙记忆 图像的整体记忆: 上面是sinx cosx 下面也是s开头,secx,cscx 中间是tanx cotx 解释说明: 1️⃣ 对角线互为倒数,即sinx对角线是cscx,这样我们可以更好记住这个六边形图像。…