一、Solr简介

1.1 Solr简介

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

Solr 可以独立运行,运行在JettyTomcat等Servlet容器中。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。

Solr索引的实现方法很简单,用Post方法向Solr服务器发送一个描述Field及其内容的JSON文档,Solr根据JSON文档添加删除更新索引。Solr搜索只需发送Get请求,然后对Solr返回的JSON等格式的查询结果进行解析,组织页面布局。

1.2 Solr与Lucene区别

Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene提供了完整的查询引擎和索引引擎,目的是为开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索引擎。参考文章:Lucene初探——基于Lucene 6.6.2

Solr目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎。


二、Solr安装与配置

2.1 下载Solr

安装Solr前先要安装好JAVATomcat,我使用的版本如下:

  • JDK 1.8

  • Tomcat 8.5

Solr下载地址点击这里,我使用的版本是solr-6.6.2,和《Lucene初探——基于Lucene 6.6.2》这篇文章的版本相对应。

下载完后,解压压缩包,目录结构如下:

名称介绍
binSolr的脚本启动目录
contrib关于solr的第三方扩展
distSolr的核心JAR包和扩展JAR包
dist/solrj-lib构建基于Solr的客户端时用到的JAR包
dist/test-framework包含测试Solr时候用到的JAR包
docsSolr文档
exampleSolr的简单示例
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.jarsolr-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行,将下面一段注解打开,并修改<env-entry-value>值为E:/solrHome

Step7:web.xml168行那一大块注释掉,不然访问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.html,登陆到Solr后台管理。

2.3 创建一个核(core)

现在为Solr添加一个核(core),在E:/solrHome目录下新建一个文件夹,文件夹名就是核的名字,以core1为例。

拷贝E:\solrHome\configsets\sample_techproducts_configs目录下的conf文件夹到core1文件夹中。

在Solr后台的Core Admin中点击Add Core新建一个核,nameinstanceDir填之前建的文件夹名。

添加后多了一个Core Seletctor,至此核就建好了。


三、后台介绍

名称含义
Dashboard仪表盘,包含一些参数信息
Logging日志信息
Core Admin核管理
Java PropertiesJava、Tomcat参数信息
Thread Dump每次CRUD产生的进程日志

核的信息中:

名称含义
Overview核的参数信息
Analysis分词
Dataimport数据导入,能够从数据库中将表等信息导入索引库中
Documents对文档Document进行增、删、改操作
Files显示核的conf目录下所有内容
Ping测试与主机的ping值
Plugins / Status插件
Query对文档Document进行查询操作
Replication副本,用于备份机
Schema域配置
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