分布式搜索——ElasticSeach简介

admin2024-05-15  0

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

ElasticSeach的基本介绍

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

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

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

分布式搜索——ElasticSeach简介,第1张

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

正向索引和倒排索引

正向索引

分布式搜索——ElasticSeach简介,第2张

倒排索引 

分布式搜索——ElasticSeach简介,第3张分布式搜索——ElasticSeach简介,第4张 ElasticSeach中的一些基本概念

文档

分布式搜索——ElasticSeach简介,第5张

索引和映射

分布式搜索——ElasticSeach简介,第6张

数据库和ElasticSeach对比

分布式搜索——ElasticSeach简介,第7张

分布式搜索——ElasticSeach简介,第8张

利用DSL语句操作ES

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

kibana客户端如下图

分布式搜索——ElasticSeach简介,第9张

索引库的增删改查操作

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

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

mapping映射

分布式搜索——ElasticSeach简介,第10张

创建索引库

分布式搜索——ElasticSeach简介,第11张

删除、查看索引库

分布式搜索——ElasticSeach简介,第12张

修改索引库

分布式搜索——ElasticSeach简介,第13张

文档增删改查操作

新增文档

分布式搜索——ElasticSeach简介,第14张

查看、删除文档

分布式搜索——ElasticSeach简介,第15张

分布式搜索——ElasticSeach简介,第16张

修改文档

分布式搜索——ElasticSeach简介,第17张

利用RestClient操作ES

RestClient简介

分布式搜索——ElasticSeach简介,第18张

操作索引库

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

 restclient操作ES

操作文档

一样,看视频: 操作文档

elasticsearch查询文档

用DSL查询

query查询分类

分布式搜索——ElasticSeach简介,第19张

分布式搜索——ElasticSeach简介,第20张

查询所有 

分布式搜索——ElasticSeach简介,第21张

精确查询 

分布式搜索——ElasticSeach简介,第22张

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

分布式搜索——ElasticSeach简介,第23张 地理查询

分布式搜索——ElasticSeach简介,第24张

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

分布式搜索——ElasticSeach简介,第25张

分布式搜索——ElasticSeach简介,第26张

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

分布式搜索——ElasticSeach简介,第27张

复合查询

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

视频 function_score

分布式搜索——ElasticSeach简介,第28张 分布式搜索——ElasticSeach简介,第29张

 布尔查询

视频  布尔查询

分布式搜索——ElasticSeach简介,第30张

分布式搜索——ElasticSeach简介,第31张

分布式搜索——ElasticSeach简介,第32张

搜索结果处理

排序

分布式搜索——ElasticSeach简介,第33张

 例子1

分布式搜索——ElasticSeach简介,第34张

分布式搜索——ElasticSeach简介,第35张

例子2:

分布式搜索——ElasticSeach简介,第36张

 分布式搜索——ElasticSeach简介,第37张

分页

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

分布式搜索——ElasticSeach简介,第38张

高亮

具体的视频:高亮的用法

分布式搜索——ElasticSeach简介,第39张

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

分布式搜索——ElasticSeach简介,第40张

数据聚合

聚合的分类

分布式搜索——ElasticSeach简介,第41张

分布式搜索——ElasticSeach简介,第42张

DSL实现聚合

桶聚合

分布式搜索——ElasticSeach简介,第43张

分布式搜索——ElasticSeach简介,第44张

分布式搜索——ElasticSeach简介,第45张

分布式搜索——ElasticSeach简介,第46张

metrics聚合

分布式搜索——ElasticSeach简介,第47张

分布式搜索——ElasticSeach简介,第48张

自动补全

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

分布式搜索——ElasticSeach简介,第49张

拼音分词器

分布式搜索——ElasticSeach简介,第50张

自定义分词器

分布式搜索——ElasticSeach简介,第51张 分布式搜索——ElasticSeach简介,第52张

分布式搜索——ElasticSeach简介,第53张 分布式搜索——ElasticSeach简介,第54张

分布式搜索——ElasticSeach简介,第55张 实现自动补全

分布式搜索——ElasticSeach简介,第56张

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!