[jjzhu学java]之solr4.9同步mysql数据

Posted wzjhoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[jjzhu学java]之solr4.9同步mysql数据相关的知识,希望对你有一定的参考价值。


Solr是一个高性能,採用Java5开发,基于Lucene的全文搜索server。同一时候对其进行了扩展,提供了比Lucene更为丰富的查询语言,同一时候实现了可配置、可扩展并对查询性能进行了优化,而且提供了一个完好的功能管理界面,是一款很优秀的全文搜索引擎。

       能够将数据库中的数据导入到solr中,对于百万级别的数据能够高速响应查询。

1、安装jdk

JDK版本号须要1.7以上

2、安装solr

下载solr压缩包,解压安装包。进入到SOLR_HOME\example文件夹下,执行命令java –jar start.jar启动solr

技术分享

技术分享

Solr默认port为8983,訪问http://localhost:8983/solr,若有例如以下界面,则启动成功

技术分享

技术分享

3、导入并更新数据相关配置

       Solr提供了将数据库数据导入到solr索引库的功能(dataimport)

3.1、下载数据库驱动包

       下载mysql的驱动包。并放在{%SOLR_HOME%}contrib\dataimporthandler\lib文件夹下

技术分享技术分享

3.2、配置solrconfig.xml

3.2.1、引用相关库

       solrconfig.xml包括了用于配置自身行为的绝大部分參数,其作用范围是当前core。位置在文件文件夹该文件位于{%solr_home%} example\solr\collection1\conf下。

       数据导入须要引用mysql的驱动包和DataImport所需的包。

       在文件里加入例如以下内容:

<libdir="../../../contrib/dataimporthandler/lib"regex=".*\.jar" />

       <lib dir="../../../dist/"regex="solr-dataimporthandler-\d.*\.jar" />

      技术分享技术分享

3.2.2、配置requestHandler

       在solrconfig.xml中增加例如以下配置:

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

       <lst name="defaults">

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

       </lst>

   </requestHandler>

技术分享技术分享

3.3、配置schema.xml

              Schema.xml能够灵活的配置不同类型的字段,所在位置与solrconfig.xml同级。

              导入数据须要配置与数据库中字段一致的类型,在配置文件里

技术分享技术分享

3.3、配置数据源

       在与solrconfig.xml同级文件夹下({%solr_home%}example\solr\collection1\con),建立与3.2.2中配置中同名的数据配置文件data-config.xml,

技术分享技术分享

并加入例如以下内容

<dataConfig>

   <!-- driver: 数据库驱动名

        url:数据库路径

        user:数据库用户

        password:数据库密码

        batchSize:防止在导入数据过程中内存溢出

    -->

  <dataSource type="JdbcDataSource"

             driver="com.mysql.jdbc.Driver"

             url="jdbc:mysql://localhost/exercise"

              user="root"

              password=""

              batchSize="-1"/>

 

  <document>

   <!--要导入的表,能够配置多个

       并查询出要建立索引的字段

   -->

   <entity name="customerinfo" query="selectcustomerID,customerName,PID,telephone from customerinfo">

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

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

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

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

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

   </entity>

 </document>

</dataConfig>

技术分享技术分享

4、导入数据

       訪问solr界面

技术分享

技术分享

Command选择full-import,Entity选择要导入的表,再点击Execute便可导入数据

技术分享技术分享

完毕后会提示索引建立完毕。

技术分享

然后在Query界面能够输入相关查询条件进行查询

技术分享技术分享

技术分享













以上是关于[jjzhu学java]之solr4.9同步mysql数据的主要内容,如果未能解决你的问题,请参考以下文章

solr4.9同步mysql数据

Centos+Solr4.9.1+Topmcat7部署文档

从零开始学多线程之构建快

从零开始学 Web 之 Ajax同步异步请求,数据格式

JUC学习之共享模型之内存

JUC学习之共享模型之内存