分布式搜索引擎ES-elasticsearch入门

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:
在这里插入图片描述

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

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

相关文章

算法基础之回溯法

本文将详细介绍回溯法的基本原理和适用条件&#xff0c;并通过经典例题辅助读者理解回溯法的思想、掌握回溯法的使用。本文给出的例题包括&#xff1a;N皇后问题、子集和问题。 算法原理 在问题的解空间树中&#xff0c;回溯法按照深度优先的搜索策略&#xff0c;从根结点出发…

IP溯源工具--IPTraceabilityTool

工具地址&#xff1a;xingyunsec/IPTraceabilityTool: 蓝队值守利器-IP溯源工具 (github.com) 工具介绍&#xff1a; 在攻防演练期间&#xff0c;对于值守人员&#xff0c;某些客户要求对攻击IP都进行分析溯源&#xff0c;发现攻击IP的时候&#xff0c;需要针对攻击IP进行分析…

Hive理论讲解

Hive介绍 1、Hive本质 Hive本质是【数仓设计方案】&#xff0c;hive本身并不存储数据【数据包含&#xff1a;元数据 (表)数据】。 2、hql和sql对比 sql 结构化查询语言【structured query language】hql hive/hadoop类sql查询语言【hive/hadoop query language like sql…

Python学习笔记40:游戏篇之外星人入侵(一)

前言 入门知识已经学完&#xff0c;常用标准库也了解了,pygame入门知识也学了&#xff0c;那么开始尝试小游戏的开发。 当然这个小游戏属于比较简单的小游戏&#xff0c;复杂的游戏需要长时间的编写累计开发经验&#xff0c;同时也需要一定的时间才能编写出来。现在的话还是嫩…

2024年7月16日(使用光盘创建本地仓库,引入网络镜像仓库,创建自建仓库)

了解yum源安装包的特点 了解常用的网络yum源 掌握本地和网络yum源的配置 能够使用yum工具安装软件包 rpm -ivh xxx 手动添加依赖 yum不止执行安装&#xff0c;会自动处理依赖安装 1、yum优点 rpm安装 &#xff08;下载软件 单独安装 需要解决依赖关系&#xff09; 源码安装 &am…

海外媒体发稿-瑞典SEO破茧成蝶:从0到10的实战精要-大舍传媒

海外媒体发稿-瑞典SEO破茧成蝶:从0到10的实战精要 一、迷茫与意义的探寻 有一天我找了王老师聊天&#xff0c;谈到生活迷茫和人生的意义。老师说了一段话&#xff1a;当全情投入于一件事情时&#xff0c;是没有时间去迷茫或思索人生意义的。我感触很深&#xff0c;当总感到迷…

linux服务器配置conda环境安装教程

1 软件准备 1.1 软件下载 https://repo.anaconda.com/archive/index.html 根据官网选择自己需要的版本。 这里下载的是 Anaconda3-2023.03-1-Linux-x86_64.sh 或者直接在linux中输入 wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh 1.…

操作系统内核源码杂谈篇:临界区

临界资源&#xff0c;是指同一时刻只能由一个线程&#xff08;linux下为进程&#xff09;访问的资源&#xff0c;而临界区就是为了确保临界资源访问是单一数据流。 临界区的代码执行&#xff0c;也就是进行原子操作&#xff0c;不会被打断。 先分析RTOS的运行架构&#xff0c…

Paypal个人支付申请及沙箱测试配置

目录 一. 申请paypal账号二. Sanbox 测试配置申请买家Account申请卖家AccountSandbox的Client ID及密钥申请Live的Client ID及密钥申请IPN回调设置 一. 申请paypal账号 浏览器输入https://www.paypal.com, 单击注册按钮 2. 我这里申请个人账户&#xff0c;如果你需要企业账户&…

AI绘画入门实践|Midjourney 的模型版本

模型分类 Midjourney 的模型主要分为2大类&#xff1a; 默认模型&#xff1a;目前包括&#xff1a;V1, V2, V3, V4, V5.0, V5.1, V5.2, V6 NIJI模型&#xff1a;目前包括&#xff1a;NIJI V4, NIJI V5, NIJI V6 模型切换 你在服务器输入框中输入 /settings&#xff1a; 回车后…

