1.ElasticSearch 介绍
1.1.为什么要用ElasticSearch?
当我们访问购物网站的时候,我们可以根据我们随意所想的内容输入关键字就可以查询出相关的内容,这是怎么做到呢?这些随意的数据不可能是根据数据库的字段查询的,那是怎么查询出来的呢,为什么千奇百怪的关键字都可以查询出来呢?
答案就是全文检索服务,ElasticSearch是一个基于Lucene的全文检索服务器,而lucene采用了词元匹配方案。举个例子:北京天安门----Lucene切分词:北京 天安门 等等这些词元,当我们搜索的时候这些词元都可以检索到北京天安门。
1.2.ElasticSearch介绍
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个基于RESTful web接口的分布式全文搜索引擎。ElasticSearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。根据DB-Engines的排名显示,ElasticSearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基Lucene)。
总结:
1、elasticsearch是一个基于Lucene的分布式全文检索服务器。
2、elasticsearch隐藏了Lucene的复杂性,对外提供Restful 接口来操作索引、搜索。
es和solr选择哪个?
1.如果你公司现在用的solr可以满足需求就不要换了。
2.如果你公司准备进行全文检索项目的开发,建议优先考虑elasticsearch,因为像Github这样大规模的搜索都在用它。
1.3.原理与应用
1.3.1.略
2.安装 ElasticSearch
2.1.环境需求
1、jdk必须是jdk1.8.0_131以上版本。
2、ElasticSearch 需要至少4096 的线程池和 262144字节以上空间的虚拟内存才能正常启动,所以需要为虚拟机分配至少1.5G以上的内存
3、从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动
4、Elasticsearch的插件要求至少centos的内核要3.5以上版本
2.2.安装ES
2.2.1.下载
ElasticSearch官网:https://www.elastic.co/cn/
2.2.2.设置虚拟机内存
至少1.5g内存
2.4.3.创建用户
从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/l