Elasticsearch搜索引擎✧入门

Elasticsearch✧入门


一、Elasticsearch常识

✧ 什么是Elasticsearch(ES)?

基于Lucene的搜索服务器,支持集群,用java开发的,基于RestFul web接口,最火的搜索引擎,稳定可靠快速。


✧ Lucene与Es的关系

lucene是一个全文检索的引擎架构,非常复杂需要深入了解,es在其上层封装,提供简单的restful API

  • 分布式实时文件存储
  • 实时分析
  • 非结构化,结构化都可以,可扩展上百台

✧ es和solr对比
  • es 优点:分布式,实时的、支持实时收索、多租户、不会出现单点故障
  • es 缺点:还不够自动,长期低水位,流量突增系统压垮
  • solr:优点:Apache 提供 一个更大,更成熟的用户社区、成熟稳定
  • solr:缺点:实时搜索不行(相较于es)

✧ ES倒排索引和正排索引
  • 什么是正排索引?
    简单说就是正常查询从上到下
  • 什么是倒排索引?
    通过记录映射一个属性值表,通过属性值指向记录关键字出现在哪一个记录上
    在这里插入图片描述
    在这里插入图片描述
    由属性去定记录的位置,不是由记录确定属性值

二、Linux安装ES

1、下载✧安装

官方下载


① 上传tar包并解压
在这里插入图片描述

mkdir -p /usr/local/elasticsearch/es1
tar -zxvf elasticsearch-7.4.2-linux-x86_64.tar.gz -C
//-C 要加压到的文件目录

解压后其实便可以启动,但root账号无法启动,权限过高


② 环境配置并启动
修改配置文件 elasticsearch-env

vim bin/elasticsearch-env
//指定自带的jdk
JAVA_HOME="/usr/local/elasticsearch/es1/elasticsearch-7.4.2/jdk/"

创建 es 用户组和 es 用户,并将其添加到用户组 es 中

groupadd es 
useradd es -g es
//更改 es 文件夹及内部文件的所属用户及组为 es:es
chown -Rf es:es /usr/local/elasticsearch/
//切换到 es 用户再次启动
su es 
bin/elasticsearch // 加 -d是后台启动

在这里插入图片描述


测试:[es@localhost root]$ curl http://127.0.0.1:9200
在这里插入图片描述
如果启动失败,可能是你的配置文件空格问题导致配置出错


2、远程访问(windows访问)配置

修改 config/elasticsearch.yml 文件

vi config/elasticsearch.yml

实际生产环境请添加允许访问的IP,学习时使用0.0.0.0放行所有IP

network.host: 0.0.0.0

切换至root用户添加防火墙规则,重启防火墙,学习时直接关闭防火墙

su root -A INPUT -p tcp -m state --state NEW -m tcp --dport 9200 -j ACCEPT systemctl restart iptables.service
//停掉防火墙
systemctl stop firewalld

切换es用户重启elasticsearch,重启之前先查询es进程然后杀死进程

kill -9 进程号 bin/elasticsearch -d

Elasticsearch进程的最大文件描述符[4096]太低,请至少增加到[65535]

vi /etc/security/limits.conf
//添加一下内容
 es soft nofile 65535
 es hard nofile 65535 
 es soft nproc 4096 
 es hard nproc 4096

用户[es]可以创建的最大线程数[3795]太低,请至少增加到[4096]

vi /etc/sysctl.conf
//添加如下内容
vm.max_map_count = 262144

重载一下

sysctl -p

当前配置不适合生产环境使用

vi config/elasticsearch.yml
//添加如下
discovery.seed_hosts: ["192.168.10.100"]
cluster.initial_master_nodes: ["192.168.10.100"]

重启访问
在这里插入图片描述


三、常用插件Head

在学习和使用Elasticsearch的过程中,必不可少需要通过一些工具查看es的运行状态以及数据。如果都是通过rest请求,未免太过麻烦,而且也不够人性化。head可以完美帮我们快速学习和使用es


1、安装Node.js

直接官网下载tar包,导入linux,解压tar包,配置环境变量

mkdir -p /usr/local/nodejs 
tar -xvf node-v12.13.1-linux-x64.tar.xz -C /usr/local/nodejs/
配置环境变量 
export NODE_HOME=/usr/local/nodejs/node-v12.13.1-linux-x64 
export PATH=$PATH:$NODE_HOME/bin

在这里插入图片描述


2、安装Head

直接从官网下载资源,导入到linux,并解压

在这里插入图片描述
安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

进入Elasticsearch安装目录下的config目录,修改 elasticsearch.yml 文件

//添加内容
# 如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST 请求。
 http.cors.enabled: true 
# 如果 http.cors.enabled 的值为 true,那么该属性会指定允许 REST 请求来自何处。
 http.cors.allow-origin: "*"

进入 elasticsearch-head 目录,修改 Gruntfile.js 文件

cd /usr/local/elasticsearch/plugins/elasticsearch-head/ 
vi Gruntfile.js

在这里插入图片描述
基本配置完毕


3、启动测试
npm install 
npm run start 
或者
npm run start & # 后台启动

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每日小新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值