当前位置: 首页 >服务端 > Solr连接数据库配置

Solr连接数据库配置

 

Solr是基于Lucene的全文搜索服务器, 它是一个独立的企业级搜索应用服务器,它对外提供类似于Web-serviceAPI接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

本文档介绍将Solr4.2.0部署到Tomcat6并连接数据库获取数据的方法。

一、            Solr部署

1.      下载Solr后并将其解压,为说明方便,Solr解压之后的目录在本文档中称为SOLRDISTDIR

2.      部署Solrwar

拷贝文件SOLRDISTDIR\dist\solr-4.2.0.war至CALALINEHOME\webapps之中。

注:CALALINEHOME为Tomcat的主目录。

3.      部署Solr的工作目录

    拷贝目录SOLRDISTDIR\example\solr至拟定的Solr工作目录。例如可以将其也拷入CALALINEHOME\webapps之中。拷贝完成的工作目录在本文档中称为SOLRWORK

Solr工作目录确定后,需要在Solr服务器的配置中进行指定。启动Tomcat,在solr-4.2.0.war被自动解开部署后,打开CALALINEHOME\webapps\solr-4.2.0\WEB-INF\web.xml文件,并修改值为solr/home的env-entry-name节点对应的env-entry-value。env-entry-value值需要被指定为Solr的工作目录,即SOLRWORK

例如针对前述工作目录,web.xml应做如下修改:

<env-entry>

      <env-entry-name>solr/home</env-entry-name>

      <env-entry-value>D:/apache-tomcat-6.0.35/webapps/solr</env-entry-value>

      <env-entry-type>java.lang.String</env-entry-type>

</env-entry>

重新启动Tomcat后,Solr已功部署,在浏览器中打开http://IP:8080/solr-4.2.0,可以看到Solr已经启动。

Solr连接数据库配置 _ JavaClub全栈架构师技术笔记

二、            Solr连接数据库

1.      修改solrconfig.xml配置

solrconfig.xml文件位于SOLRWORK\collection1\conf之下,为了连接数据库,需要在其中增加以下配置:

<config>

     …...

<requestHandler name="/dataimport"class="org.apache.solr.handler.dataimport.DataImportHandler">  

        <lstname = "defaults">  

            <str name ="config">data-config.xml</str>  

        </lst>  

      </requestHandler> 

     ……

</config>

 

2.      增加数据库配置文件

在上述对solrconfig.xml配置的修改中,指定了通过文件data-config.xml配置数据库相关信息,因此需要在SOLRWORK\collection1\conf之下创建一个名为data-config.xml的配置文件,其具体内容类似如下:

<?xmlversion="1.0" encoding="UTF-8" ?>

<dataConfig>

  <dataSourcetype="JdbcDataSource"

              driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"

             url="jdbc:sqlserver://10.10.108.243:1433;DatabaseName=lessonsys"

              user="pms"

              password="pms"/>

  <document name="expert">

    <entity name="expert"

            query="SELECT id, a, b, c fromtableA"

            deltaImportQuery=" SELECT id,a, b, c from tableA  WHERE id='${dataimporter.delta.id}'"

            deltaQuery="select id from tableA where modifyDate >'${dataimporter.last_index_time}'"

            >

            <field column="id"name="id"/>

            <field column="a"name="a/>

            <field column="b"name="b"/>

            <field column="c"name="c"/>

    </entity>

  </document>

</dataConfig>

3.      修改schema.xml配置

Solr要正常从数据库中获得数据还需要修改SOLRWORK\collection1\conf\schema.xml文件,主要是将我们期望能够被Solr处理的字段进行配置。例如针对以上data-config.xml中的配置,需要对应修改schema.xml如下:

<fields>

……

<field name="id" type="int"indexed="true" stored="true" required="true"multiValued="false"/>

   <field name="a"type="string" indexed="true" stored="true"multiValued="true"/>

   <field name="b"type="string" indexed="true" stored="true"multiValued="true"/>

   <field name="c"type="string" indexed="true" stored="true"multiValued="true"/>

   ……

</fields>

 

4.      增加jar

在上述对配置文件solrconfig.xml的修改中使用到了DataImport(org.apache.solr.handler.dataimport.DataImportHandler),因此需要导入DataImport相关的jar包。

SOLRDISTDIR\dist\下的文件solr-dataimporthandler-4.2.0.jarsolr-dataimporthandler-extras-4.2.0.jar拷贝至CALALINEHOME\webapps\solr-4.2.0\WEB-INF\lib之下即可。

如果拷贝完成以后,系统不能正常运作,则可以尝试在solrconfig.xml中增加一条使用DataImportlib配置项,具体修改参考如下:

<config>

    ……

       <libdir="D:/apache-tomcat-6.0.35/webapps/solr-4.2.0/WEB-INF/lib"regex="apache-solr-dataimporthandler-\d.*\.jar" />

    ……

</config>

三、            Solr自动更新索引

Solr默认情况下已经配置了自动更新索引,如果确需修改,可以在配置文件solrconfig.xml中修改autoCommit的配置。

<config>

……

<updateHandlerclass="solr.DirectUpdateHandler2">  

    <autoCommit>

      <maxTime>15000</maxTime>

      <openSearcher>true</openSearcher>

    </autoCommit>

</updateHandler>

……

</config>

 

欢迎访问梦断酒醒的博客http://www.yanzhijun.net点击此处订阅博客更新

作者:梦断酒醒
来源链接:https://blog.csdn.net/ishallwin/article/details/8883676

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/server/112805.html

标签:Solr
分享给朋友:

“Solr连接数据库配置” 的相关文章