Win下Solr5.3从数据库中读取索引

前一篇: Win下solr5.3的下载/启动/基本配置

  • 数据库
    1. 用Navicat在Mysql数据库中创建一张名为goods 的表,相关的字段如下图:
      Win下Solr5.3从数据库中读取索引_第1张图片
    2. 随意添加一些基础数据,例子如图:
      Win下Solr5.3从数据库中读取索引_第2张图片
  • 修改配置文件

    1. 在前一篇的基础上,在path\solr-5.3.0\server\solr\s1\conf 目录下,创建data-config.xml文件,内容如下:

      
      <dataConfig>
          <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/swhtest" user="root" password="123456"/>
        <document>
              <entity name="goods" pk="id"  
                      dataSource="source1"
                      query="select * from  goods"
                      deltaImportQuery="select * from goods where id='${dih.delta.id}'"
                      deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'">
      
               <field column="id" name="id"/>
               <field column="name" name="name"/>
                 <field column="number" name="number"/>
                 <field column="updateTime" name="updateTime"/>
           entity>
        document>
      dataConfig>
    2. 修改conf目录下的schema.xml文件,使之与数据库中的表相对应。具体为:

      // 将下面的字段注释掉
      "id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
      // 替换为与数据库字段相对应的配置,如下:
      "id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
      "name" type="string" indexed="true" stored="true"/>
      "number" type="int" indexed="true" stored="true"/>
      "updateTime" type="date" indexed="true" stored="true" />
    3. 修改conf目录下的solrconfig.xml 文件,增添一个从数据库导入(dataimport)的请求处理器(与/select、/query等并列),内容如下:

        <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
            <lst name="defaults">
               <str name="config">data-config.xmlstr>
            lst>
       requestHandler>
  • 相关jar包的导入
    1. path\solr-5.3.0\dist 下的jar包拷贝到path\solr-5.3.0\server\solr-webapp\webapp\WEB-INF\lib 目录下
    2. 从网上找到mysql的驱动jar包,放到上面所说的目录下
  • 操作
    以上几步完成之后,在solr的管理界面,找到名为s1的core,在Dataimport子目录下执行execute即可创建索引

下一篇: Win下solr5.3使用SolrJ进行CRUD操作

你可能感兴趣的:(Solr)