之前都介绍了怎么使用solr。
现在来看一下如何全量从mysql 导入到solr库中。
第一步:在数据库中创建表和字段(该步骤不详细解释,相信读者都会)
我这边添加了三条新的记录。
第二步:配置solrconfig.xml
打开solrhome的conf文件夹下(/home/solr/solrhome/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
在这个同级目录conf下新建一个配置文件data-config.xml,加入下面内容:
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.157.1:3306/shop" user="root" password="123456" /> <document> <entity name="productInfo" query="select goodsId, goodsName, goodsType from goods"> <field column="goodsId" name="id"/> <field column="goodsName" name="goodsName"/> <field column="goodsType" name="goodsType"/> </entity> </document> </dataConfig>
file:column是数据库的列名,name是schema.xml的索引字段名称。
file域配置数据库表的列名,记得还要到scheme.xml配置文件中配置的索引字段名称的映射。
第四步:配置schema.xml
在schema.xml文件中加入上面的2个字段的配置:<field name="goodsName" type="string" indexed="true" stored="true" /> <field name="goodsType" type="string" indexed="true" stored="true" />id这个索引字段是solr自己本身已经配置过的,所以在这里不需要再配,它可是必须的,是一个唯一主键。
第五步:加入JDBC驱动
将mysql的jdbc驱动jar包加入到solr项目的lib中(/home/solr/tomcat/webapps/solr/WEB-INF/lib)。
第六步:加入相关的jar包
到solr的解压包的dist目录(/root/solr-4.10.3/dist)下找到solr-dataimporthandler-4.5.1.jar和solr-dataimporthandler-extras-4.5.1.jar这两个jar包,同样放在solr项目的lib中(/home/solr/tomcat/webapps/solr/WEB-INF/lib)。
到此为止。DIH全量导入的工作全部完成。接下来就是开始测试。
重启tomcat,打开web页面。
我刚刚添加的那3条记录,就全部导进来了。
此文章为原创,转载需说明原出处,谢谢。