一、Solr简介
1.1 Solr简介
Solr
是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene
更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr 可以独立运行,运行在Jetty、Tomcat等Servlet容器中。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
Solr索引的实现方法很简单,用Post
方法向Solr服务器发送一个描述Field及其内容的JSON文档,Solr根据JSON文档添加、删除、更新索引。Solr搜索只需发送Get
请求,然后对Solr返回的JSON等格式的查询结果进行解析,组织页面布局。
1.2 Solr与Lucene区别
Lucene
是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene提供了完整的查询引擎和索引引擎,目的是为开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索引擎。
Solr
目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎。
二、Solr安装与配置
2.1 下载Solr
安装Solr前先要安装好JAVA
和Tomcat
,我使用的版本如下:
Solr下载地址点击这里,我使用的版本是solr-6.6.2
,和《Lucene初探——基于Lucene 6.6.2》这篇文章的版本相对应。
下载完后,解压压缩包,目录结构如下:
名称 |
介绍 |
bin |
Solr的脚本启动目录 |
contrib |
关于solr的第三方扩展 |
dist |
Solr的核心JAR包和扩展JAR包 |
dist/solrj-lib |
构建基于Solr的客户端时用到的JAR包 |
dist/test-framework |
包含测试Solr时候用到的JAR包 |
docs |
Solr文档 |
example |
Solr的简单示例 |
licenses |
许可协议 |
server |
本地运行Solr的必要文件 |
2.2 搭建Solr后台
Solr自带了一个后台管理,但是不能直接运行,需要进行配置。
在配置前,先说明下我的Tomcat安装位于D:\apache-tomcat-8.5.16
,下载的solr源码包名称为solr-6.6.2
,后面的步骤使用到的目录请根据个人实际情况进行修改。
Step1:将solr-6.6.2\server\solr-webapp
下的webapp
复制到D:\apache-tomcat-8.5.16\webapps
目录下,并改名为solr
(名称任意)。
Step2: 将solr-6.6.2\server\lib\ext
的jar包复制到D:\apache-tomcat-8.5.16\webapps\solr\WEB-INF\lib
目录下。
Step3:将solr-6.6.2\dist
下的solr-dataimporthandler-6.6.2.jar
和solr-dataimporthandler-extras-6.6.2.jar
复制到D:\apache-tomcat-8.5.16\webapps\solr\WEB-INF\lib
目录下。
Step4:将solr-6.6.2\server\lib
下的以metrics
开头的5个jar包复制到D:\apache-tomcat-8.5.16\webapps\solr\WEB-INF\lib
目录下。
Step5: 配置solr的家目录。在E盘下创建文件夹solrHome
(位置名称任意),将solr-6.6.2\server\solr
下的所有文件复制到E:\solrHome
。
Step6:修改solr配置文件。打开D:\apache-tomcat-8.5.16\webapps\solr\WEB-INF
下的web.xml
,定位到40行,将下面一段注解打开,并修改
值为E:/solrHome
。
Step7:将web.xml
168行那一大块注释掉,不然访问solr会出现没有授权的错误。
Step8: 在D:\apache-tomcat-8.5.16\webapps\solr\WEB-INF
目录下创建classes
文件夹,并将solr-6.6.2\server\resources
下的log4j.properties
复制过去。
Step9:启动Tomcat,访问http://localhost:8080/solr/index.htm
,登陆到Solr后台管理。