【深度学习驱动智能超材料设计与应用】

在深度学习与超材料融合的背景下&#xff0c;不仅提高了设计的效率和质量&#xff0c;还为实现定制化和精准化的治疗提供了可能&#xff0c;展现了在材料科学领域的巨大潜力。深度学习可以帮助实现超材料结构参数的优化、电磁响应的预测、拓扑结构的自动设计、相位的预测及结构…

抖音矩阵系统源码开发部署流程分享

#短视频矩阵源码 #短视频矩阵 #源码交付 抖音矩阵系统源码开发部署流程如下&#xff1a; 环境配置&#xff1a;首先&#xff0c;需要安装并配置开发环境&#xff0c;包括安装Java JDK、MySQL数据库、Eclipse开发工具等。 数据库设计&#xff1a;根据抖音矩阵系统的需求&…

【数字IC/FPGA】书籍推荐(2)----《那些年,我们拿下了FPGA》

在下这几年关于数字电路、Verilog、FPGA和IC方面的书前前后后都读了不少&#xff0c;发现了不少好书&#xff0c;也在一些废话书上浪费过时间。接下来会写一系列文章&#xff0c;把一部分读过的书做个测评&#xff0c;根据个人标准按十分制满分来打分分享给大家。 概述 &#x…

【C语言】全面解析冒泡排序

文章目录 什么是冒泡排序&#xff1f;冒泡排序的基本实现代码解释冒泡排序的优化冒泡排序的性能分析冒泡排序的实际应用结论 在C语言编程中&#xff0c;排序算法是一个非常基础且重要的概念。冒泡排序作为最简单、最易理解的排序算法之一&#xff0c;广泛应用于各种编程教学和实…

在VS Code上搭建Vue项目教程(Vue-cli 脚手架)

1.前期环境准备 搭建Vue项目使用的是Vue-cli 脚手架。前期环境需要准备Node.js环境&#xff0c;就像Java开发要依赖JDK环境一样。 1.1 Node.js环境配置 1&#xff09;具体安装步骤操作即可&#xff1a; npm 安装教程_如何安装npm-CSDN博客文章浏览阅读836次。本文主要在Win…

使用NIFI连接瀚高数据库_并从RestFul的HTTP接口中获取数据局_同步到瀚高数据库中---大数据之Nifi工作笔记0067

首先来看一下如何,使用NIFI 去连接瀚高数据库. 其实,只要配置好了链接的,连接字符串,和驱动,任何支持JDBC的数据库都可以连接的. 首先我们用一个ListDatabaseTables处理器,来连接瀚高DB 主要是看这里,连接地址,以及驱动,还有驱动的位置 这个是数据连接的配置 jdbc:highgo://…

什么是上网行为审计系统?有哪些功能?

上网行为审计系统是一种网络安全与管理工具&#xff0c;用于监控、记录和分析组织内部网络用户的上网行为。 这种系统旨在帮助企业或组织了解员工如何使用网络资源&#xff0c;确保合规性&#xff0c;预防安全风险&#xff0c;并优化网络性能。以下是上网行为审计系统的主要功…

基于SpringBoot的招聘信息管理系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Eclipse、Navicat、Maven 系统展示 首页 个人中心 用户…

JavaScript中==和===的区别

&#x1f9d1;‍&#x1f4bb; 写在开头 点赞 收藏 学会&#x1f923;&#x1f923;&#x1f923; 前言 JavaScript 中的相等运算符无疑是新手开发者最容易混淆的知识点之一。 和这两个运算符的细微差别往往会在代码中造成一些令人困惑的行为 在本文中,我们将深入探讨这两个…

数据结构-冒泡排序

1 概念 冒泡排序属于一种常见的交换排序&#xff0c;根据序列中两个元素关键字的比较结果来对换这两个记录在序列中的位置。具体操作是按顺序&#xff08;从前往后或从后往前&#xff09;两两对比元素直至本次排序结束&#xff0c;每次排序确认一个固定值&#xff08;末位或首…