分布式搜索引擎ES-elasticsearch入门
创始人
2024-12-28 00:09:50
0

1.分布式搜索引擎:luceneVS Solr VS Elasticsearch

什么是分布式搜索引擎
搜索引擎:数据源:数据库或者爬虫资源
分布式存储与搜索:多个节点组成的服务,提高扩展性(扩展成集群)
使用搜索引擎为搜索提供服务。可以从海量数据 中快速的获取到用户想要的数据,并且反馈给用户;可以提升存储量,分布式,可以部署在多个节点之上,分散存储。

luceceVS Solr VS Elasticsearch
倒排序索引:共同特点
Lucene:类库,api,本质是jar包,只能使用java整合
Solr:基于lucece,对Lucene的封装,Apache开源项目,实现集群通过zookeeper
国外互联网大厂在使用。
ES:基于lucene,提供restful类型的接口为我们提供服务。任何开发语言

2.Elasticsearch核心术语

ES->类比:数据库
索引index–》类比:表
文档(document)–>行,记录
字段fields->列

stu_index:索引 { 	id: 1001, 	name: jason, 	age: 19 },//{}内容为文档,id,name,age都是字段 { 	id: 1002, 	name: tom, 	age: 18 }, { 	id: 1003, 	name: rose, 	age: 22 } 

文档都是以json格式存在的。
映射mapping:类比表结构定义(int,char,长度,是不是null等)
近实时NRT:near real time一般一秒左右,近实时搜索
节点node:每一个服务器
Shard repica:数据分片和备份

age: 22
}

集群相关
分片(shard):把索引库拆分为多份,分别放在不同的节点上,比如有3个节点,3个节点的所有数据内容加在一起是一个完整的索引库。分别保存到三个节点上,目的为了水平扩展,提高吞吐量。

备份(replica):每个shard的备份。

简称
shard = primary shard(主分片)
replica = replica shard(备份节点)

3.Elasticsearch集群架构原理

在这里插入图片描述
多个es节点组成集群(多个shard),平均分配,1000/s是吞吐量。当有宕机后,使用repica作为备份。分片提高性能。

4.什么是倒排索引

正排索引:
相当于文档中的一条条记录;
例子:汉语值得学习;汉语是语言;汉语学习视频;

倒排索引:起源于实际应用中需要根据属性的值来查询记录。这种索引表的每一项都包括一个属性值和包含该属性值得各个记录地址。由于不是根据记录来确定属性,而是根据属性来确定记录的位置。
可以记录文档的ids,词频跟位置
例子:汉语值得学习;汉语是语言;汉语学习视频;

单词文档ids词频TF;位置POS
1,2,31:1<1>,2:1<1>,3:1<1>
1,2,31:1<2>,2:2<2,4>,3:1<2>
值得11:1:<3>
学习1,31:1<4>,3:1:<3>
21:1;<3>
22:1:<5>
视频33:1:<4>

5.安装Elasticsearch

上传后解压:
在这里插入图片描述
移动后的es文件:
在这里插入图片描述
ES 目录介绍
bin:可执行文件在里面,运行es的命令就在这个里面,包含了一些脚本文件等
config:配置文件目录
JDK:java环境
lib:依赖的jar,类库
logs:日志文件
modules:es相关的模块
plugins:可以自己开发的插件
data:这个目录没有,自己新建一下,后面要用 -> mkdir data,这个作为索引目录

修改核心配置文件 elasticearch.yml
修改集群名称,默认是elasticsearch,虽然目前是单机,但是也会有默认的
为当前的es节点取个名称,名称随意,如果在集群环境中,都要有相应的名字
在这里插入图片描述
修改data数据保存地址
修改日志数据保存地址

在这里插入图片描述
绑定es网络ip,原理同redis
默认端口号,可以自定义修改

在这里插入图片描述
集群节点
在这里插入图片描述
修改JVM参数
在这里插入图片描述
默认xms和xmx都是1g,虚拟机内存没这么大,修改一下即可
在这里插入图片描述
添加用户
ES不允许使用root操作es,需要添加用户,操作如下:

useradd esuser chown -R esuser:esuser /usr/local/elasticsearch-7.4.2 su esuser whoami whoami 

启动ES
./elasticsearch
如果出现如下错误:
在这里插入图片描述

那么需要切换到root用户下去修改配置如下:

vim /etc/security/limits.conf

* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096 

在这里插入图片描述
在这里插入图片描述
别忘记 sysctl -p 刷新一下
最后再次启动OK

测试
访问你的虚拟机ip+端口号9200,如下则表示OK
在这里插入图片描述

停止es
如果是前台启动,直接ctrl+c就可以停止
后台启动:

./elasticsearch -d

停止杀进程:
在这里插入图片描述
端口号意义
9200:Http协议,用于外部通讯
9300:Tcp协议,ES集群之间是通过9300通讯

6.安装es-header插件

由于无法访问GitHub官网,以及google应用商店,在网上找到教程通过GitClone去访问GitHub。然后在csdn找到别人别人提供的es-head的google商店扩展程序的安装包,完成es-head的一种安装方式。
扩展程序的安装地址:
在这里插入图片描述
GiuClone地址:https://www.gitclone.com/

安装node.js:最好结合下面两个教程:
https://blog.csdn.net/qq_39038178/article/details/125403896
https://zhuanlan.zhihu.com/p/542932711

需要在测试的后台开启跨域权限。
npm run start

总结;独立部署或者通过google扩展程序都很不错;主要有两种实现方式;
独立部署:
在这里插入图片描述
使用google extension:
在这里插入图片描述

相关内容

热门资讯

重大通报“逍遥辅助软件”附开挂... 重大通报“逍遥辅助软件”附开挂插件辅助详细教程逍遥辅助软件ai黑科技系统规律教程开挂技巧 1、操作简...
教程辅助“邯郸胡乐挂辅助”开挂... 【亲,邯郸胡乐挂辅助 这款游戏可以开挂的,确实是有挂的,很多玩家在这款邯郸胡乐挂辅助中打牌都会发现很...
四分钟辅助“poker辅助器免... 大家好,今天小编来为大家解答poker辅助器免费安装这个问题咨询软件客服可以免费测试直接加微信(13...
一分钟揭秘"丽水双扣... 一分钟揭秘"丽水双扣茶苑脚本"开挂(神器)辅助神器详细教程-有挂透视 >>您好:软件加薇136704...
教程辅助“中至余干可以装挂吗”... 教程辅助“中至余干可以装挂吗”开挂(透视)辅助脚本-知乎;无需打开直接搜索打开薇:136704302...
普及知识“八闽福建辅助”附开挂... 普及知识“八闽福建辅助”附开挂下载辅助详细教程;亲,八闽福建辅助这款游戏原来确实可以开挂的,详细开挂...
六分钟辅助“菠萝辅助平台”开挂... 六分钟辅助“菠萝辅助平台”开挂(透视)辅助神器黑科技教程-知乎您好:菠萝辅助平台这款游戏可以开挂,确...
科技新动态"小松宿松... 小松宿松游戏辅助 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1...
教程辅助“越乡游义乌辅助器”开... 教程辅助“越乡游义乌辅助器”开挂(透视)辅助插件-哔哩哔哩这是一款可以让一直输的玩家,快速成为一个“...
实测必看“浙江宝宝游戏万能辅助... 您好:这款浙江宝宝游戏万能辅助器游戏是可以开挂的,确实是有挂的,很多玩家在这款浙江宝宝游戏万能辅助器...