海水正蓝

面朝大海,春暖花开
posts - 145, comments - 29, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

【转】solr导入数据库

Posted on 2012-12-03 16:51 小胡子 阅读(2105) 评论(0)  编辑  收藏 所属分类: Solr
一.首先准备好solr的dataimport功能需要的东西,在solr的下载包中。分别在:
1》Solr-1.3.0\dist\apache-solr-dataimporthandler-1.3.0.jar
2》E:\education\search\Solr-1.3.0\example\example-DIH\solr\
3》你是哪种数据库,提供该数据库的jdbc驱动。

二.如果你还不会运行solr,请参考本人的前几篇博客。这里要做的是,先把E:\education\search\Solr-1.3.0 \example\example-DIH\solr\下面的东西拷贝到solr的HOME目录,然后删除rss,这个是另外一个功能是导入rss订阅信 息到solr中,确实很强,这都想到了。将jar文件,实际就两个拷贝到tomcat的webapps下面的solr的WEB-INF的lib文件夹下 面。

三.更改solr Home目录下的conf/solrconfig.xml,其实就是提交一个solrRequestHandler,代码如下:
  • <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
  •     <lst name="defaults">  
  •       <str name="config">C:\solr-tomcat\solr\db\conf\db-data-config.xml</str>  
  •     </lst>  
  •   </requestHandler>  

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">    <lst name="defaults">      <str name="config">C:\solr-tomcat\solr\db\conf\db-data-config.xml</str>    </lst>  </requestHandler>

四.将solr Home目录下面的solrconfig.xml和schema.xml拷贝到db文件夹下面的conf中。

五.修改db\conf\db-data-config.xml
  • <dataConfig>  
  •         <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/tuitui" user="root" password="mysql"/>  
  •     <document name="shop">  
  •             <entity name="tuitui_shop" pk="shopId" query="select * from tuitui_shop">  
  •             <field column="shopid" name="shopId" />  
  •             <field column="shopName" name="shopName" />  
  •             <field column="shopUrl" name="shopUrl" />  
  •             <field column="keyword" name="keyword" />  
  •             <field column="synopsis" name="synopsis" />  
  •             <field column="province" name="province" />  
  •             <field column="city" name="city" />  
  •             <field column="domain" name="domain" />  
  •             <field column="address" name="address" />  
  •             <field column="coordinate" name="coordinate" />  
  •             <field column="shopSspn" name="shopSspn" />  
  •             <field column="phone" name="phone" />  
  •             <field column="createTime" name="createTime" />  
  •         </entity>  
  •     </document>  
  • </dataConfig>  

<dataConfig>                <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/tuitui" user="root" password="mysql"/>    <document name="shop">            <entity name="tuitui_shop" pk="shopId" query="select * from tuitui_shop">            <field column="shopid" name="shopId" />            <field column="shopName" name="shopName" />            <field column="shopUrl" name="shopUrl" />            <field column="keyword" name="keyword" />            <field column="synopsis" name="synopsis" />            <field column="province" name="province" />            <field column="city" name="city" />            <field column="domain" name="domain" />            <field column="address" name="address" />            <field column="coordinate" name="coordinate" />            <field column="shopSspn" name="shopSspn" />            <field column="phone" name="phone" />            <field column="createTime" name="createTime" />        </entity>    </document></dataConfig>

其中的意思我做简单解释,具体大家可以去看看官方wiki。
document:一个文档也就是lucene的document这个没什么解释的;
entity:主要针对的是一个数据库表;
filed:属性column是数据库的字段,name是filed的名字,即schema中的field name
http://wiki.apache.org/solr/DataImportHandler

六.启动TOMCAT,输入地址进行导入,导入分为很多模式:我选用的全部倒入模式。

http://localhost/solr/dataimport?command=full-import
原文出自:
http://insolr.com/forum.php?mod=viewthread&tid=128&reltid=880&pre_thread_id=19&pre_pos=4&ext=

只有注册用户登录后才能发表评论。


网站导航: