(一)Solr——简介和安装配置

1. solr简介

1.1 Solr是什么

Solrapache的顶级开源项目它是使用java开发 ,基于lucene的全文检索服务器。

Solrlucene的版本是同步更新的,最新的版本是7.0.1。下载地址http://archive.apache.org/dist/lucene/solr/

Solrlucene提供了更多的查询语句,而且它可扩展、可配置,同时它对lucene的性能进行了优化。

Solr是如何实现全文检索的呢?

索引流程:solr客户端(浏览器、java程序)可以向solr服务端发送POST请求,请求内容是包含Field等信息的一个xml文档,通过该文档,solr实现对索引的维护(增删改)

搜索流程:solr客户端(浏览器、java程序)可以向solr服务端发送GET请求,solr服务器返回一个xml文档。

Solr同样没有视图渲染的功能

1.2 SolrLucene的区别

Lucene是一个全文检索引擎工具包它只是一个jar不能独立运行对外提供服务

Solr是一个全文检索服务器它可以单独运行在servlet容器可以单独对外提供搜索和索引功能。Solrlucene在开发全文检索功能时,更快捷、更方便。

        

2. Solr安装配置

Solr的安装步骤较多,以win7系统安装4.10.3版本为例,介绍如下

2.1 下载solr-x.x.x.zip,解压(这里为方便演示,解压到桌面)。

 目录下各个文件夹作用如下

    

2.2 将以下的war拷贝到tomcatwebapps目录下,解压缩之后,再war包删掉

    

完成后tomcat的webapps目录显示如下:

    

2.3 添加solr的扩展服务包到webappssolrWEB-INFlib 路径下

     

将以上jar,添加到如下目录

    

2.4 添加log4j.properties到 webappssolrWEB-INFclasses 路径下

    

添加到如下目录

    

2.5 web.xml中指定Solrhome的目录

  

2.6 Solrcore 的安装

2.6.1 Solrcore和Solrhome

Solrhome是solr服务运行的主目录,一个solrhome目录里面包含多个solrcore目录,一个solrcore目录里面了一个solr实例运行时所需要的配置文件和数据文件。

每一个solrcore都可以单独对外提供搜索和索引服务,多个solrcore之间没有关系。

2.6.2 SolrcoreSolrhome的目录结构

Solrhome的目录结构

    

Solrcore目录

    

2.6.3 安装SolrCore

安装solrcore需要先安装solrhome——将以下目录的文件拷贝到之前在web.xml中指定Solrhome的目录下

    

拷贝到如下目录,这样solrhomesolrcore就安装成功了

    

2.7 Solrcore配置

solrcoreconf目录下有一个配置文件solrconfig.xml在该文件中主要配置三个标签lib标签、datadir标签、requestHandler标签

 如果对该文件不进行配置也可以即使用默认的配置项

    

2.7.1 lib 标签

Solrcore需要添加一个扩展依赖包通过lib标签来指定依赖包的地址

将以下目录的文件进行拷贝

     

复制到以下目录

     

修改lib标签(solr.install.dir:表示solrcore的安装目录)

 

2.7.2 datadir标签

每个SolrCore都有自己的索引文件目录,默认在SolrCore目录下的data中。

data数据目录下包括了index索引目录和tlog日志文件目录。如果不想使用默认的目录也可以通过solrConfig.xml更改索引目录 ,如下:

 

2.7.3 requestHandler标签

requestHandler请求处理器,定义了索引和搜索的访问方式。

通过/update维护索引,可以完成索引的添加、修改、删除操作。

 

提交xmljson数据完成索引维护。

通过/select搜索索引。

 

设置搜索参数完成搜索,搜索参数也可以设置一些默认值,如下:

<requestHandler name="/select" class="solr.SearchHandler">
    <!-- 设置默认的参数值,可以在请求地址中修改这些参数-->
    <lst name="defaults">
        <str name="echoParams">explicit</str>
        <int name="rows">10</int><!--显示数量-->
        <str name="wt">json</str><!--显示格式-->
        <str name="df">text</str><!--默认搜索字段-->
    </lst>
</requestHandler>

3. 启动solr服务

原文地址:https://www.cnblogs.com/zjfjava/p/7643703.html