Solr学习笔记之3、Solr导入SQLServer数据建立索引
一、下载MSSQLServer的JDBC驱动
下载:Microsoft JDBC Driver 4.0 for SQL Server
地址:http://www.microsoft.com/zh-CN/download/details.aspx?displaylang=en&id=11774
二、配置Solr dataimport for SQLServer
1、依赖jar包配置
将MSSQLServer的JDBC驱动中的sqljdbc4.jar复制到\tomcat\webapps\solr\WEB-INF\lib文件夹中。
将solr-dataimporthandler-4.7.0.jar和solr-dataimporthandler-extras-4.7.0.jar复制到\tomcat\webapps\solr\WEB-INF\lib文件夹中。
2、solrconfig.xml配置
在Solr对应core的配置文件中(如:SolrSingle\collection1\conf),打开solrconfig.xml文件,新增如下节点:
<!--导入--> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
然后在同一目录下新增data-config.xml文件。
3、data-config.xml文件配置如下:
一对一模式:
<?xml version="1.0" encoding="UTF-8" ?> <dataConfig> <dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;DatabaseName=SolrDemoDB;username=sa;password=123456" user="sa" password="123456" batchSize="100"/> <document> <entity name="Article" pk="ArticleId" query="select * from Article where IsDelete=0" deltaQuery="select ArticleId from Article where CreateDate > '${dataimporter.last_index_time}'" deletedPkQuery="select ArticleId from Article where IsDelete=1" deltaImportQuery="select * from Article where ArticleId='${dataimporter.delta.ArticleId}'" transformer="ClobTransformer,HTMLStripTransformer,DateFormatTransformer" > <field column="ArticleId" name="ArticleId" /> <field column="Title" name="Title" /> <field column="CreateDate" name="CreateDate" dateTimeFormat="yyyy-MM-dd" /> <field column="IsDelete" name="IsDelete" /> <field column="Content" name="Content" /> <field column="TypeId" name="TypeId" /> <entity name="ArticleType" query="select * from ArticleType where TypeId=${Article.TypeId}"> <field column="ArticleTypeName" name="ArticleTypeName" /> </entity> </entity> </document> </dataConfig>