Solr4.6从数据库导数据的步骤

时间:2023-03-08 19:44:53

http://blog.****.net/bruce128/article/details/17796705

Solr4.6有从数据库导数据的功能。导入步骤如下:

1.将下载下来的solr4.6的dist文件夹下的solr-dataimporthandler-4.6.0.jar和solr-dataimporthandler-extras-4.6.0.jar放入tomcat该路径下:F:\solr\tomcat7.0.27\webapps\solr\WEB-INF\lib

2.修改solrconfig.xml,添加下面这段代码:

  1. <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  2. <lst name="defaults">
  3. <str name="config">data-config.xml</str>
  4. </lst>
  5. </requestHandler>

3.然后再solrconfig.xml文件统计的目录下新增上面声明的data-config.xml。内容如下:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <dataConfig>
  3. <dataSource type="JdbcDataSource"
  4. driver="com.mysql.jdbc.Driver"
  5. url="jdbc:mysql://10.28.174.65:3306/chat_dev?useUnicode=true&characterEncoding=GBK"
  6. user="chat_write"
  7. password="123456"/>
  8. <document>
  9. <entity name="id" query="select id, cid, serviceid, customer, content from chatlogs_jad"></entity>
  10. </document>
  11. </dataConfig>

4.修改schema.xml,修改数据类型定义:

  1. <fields>
  2. <field name="_version_" type="long" indexed="true" stored="true"/>
  3. <field name="_root_" type="string" indexed="true" stored="false"/>
  4. <field name="id" type="int" stored="true" indexed="true"/>
  5. <field name="cid" type="string" stored="true" indexed="true"/>
  6. <field name="serviceid" type="string" stored="true" indexed="true"/>
  7. <field name="customer" type="string" stored="true" indexed="true"/>
  8. <field name="content" type="string" stored="true" indexed="true"/>
  9. </fields>

注意,_root_和_version_是必备的,不能少,少了就报错!

5.重启tomcat。

6.在管理员界面上执行操作:

Solr4.6从数据库导数据的步骤

配置好参数后,点击execute按钮即可!可以看出,5分半中之内传了17W条数据,蛮高兴的。