Solr基础教程之环境搭建(一)

一、开篇一点概念

最近想深入研究下solr,顺便记录一些知识点,以供后来者。

1.Solr是什么东西

Solr是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。
Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。
它易于安装和配置,而且附带了一个基于HTTP 的管理界面。

2.Solr的特性包括

高级的全文搜索功能
专为高通量的网络流量进行的优化
基于开放接口(XML和HTTP)的标准
综合的HTML管理界面
可伸缩性-能够有效地复制到另外一个Solr搜索服务器
使用XML配置达到灵活性和适配性
可扩展的插件体系

OK以上这些,大家百度一下就可以找到相关,这里我不想说太多概念,不想写太多文字,大家也耐不下心来看。

那么上面提到了Lucene,它是一个基于Java的全文信息检索工具包,是Apache Jakarta家族中的一个开源项目,那么问题来了,solr和Lucene到底是什么关系呢?

这个问题很好解释,这就好比我们常用的数据库,我们所熟知的sql语句就好比solr,而数据库底层根据sql语句去做相应的动作处理,这就是Lucene做的事情,这样想就浅显的多了是吧。

当然了solr所做的事情远不止那么简单,其中还涉及各种乱七八糟的处理,看看下面这张图我从网上盗来的图,你就可以了解个大概了。
这里写图片描述
下面开始介绍最基本的搭建:

本文以solr-4.10.4版本为例,介绍solr的基本搭建会真的在tomcat和solr自身携带的web服务来部署运行solr

二、tomcat上部署solr

1、首先到apache下载solr,以下是地址:

http://mirrors.hust.edu.cn/apache/lucene/solr/

2、解压出solr-4.10.4

3、拷贝solr-4.10.4\example\webapps文件夹中的solr.war文件到tomcat安装目录中的webapps文件夹下,我这里使用的tomcat版本是apache-tomcat-7.0.11

4、运行tomcat。怎么运行呢…不用讲了吧!相信来看这篇帖子的人都知道tomcat怎么启动,tomcat启动后会自动解压solr.war文件。

5、启动完毕后,会生成文件夹solr,然后删除solr.war文件。(不然每次启动tomcat都会发布一次)

6、回到tomcat的webapps目录下,打开solr\WEB-INF\web.xml文件。

在web-app节点中加入以下代码,目录可根据实际情况自行决定:

<env-entry> 
   <env-entry-name>solr/home</env-entry-name> 
   <env-entry-value>D:\solrhome</env-entry-value> 
   <env-entry-type>java.lang.String</env-entry-type> 
</env-entry>

如上代码,需要在D盘新建一个文件夹:solrhome
这种配置有一个弊端,不方便打包,需打包前根据要部署的环境修改,当然还有其他配置方式,这里就不列举了。

7、回到解压的solr-4.10.4目录,打开文件夹:solr-4.10.4\example\solr,复制所有内容到D:\solrhome,那么这个solrhome其实就是solr的根目录,solr在启动的时候会取这个根目录下加载配置信息。

8、打开文件夹:solr-4.10.4\example\lib\ext,复制所有jar包到tomcat的webapps\solr\WEB-INF\lib下。

9、运行web:http://localhost:8088/solr,将看到如下画面:
这里写图片描述

10、在D:\solrhome目录下,新建一个mycore文件夹。

11、在解压的solr-4.10.4\example\multicore\core0目录中,复制其中的内容到D:\solrhome\mycore中。

15、在solr web page中新建core:
这里写图片描述
16、重启tomcat。(如何重启,忽略)

17、回到解压的solr-4.10.4目录,打开文件夹:solr-4.10.4\example\solr\collection1文件夹中的东西全部拷贝到D:\solrhome\mycore文件夹中,刚才复制的这部分东西,都是solr根目录的一些基本配置信息。

18、编写配置文件,将数据库中的数据映射到solr中,在D:\solrhome\mycore\conf下创建一个文件data-config.xml,写入以下内容:

