solr install

2018-08-24 15:05:56 浏览数 (1)

一、solr简介:

     Solr是一个独立的企业及搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。solr可以运行在Jetty、Tomcat等服务器上面。

二、solr下载:

     solr最新版的下载链接是:http://mirrors.hust.edu.cn/apache/lucene/solr/6.4.2/,通过上述地址下载Zip文件即可,但是基于不使用最新版的保守心理,我任然在适用4.10.3版本,这里附上4.10.3版的下载地址:http://archive.apache.org/dist/lucene/solr/4.10.3/,当然,如果还是下载不了,请到我的cnbolg下下载。

三、solr安装在Tomcat下:

     1、环境介绍:

            JDK:jdk1.8.0_121,请使用1.7及以上版本,笔者在JDK1.6上solr配置之后跑不起来

            Tomcat:apache-tomcat-7.0.73

            solr:solr-4.10.3

    2、solr目录介绍:下载solr加压后的目录结构如图所示

bin是solr运行的脚本

      contrib是solr的一些插件,用于扩展solr的功能

      dist该文件夹下包含build过程中产生的war和jar文件,以及相关的依赖文件

      doc:solr的文档

      example:solr官方提供的一些示例程序,简要介绍几个示例

                solr:该目录是一个包含了默认配置信息的Solr的Core目录

                multicore:该目录包含了在Solr的multicore中设置的多个Core目录

                webapps:该目录中包括一个solr.war,该war可作为solr的运行实例工程 

     licenses:solr相关的一些许可信息

3、创建solr工程

       ① 创建solr文件夹,在solr文件夹下创建solrHome文件夹,solrHome是solr运行的主目录,其下可以建立多个solr实例工程,及solrCore,solrCore单独对外提供一个搜索服务。

       ② 将solr-4.10.3examplesolr下的所有文件copy到新建的solr工程的solrHome下,collection1即是一个solrCore,每个solrCore下的conf文件下都有solrconfig.xml文件,这是solrCore运行的配置文件。(solr-4.10.3是解压下载的Zip文件)

 ③ 将solr-4.10.3下的contrib和dist 复制到solr下,与solrHome同级

④ 加载jar包:打开solrCore(collection1)下conf文件中的solrconfig.xml文件,找到引用jar包的代码

代码语言:javascript复制
  <lib dir="${solr.install.dir:../../..}/contrib/extraction/lib" regex=".*.jar" />
  <lib dir="${solr.install.dir:../../..}/dist/" regex="solr-cell-d.*.jar" />

  <lib dir="${solr.install.dir:../../..}/contrib/clustering/lib/" regex=".*.jar" />
  <lib dir="${solr.install.dir:../../..}/dist/" regex="solr-clustering-d.*.jar" />

  <lib dir="${solr.install.dir:../../..}/contrib/langid/lib/" regex=".*.jar" />
  <lib dir="${solr.install.dir:../../..}/dist/" regex="solr-langid-d.*.jar" />

  <lib dir="${solr.install.dir:../../..}/contrib/velocity/lib" regex=".*.jar" />
  <lib dir="${solr.install.dir:../../..}/dist/" regex="solr-velocity-d.*.jar" />

注: solr.install.dir表示solrCore的位置,需要根据实际jar包的位置更改jar包引用路径

         每两个点“..”代表退到上一级目录,所以退了两级目录,到了solr目录,因此上图表示的是在引用的jar包在solr目录下的contrib或者dist目录下

 ⑤更改dataDir:每个SolrCore都有自己的索引文件目录 ,默认在SolrCore目录下的data中

代码语言:javascript复制
<!-- Data Directory

       Used to specify an alternate directory to hold all index data
       other than the default ./data under the Solr home.  If
       replication is in use, this should match the replication
       configuration.
    -->
  <dataDir>${solr.data.dir:}</dataDir>

新建的solrCore没有data,data在项目运行时自动生成,如上所示使用默认目录,等于<dataDir>${solr.data.dir:D:/solr/solrHome/collection1/data}</dataDir>,如需自定义data则更改对应的路径。

4)solr工程部署到Tomcat上

      ①将solr-4.10.3dist下的solr-4.10.3.war复制到Tomcat的webapp目录下,并改名为solr.war

      ②启动Tomcat后,solr.war自动解压之后删除solr.war;或者用360压缩工具解压。

      ③将solr-4.10.3examplelibext下所有jar包复制到webappssolrWEB-INFlib目录下

      ④修改webappssolrWEB-INF下的web.xml文件:目的是将Tomcat中的solr关联上之前创建的solr工程

代码语言:javascript复制
 <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>D:solrsolrHome</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

⑤ 复制log4j.properties文件

           在webappssolrWEB-INF下新建classes文件夹,将solr-4.10.3exampleresources下的log4j.properties文件复制到classes目录下

⑥ 启动Tomcat,在浏览器中访问http://localhost:8080/solr ,结果如下:

5)保存一条数据

浏览器输入查询URL:http://localhost:8080/solr/collection1/select?q=title:change.me

0 人点赞