Solr4.6有从数据库导数据的功能。导入步骤如下:
1.将下载下来的solr4.6的dist文件夹下的solr-dataimporthandler-4.6.0.jar和solr-dataimporthandler-extras-4.6.0.jar放入tomcat该路径下:F:solrtomcat7.0.27webappssolrWEB-INFlib
2.修改solrconfig.xml,添加下面这段代码:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
3.然后再solrconfig.xml文件统计的目录下新增上面声明的data-config.xml。内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://10.28.174.65:3306/chat_dev?useUnicode=true&characterEncoding=GBK" user="chat_write" password="123456"/> <document> <entity name="id" query="select id, cid, serviceid, customer, content from chatlogs_jad"></entity> </document>
</dataConfig>
4.修改schema.xml,修改数据类型定义:
<fields> <field name="_version_" type="long" indexed="true" stored="true"/> <field name="_root_" type="string" indexed="true" stored="false"/> <field name="id" type="int" stored="true" indexed="true"/> <field name="cid" type="string" stored="true" indexed="true"/> <field name="serviceid" type="string" stored="true" indexed="true"/> <field name="customer" type="string" stored="true" indexed="true"/> <field name="content" type="string" stored="true" indexed="true"/> </fields>
注意,_root_和_version_是必备的,不能少,少了就报错!
5.重启tomcat。
6.在管理员界面上执行操作:
配置好参数后,点击execute按钮即可!可以看出,5分半中之内传了17W条数据,蛮高兴的。