Solr6.6安装教程

Solr简介及安装环境:

目前网上有不少关于Solr的教程,但是Solr6+以上相关的资料还是比较少的,虽说Solr6+的安装与使用过程较与之前的版本大同小异,但某些差异所引发的问题还是比较麻烦的。有不少朋友可能听过或用过Lucene,甚至纠结于到底是选择Solr还是Lucene,在讲解Solr之前简单介绍一下Solr并介绍一下Solr与Lucene之间的关系(ps:多学点技术总比少学点技术好,而且Solr与Lucene之间息息相关,学会一个对于学另一个有很大的帮助,同时对于其中的细节也能了解的更加透彻)

什么是Solr?

        Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

Solr的特点:

       Solr是一个高性能,采用Java开发,Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

什么是Lucene?

        Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。
   Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

Solr与Lucene之间的关系:

        Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
        Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括Solr: Solr是Lucene面向企业搜索应用的扩展。

安装环境:

  • 不管是Windows还是Linux操作系统,Solr的安装都是一样的,在此就选择比较简单的Windows了。
  • 此处使用的Solr是最新版的Solr-6.6.0,没有的朋友可以去Apache Solr官网进行下载,此处就不过多讲解了。
  • Solr-6.6.0所需Tomcat服务器必须为Tomcat8+以上,所需jdk编译环境也必须在jdk8+以上(ps:Tomcat与jdk没达到要求的朋友也可以去相应的官网上进行下载并安装,此处也不过多讲解了)
  • 将下载好的solr-6.6.0.zip解压至D:\JAR\Solr
  • 将Tomcat解压至D:\Tomcat8
  • 解压路径根据自己的喜好风格即可,没有固定的目录格式

Solr搭建:

复制Web项目:

  • 解压后的Solr中有一个server目录,进入server目录,紧接着进入solr-webapp目录,复制solr-webapp目录下的webapp文件夹至tomcat的webapps目录下,并将复制过来的webapp文件夹改名为solr(ps:复制过来的就是一个Java Web项目,因此此处不进行改名也可以,不改名的话项目名称就是webapp,改名后项目名称为solr,有一点Java Web经验的朋友对此处应该能够很容易理解)

创建SolrHome:

  • 创建一个SolrHome,即存放solr索引及相关配置文件的地方,在任意一个盘中创建一个空文件夹即可,路径及名字不一定为SolrHome\solr_home,根据自己喜好即可,如下图:

  • 解压后的Solr中有一个server目录,进入server目录,紧接着进入solr目录,将目录中所有内容复制到创建的solr_home中,如下图:

  • 修改复制到tomcat中的solr项目中的WEB-INF目录下的web.xml配置文件,如下图:


复制所需jar包:

  • 将所需要的架包通通复制到tomcat的solr项目中的WEB-INF目录下的lib目录下,如下图:

  • 复制solr-6.6.0\dist 下的solr-dataimporthandler-6.6.0.jar、solr-dataimporthandler-extras-6.6.0.jar 包到tomcat下的webapps\solr\WEB-INF\lib目录下
  • 复制solr-6.6.0\server\lib\ext下的所有jar包到tomcat下的webapps\solr\WEB-INF\lib目录下
  • 复制solr-6.6.0\server\lib下的metrics开头的5个jar到tomcat下的webapps\solr\WEB-INF\lib目录下(即metrics-core-3.2.2.jar、metrics-ganglia-3.2.2.jar、metrics-graphite-3.2.2.jar、metrics-jetty9-3.2.2.jar、metrics-jvm-3.2.2.jar)

验证Solr是否安装成功:

  • 开启tomcat服务器,访问http://localhost:8080/solr/index.html(ps:按道理来说只要访问http://localhost:8080/solr就能成功访问才对,但是solr6.6必须还得在后面加上index.html才行,有朋友知道是什么原因的话可以跟我说一下),如下图所示:

创建一个自己的core:

  • Solr里面的core就像数据库里面的一个表,用来管理索引和相关配置。
  • 进入solr_home(ps:前面已经将相关配置文件复制到了solr_home中,没有复制的朋友看看前面相关操作),创建一个名为test1的文件夹:

  • 将solr_home下的configsets目录下的sample_techproducts_configs目录下的conf文件夹复制到test1中:

  • 访问http://localhost:8080/solr/index.html,进行如下操作:

  • 至此整个solr就搭建好了,至于Solr如何使用后期再慢慢介绍吧