Solr基础教程之环境搭建

Posted 孙琛斌(浮生)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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目录中,复制其中的内容到E:\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中来,操作如下:
技术分享

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

技术分享

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

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

技术分享

三、使用solr自带的web服务部署运行solr

1、 打开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了,把需要的jar包都复制到这里的lib目录下即可。比如IKAnalyzer2012FF_u1.jar / mysql-connector-java-5.1.7-bin.jar等

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

如果你出现如下情况:

技术分享

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

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

技术分享

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

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

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














以上是关于Solr基础教程之环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

solr6.6教程-基础环境搭建

solr学习-基础环境搭建

Docker开篇之基础概念篇

教程:在centos上搭建单机版solr

Kafka 实战开篇-讲解架构模型基础概念以及集群搭建

Linux系列之solr单机版环境搭建