一、ElasticSearch介绍
1、什么是ElasticSearch?
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个基于RESTfulweb接口的分布式全文搜索引擎
简单来说就是基于lucene的全文检索服务器,对外提供restful接口
学习之前我们要清楚一件事,有些公司会使用solr,这个时候es和solr我们选择哪一个?
①如果你公司现在用的solr可以满足需求就不要换了。
②如果你公司准备进行全文检索项目的开发,建议优先考虑elasticsearch,因为像Github这样大规模的搜索都在用它。
2.ElasticSearch的索引结构
ElasticSearch有两种索引
①正排索引,为了方便理解直接上图
正排索引:原始文档传入数据到index索引库后–>documents文档–>分词列表(分词列表中的内容)
我们也可以用字典去理解–正排索引:查字典从第一页开始找,直到找到位置(文档----->关键字)
②倒排索引,直接上图
倒排索引:原始文档传入数据到index索引库后—>关键字(分词列表中的内容)—>documents文档
也可以通过字典去理解–倒排索引:查字典时通过目录查询(关键字---->文档)
倒排索引由三部分组成组成(进阶):
1、将搜索的文档最终以Document方式存储起来。
2、将要搜索的文档内容分词,所有不重复的词组成分词列表。
3、每个分词和docment都有关联。
我们需要明白分词列表的特点:①不重复 ②“的 得 地”语气词不参加分词 ③搜索的field不参加分词
👆上面我们介绍完了Elasticsearch和他的索引结构,那么我们要如何使用呢?
推荐使用Elasticsearch因为他提供 RESTful Api接口进行索引、搜索,并且支持多种客户端。
二,ElasticSearch的安装
安装之前环境需求
1、jdk必须是jdk1.8.0_131以上版本。
2、ElasticSearch 需要至少4096 的线程池和 262144字节以上空间的虚拟内存才能正常启动,所以需要为虚拟机分配至少1.5G以上的内存
3、从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动
4、Elasticsearch的插件要求至少centos的内核要3.5以上版本
下载
ElasticSearch官网:https://www.elastic.co/cn/
下载好后使用xftp等一类软件放入虚拟机/usr/upload的文件夹中
设置虚拟机内存
创建用户
从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动,所以我们要添加一个用户。
1.创建elk 用户组
groupadd elk
2.创建用户admin
useradd admin
passwd admin
3.将admin用户添加到elk组
usermod -G elk admin
5.为用户分配权限
#chown将指定文件的拥有者改为指定的用户或组 -R处理指定目录以及其子目录下的所有文件
chown -R admin:elk /usr/upload
chown -R admin:elk /usr/local