<dataConfig>
    <dataSource type="JdbcDataSource"
              driver="org.postgresql.Driver"
              url="jdbc:postgresql://10.8.12.210/db_test"
              user="user_test"
              password="user_test" />
    <document>
        <entity name="solr_test" transformer="DateFormatTransformer"
            query="select id,address,area,birthday,local_real_name,mobile from t_mem_personal_data WHERE id >= ${dataimporter.request.id}">
        </entity>
    </document>
</dataConfig>

这里的id >= ${dataimporter.request.id}是指可以传入参数。

还有一个问题要注意,select后面你要引入进来的这些字段名,必须响应的在schema.xml文件中编写fields,schema.xml中预设了一些fields,但并不全面,详细的可以自己去查看,我后面的文章也会讲到。

然后打开D:\solrhome\mycore\conf下的solrconfig.xml,添加如下代码

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
        <str name="config">data-config.xml</str> 
    </lst>
 </requestHandler>

配置使用到的JAVA库文件
到solr-4.10.4\dist下,拷贝solr-dataimporthandler-4.10.4.jar到tomcat的webapps\solr\WEB-INF\lib中,这个jar包是为了将库导入solr。

另外还需要引入数据库的驱动,否则solr读不到数据库的数据,这里因为我使用的是postgresql,所以我下载了一个这个postgresql-9.2-1004-jdbc4.jar包,同样放到webapps\solr\WEB-INF\lib中。

然后重启solr。

18、然后将我们数据库表中的数据导入到solr中来,操作如下:
这里写图片描述

19、上面文件配置好后,其实就是配置的D:\solrhome\mycore\conf\solrconfig.xml中配置的data-config.xml,你可以去参照你拷贝过来的时候的初始的样子,然后再来对比,修改后的样子,就知道了,data-config.xml这个文件是根据你的配置自动生成的。

这里写图片描述

通过点击这两个按钮将数据刷到solr中去。

20、可以通过点击下面的按钮或者在浏览器中输入红框中的连接来得到请求的数据,请求数据的格式也是可以修改的。

这里写图片描述

三、使用solr自带的web服务部署运行solr
1、打开解压的solr-4.10.4\example下面有一个start.jar文件,打开命令行定位到这个目录下,执行如下代码:

java -jar start.jar

运行完后查看solr-4.10.4\example\solr-webapp下产生了一个webapp文件夹。

2、 打开web.xml文件,文件位于:solr-4.10.4\example\solr-webapp\webapp\WEB-INF

加入这段xml到web-app内:

<env-entry> 
   <env-entry-name>solr/home</env-entry-name> 
   <env-entry-value>D:\solr-4.10.4\example\solr</env-entry-value> 
   <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

其中,env-entry-value的值就是跟上面讲到的solrhome相同意思了。

事实上,这里的这个目录就是tomcat中webapps下的solr了,把solr-4.10.4\example\lib\ext,复制所有jar包到tomcat的webapps\solr\WEB-INF\lib下。

3、启动solr。回到第1步,目录:solr-4.10.0\example,运行命令:

如果你出现如下情况:

这里写图片描述

请检查你的jdk版本,可能是你本地的jdk版本跟本start.jar打包的版本不兼容。

在解压的solr-4.10.4\SYSTEM_REQUIREMENTS.txt中有如下描述:

这里写图片描述

这里建议这个版本运行在java7或者更高版本上。

4、ok,如果启动成功之后,那么浏览器输入地址加端口号,就可以打开solr的管理界面了,后续操作同上,下面是默认请求地址。

http://localhost:8983/solr/

如果要创建一个新的solr,只需要重复上面的第15步就可以了,记得重启。
这里写图片描述

本文仅介绍了基本的环境搭建,后续会就其中的各种配置文件如何配置,其中各种参数的意思进行详细的阐述,ok,就酱!

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生(FS)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值