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

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

  • 数据库
    1. 用Navicat在Mysql数据库中创建一张名为goods 的表,相关的字段如下图:
    2. 随意添加一些基础数据,例子如图:
      这里写图片描述
  • 修改配置文件

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

      <?xml version="1.0" encoding="UTF-8"?>
      <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文件,使之与数据库中的表相对应。具体为:

      // 将下面的字段注释掉
      <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
      // 替换为与数据库字段相对应的配置,如下:
      <field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
      <field name="name" type="string" indexed="true" stored="true"/>
      <field name="number" type="int" indexed="true" stored="true"/>
      <field name="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.xml</str>
            </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操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值