tomcat+solr搭建单机版全文搜索服务 | 您所在的位置:网站首页 › solr全文检索 › tomcat+solr搭建单机版全文搜索服务 |
1、solr简介
1.1、 什么是solr
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 Solr是apache的顶级开源项目,它是使用java开发 ,基于lucene的全文检索服务器。 Solr比lucene提供了更多的查询语句,而且它可扩展、可配置,同时它对lucene的性能进行了优化。 Solr是如何实现全文检索的呢? 索引流程:solr客户端(浏览器、java程序)可以向solr服务端发送POST请求,请求内容是包含Field等信息的一个xml文档,通过该文档,solr实现对索引的维护(增删改) 搜索流程:solr客户端(浏览器、java程序)可以向solr服务端发送GET请求,solr服务器返回一个xml/json文档。 1.2、Solr和lucene的区别Lucene是一个全文检索引擎工具包,它只是一个jar包,不能独立运行,对外提供服务。 Solr是一个全文检索服务器,它可以单独运行在servlet容器,可以单独对外提供搜索和索引功能。Solr比lucene在开发全文检索功能时,更快捷、更方便。 2、Solr安装配置 2.1、Solr下载下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/ 2.2、tomcat配置运行solr运行环境: JDK:1.8 服务器:tomcat8 solr版本:7.1 文件目录如下: 2.2.2、操作步骤1、复制D:\software\solr\solr-7.1.0\server\solr-webapp下的目录wepapp至D:\software\solr\apache-tomcat-8.5.45\webapps目录下并修改webapp文件夹为solr 2、复制solr的jar包至tomcat 将D:\software\solr\solr-7.1.0\server\lib\ext文件夹下的所有jar包和 D:\software\solr\solr-7.1.0\server\lib文件夹下的部分jar包拷贝至D:\software\solr\apache-tomcat-8.5.45\lib 拷贝jar包至tomcat的lib文件夹下 3、在D:\software\solr\apache-tomcat-8.5.45\webapps\solr\WEB-INF中,新建classes文件夹,将D:\software\solr\solr-7.1.0\server\resources下的log4j.properties文件拷贝到里面 4、创建SOLR HOME目录(solr_home) 5、拷贝D:\software\solr\solr-7.1.0\server\solr下所有文件、文件夹复制到D:\software\solr\solr_home目录下 6、拷贝D:\software\solr\solr-7.1.0下contrib和dist文件夹至D:\software\solr\solr_home目录下 7、在D:\software\solr\solr_home目录下新建core文件夹; 并拷贝D:\software\solr\solr_home\configsets\sample_techproducts_configs\目录下conf文件夹至D:\software\solr\solr_home\core下 8、修改D:\software\solr\solr_home\core\conf\solrconfig.xml文件 9、修改D:\software\solr\apache-tomcat-8.5.45\webapps\solr\WEB-INF中的web.xml文件 新增如下部分,默认是注释掉的。 (40行处) 其中env-entry-value值为solr_home对应值,即solr home目录 10、修改D:\software\solr\apache-tomcat-8.5.45\webapps\solr\WEB-INF中的web.xml文件(注释如下部分内容)最下面162行 11、启动Tomcat 启动tomcat,访问http://localhost:8080/solr/index.html 12、 Solr core的配置(创建) 新建core(创建core文件夹) 新建的solrhome文件的位置为:D:\software\solr\solr_home\core D:\software\solr\solr_home\configsets\sample_techproducts_configs\目录下conf文件夹复制到D:\software\solr\solr_home\core下 在http://localhost:8080/solr/index.html管理界面中添加core 点击 add Core 按钮进行添加 添加完成生成两个文件 3、通过solr客户端DateImport导入sql数据该功能是将数据库中数据通过Sql语句方式导入到Solr索引库中。 第一步:添加jar包 将D:\software\solr\solr-7.1.0\dist目录下: mysql.jar 配置Solr:找到自带的中文分词器 D:\software\solr\solr-7.1.0\contrib\analysis-extras\lucene-libs 以上所有jar全部复制到 D:\software\solr\apache-tomcat-8.5.45\webapps\solr\WEB-INF\lib下 第二步:配置中文分词器 修改D:\software\solr\solr_home\core\conf\managed-schema 文件 1、在文件最后方插入中文分词器: 第三步:修改 D:\software\solr\solr_home\core\conf\solrconfig.xml文件 首先查询是否存在dataimport的requestHandler,如果不存在,因此需要手动添加。为了以后便于维护此文件,我们就在requestHandler起始位置,约为720行处,添加如下内容 data-config.xml第四步:创建data-config.xml data-config.xml作用:数据库连接相关信息、SQL以及查询结果映射对应域中 Query代表:查询的SQL语句 Column代表:SQL查询的列名 Name代表:Solr 域Filed中的域名 第四步:定义域 修改同目录下的managed-schema文件 在文件最后方插入中文分词器,同时还要配置其Field域:来配置字段【这里的名字要与data-config中的域名一模一样】 第五步:启动服务 1、启动Tomcat服务器 2、查看数据导入结果: 进入 core ,测试中文分词器效果: 进入 core 中 DataImport 执行 execute 执行完成后查看数据是否存在 |
CopyRight 2018-2019 实验室设备网 版权所有 |