全文检索工具elasticsearch的安装和简单介绍

Elasticsearch5.6.4+Kibana5.6.4
提取码:jnw3
搜索

什么是搜索, 计算机根据用户输入的关键词进行匹配,从已有的数据库中摘录出相关的记录反馈给用户。
常见的全文搜索引擎,像百度、谷歌这样的。但是除此以外,搜索技术在垂直领域也有广泛的使用,比如淘宝、京东搜索商品,万芳、知网搜索期刊,csdn中搜索问题贴。也都是基于海量数据的搜索。

1.如何处理搜索
1.1 用传统关系性数据库

在这里插入图片描述
弊端:
1、对于传统的关系性数据库对于关键词的查询,只能逐字逐行的匹配,性能非常差。
2、匹配方式不合理,比如搜索“小密手机” ,如果用like进行匹配, 根本匹配不到。但是考虑使用者的用户体验的话,除了完全匹配的记录,还应该显示一部分近似匹配的记录,至少应该匹配到“手机”。

1.2 专业全文索引是怎么处理的

全文搜索引擎目前主流的索引技术就是倒排索引的方式。
传统的保存数据的方式都是:记录→单词
而倒排索引的保存数据的方式是:单词→记录
例如
搜索“红海行动”
但是数据库中保存的数据如图:
在这里插入图片描述
那么搜索引擎是如何能将两者匹配上的呢?
基于分词技术构建倒排索引
首先每个记录保存数据时,都不会直接存入数据库。系统先会对数据进行分词,然后以倒排索引结构保存。如下:
在这里插入图片描述
然后等到用户搜索的时候,会把搜索的关键词也进行分词,会把“红海行动”分词分成:红海行动两个词。
这样的话,先用红海进行匹配,得到id=1和id=2的记录编号,再用行动匹配可以迅速定位id为1,3的记录。
那么全文索引通常,还会根据匹配程度进行打分,显然1号记录能匹配的次数更多。所以显示的时候以评分进行排序的话,1号记录会排到最前面。而2、3号记录也可以匹配到。

2.elasticsearch的安装
2.1 安装包下载

Elasticsearch官网: https://www.elastic.co/products/elasticsearch
5.6.4版本下载地址:https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-4
下载好后放到/opt/目录下
在这里插入图片描述

2.2 安装elasticsearch

在/opt目录下执行rpm -ivh elasticsearch-5.6.4.rpm
在这里插入图片描述

2.3 注册并启动服务

cd /etc/init.d
在这里插入图片描述
CentOS7.x 可以通过systemctl list-unit-files|grep elasticsearch
在这里插入图片描述
启动之前为elasticsearch配置jdk
vim /etc/sysconfig/elasticsearch 中修改JAVA_HOME的路径
在这里插入图片描述
启动elasticsearch
service elasticsearch start
在这里插入图片描述
查看进程
在这里插入图片描述

核心文件
vim /etc/sysconfig/elasticsearch
vim /etc/elasticsearch/elasticsearch.yml
数据文件路径 /var/lib/elasticsearch/
日志文件路径 /var/log/elasticsearch/elasticsearch.log

2.4 修改配置文件

vim /etc/elasticsearch/elasticsearch.yml
修改yml配置的注意事项:每行必须顶格,不能有空格,“:”后面必须有一个空格

集群名称,同一集群名称必须相同
在这里插入图片描述
单个节点名称
在这里插入图片描述
网络部分 改为当前的ip地址 ,端口号保持默认9200就行
在这里插入图片描述
把bootstrap自检程序关掉
bootstrap.system_call_filter: false
在这里插入图片描述
自发现配置:新节点向集群报到的主机名,也可以写ip地址
在这里插入图片描述

2.5 修改linux配置

为什么要修改linux配置?
默认elasticsearch是单机访问模式,就是只能自己访问自己。但是我们之后一定会设置成允许应用服务器通过网络方式访问。这时,elasticsearch就会因为嫌弃单机版的低端默认配置而报错,甚至无法启动。所以我们在这里就要把服务器的一些限制打开,能支持更多并发。

问题1:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] elasticsearch
原因:系统允许 Elasticsearch打开的最大文件数需要修改成65536

解决:vi /etc/security/limits.conf
添加内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 65536

注意:“*” 不要省略掉
在这里插入图片描述

2.6 调整es启动内存并重启linux

可以根据自己的需求更改es启动的内存大小。
vim /etc/elasticsearch/jvm.options
调整一下elasticsearch 的配置,将启动的内存调整为自己需要的大小
在这里插入图片描述
# reboot

2.7 测试

在这里插入图片描述
或者直接浏览器访问http://192.168.xxx.xxx:9200
在这里插入图片描述

如果启动未成功,请去查看相关日志
vim /var/log/elasticsearch/my-es.log
如果出现下面这个错误先检查自己es的配置文件,也有可能是内存不足造成的删除没用的文件。 xxx.tar.gz
在这里插入图片描述

3.安装kibana

拷贝kibana-5.6.4-linux-x86_64.tar 到/opt下解压缩进入kibana主目录的config目录下之后
vim kibana.yml
在这里插入图片描述
启动
在kibana主目录bin目录下执行
nohup ./kibana &
然后ctrl+c退出
执行ps -ef
在这里插入图片描述
如上图,1757号进程就是kibana的进程

用浏览器打开
http://192.168.xx.xx:5601/
点击左边菜单DevTools
在Console中
执行 get _cluster/health
右边的结果中,status为yellow或者green
表示es启动正常,并且与kibana连接正常。
在这里插入图片描述
测试搜索
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值