Solr,
1.Solr介绍
1.1 Solr是什么
Solr是Apache下的一个顶级开源项目,基于Lucene的全文搜索服务,可以独立运行于Jetty,Tomcat等web容器中。使用Solr可以很方便的实现全文索引和搜索功能,如下:
创建索引:客户端可以通过http的post方法向Solr服务器发送一个描述Field及其内容的xml文档,Solr服务器根据xml文档添加、更新、删除索引。
搜索索引:客户端可以通过http的get方法向Solr服务器发送请求,对Solr服务器返回的xml或json格式结果进行解析。Solr不提供构建页面UI的功能。Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
1.2 Solr与Lucene的区别
- Lucene是一个全文检索工具包,提供了索引引擎和查询引擎功能,不是一个完整的服务,不能独立运行。Solr是基于Lucene构建的全文检索服务,是一个完整的服务,可以独立运行于web容器中。基于Solr可以快速构建企业级的搜索引擎。
2.Solr安装部署
2.1 下载solr
- 下载地址:http://archive.apache.org/dist/lucene/solr/
- 百度网盘下载链接:https://pan.baidu.com/s/1ZrTfZyYjzJD-ppbS5HCy2A
提取码:psyl
2.2 解压Solr
目录结构说明:
-- bin:solr运行脚本
-- contrib:solr的一些扩展jar包,用于增强solr功能
-- dist:build过程中生成的war和jar文件,以及一些依赖文件
-- docs:solr的API文档
-- example:solr工程的例子目录
-- licenes:solr相关的许可信息
2.3 安装环境
Solr需要运行在servlet容器中,并且Solr4.10.3要求jdk版本要在1.7以上。Solr本身集成了Jetty服务器,可以直接启动运行。
打开cmd命令行窗口,进入solr解压目录中的example目录。
进行cmd执行:java -jar start.jar
启动成功,访问:http://127.0.0.1:8983/solr
说明:在企业项目中,一般都使用tomcat服务器构建solr服务。
需要环境:
2.4 Solr配置
- SolrHome目录是Solr服务运行的主目录。一个SolrHome目录包含有多个SolrCore。SolrCore目录中包含了运行solr实例的配置文件和数据文件(日志和索引文件)。每一个SolrCore提供独立的索引和搜索服务。
2.4.1 创建SolrHome&SolrCore
- 拷贝 solr-4.10.3\example\solr 放到不含中文的盘符下面,这里我放在D盘下新建一个solr,把拷贝的文件重命名为solrhome
SolrHome目录:
SolrCore目录:
- 说明:
2.4.2 配置SolrCore
配置SolrCore目录下的conf/solrconfig.xml文件:
- 说明:solrconfig.xml文件是配置SolrCore实例的相关信息。默认情况下可以不做修改。在企业项目中会需要修改三个常用的标签:lib标签、datadir标签、requestHandler标签。
2.4.2.1 lib标签
在solrconfig.xml中可以加载一些扩展的jar,如果需要使用。(一般不需要使用)
solrconfig.xml文件75-85行,修改前:
修改后(删除前面7个lib标签,注释最后一个lib后面如果需要可以作为参考):
2.4.2.2 datadir标签
- 配置SolrCore的data目录,data目录用来存放SolrCore的索引文件和tlog日志文件。solr.data.dir表示${SolrCore}/data的目录位置
- 说明:一般不需要修改。
2.4.2.3 requestHandler标签
- requestHandler请求处理器,定义了索引和搜索的访问方式。
- 通过/update维护索引,可以完成索引的添加、修改、删除操作。
- 通过/select搜索索引,完成检索操作。
设置搜索参数完成搜索,搜索参数也可以设置一些默认值,如下: