ElasticSearch

随笔3个月前发布 木子
31 0 0

一、简介

       ElasticSearch。简称es,开源高扩展的分布式全文搜索引擎。近乎实时存储、检索数据。扩展性好,可以扩展上百台服务器,处理PB级别的数据。java开发,使用Lucene作为核心来实现所有索引和搜索功能,目的是通过简单的Restful Api来影藏Lucene的复杂性,从而让全文搜索变得简单。

二、应用场景

        

三、对比solr

       3.1、solr简介

                Apache下顶级开源项目,采用java开发,基于Lucene的全文搜索服务器。提供了比Lucene更为丰富的查询语句,同事实现可配置,可扩展,并对索引,搜索性能进行了优化。

               Solr可独立运行,运行在Jetty,Tomcat等Servlet容器中,Solr索引的视线方法简单,用Post方法向Solr服务器发送一个描述Field及其内容的XML文档,Solr根据xml文档添加,删除,更新索引。Solr搜索只需要发送HTTP Get请求,然后对Solr返回Xml,Json等格式的查询结果进行解析,组织页面布局、Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以已查询Solr的配置和运行情况。

              Solr基于Lucene开发企业级搜索服务器,实际就是封装了Lucene。对外提供类似WebService的API接口。用户可以通过Http请求。向搜索引擎服务器提交一定格式的文件,生产索引;也可以通过提出查询请求,并得到返回结果。

      3.2、Lucene简介

              全文检索引擎架构。由Apache软件基金会支持和提供,提供了一个简单却强大的应用程式接口,能够做全文索引好搜寻。是一个成熟的免费开源工具。

     3.3、何谓全文搜索引擎

              全文搜索引擎分两种:

              1、拥有自己的检索程序。俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,并自建网页数据库,搜索结果直接从自身的数据库中调用。如:Google,Teoma,WiseNut等。

              2、租用其他引擎的数据库,并按照自定的格式排列搜索结果。如Lycos引擎。

     3.3、ElasticSearch 对比 Solr       

当单纯对已有的数据进行搜索,Solr更快;
当试试建立索引时,Solr会产生io阻塞,查询性能较差,ElasticSearch具有明显的优势;
伴随数据量增加,Solr的搜索效率会变的更低,而es没有明显变化。     

ElasticSearch             

四、安装使用

        4.1、windows环境下载安装

                 1、下载地址

                       链接如下:https://www.elastic.co/products/elasticsearch

                 2、安装

                       Tips:es使用java开发,lucene作为核心,需要配置好java环境(jdk 1.8以上)。

                       下载后直接解压即可,目录结构如下:

ElasticSearch

            3、修改配置文件

                  a、修改config/jvm.option文件

将#-Xms2g                                  
  #-Xmx2g修改成为:
-Xms340m
-Xmx340m
否则因为虚拟机内存不够无法启动

                  b、修改config/elasticsearch.yml文件

elasticsearch-5.6.8configelasticsearch.yml中末尾加入:
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 127.0.0.1
目的是使ES支持跨域请求

                  c、ES版本对应的JDK和你服务器的JDK版本不对处理。

                       安装ES的过程中,会发现它要求jdk11,但现在开发基本都是用jdk8.

                       处理办法是修改ES环境文件。                      

ElasticSearch

                       修改内容为:注意对应关系。

ElasticSearch 

            4、启动

                点击ElasticSearch下的bin目录下的elasticsearch.bat启动,控制台显示的日志如下:

ElasticSearch 

                Tips:9300是TCP通信端口,ES集群之间使用TCP进行通讯,9200是HTTP协议端口。

               浏览器访问:           

ElasticSearch

          5、安装图形化插件

               head插件,可以帮助ES实现图形化界面。安装方式分两种:在线安装,本地安装。

               elasticsearch-5-*以上版本安装head需要安装node和grunt。

               1、下载head插件:https://github.com/mobz/elasticsearch-head。下载后解压即可。

               2、下载node.js:https://nodejs.org/en/download/。下载后安装,安装过程略过。

ElasticSearch

               3、将grunt安装位全局命令,Grunt是基于Node.js的项目构建工具

                     grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.x里之后的head插件就是通过grunt启动的。因此需要安装grunt.

                     记得一定使用管理员身份运行,不然报错说没权限。

                       cmd种输入命令安装:

npm install -g grunt-cli

ElasticSearch

 

                       访问国外服务器,下载速度较慢,可以切换为淘宝镜像源。

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

后续使用的时候,只需要把npm xxx 换成 cnpm xxx 即可

                       检测是否安装策成功:

npm config get registry 

ElasticSearch

              Tips:后续使用时需要将npm替换为cnpm。

              4、启动head

                    通过CMD管理员命令进入head插件目录,到输入命令。

ElasticSearch

 

>npm install
>grunt server

ElasticSearch

                       打开浏览器,输入http://localhost:9100即可

ElasticSearch

 五、ES安装windows服务      

1.elasticsearch的bin目录下有一个elasticsearch-service.bat

2.cmd 进入bin目录下执行: elasticsearch-service.bat install 

ElasticSearch

               查看电脑服务es

ElasticSearch

elasticsearch-service.bat后面还可以执行这些命令
install: 安装Elasticsearch服务
remove: 删除已安装的Elasticsearch服务(如果启动则停止服务)
start: 启动Elasticsearch服务(如果已安装)
stop: 停止服务(如果启动)
manager:启动GUI来管理已安装的服务

 

 

 

 

 

 

 

 

 

 

五、小结

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...