目前网上有不少关于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的教程,但是Solr6+以上相关的资料还是比较少的,虽说Solr6+的安装与使用过程较与之前的版本大同小异,但某些差异所引发的问题还是比较麻烦的。有不少朋友可能听过或用过Lucene,甚至纠结于到底是选择Solr还是Lucene,在讲解Solr之前简单介绍一下Solr并介绍一下Solr与Lucene之间的关系(ps:多学点技术总比少学点技术好,而且Solr与Lucene之间息息相关,学会一个对于学另一个有很大的帮助,同时对于其中的细节也能了解的更加透彻)。
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
Solr是一个高性能,采用Java开发,Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。 Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。 Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括Solr: Solr是Lucene面向企业搜索应用的扩展。
复制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)