DIH(Data Import Handler)提供了导入关系型数据库的数据,XML等文件的功能。在Solr 6.1.0里面提供了一个DIH的Demo,可以用solr -e dih
来运行。
下面是一个用DIH将MySQL数据库中的数据导入Solr的例子:
编辑solrconfig.xml,添加request handler:
data-config.xml
在solrconfig.xml所在文件夹下,创建data-config.xml文件,指定数据库用户名和密码,要访问的表以及查询语句。
在solr的schema.xml中添加相应的field(id,personName,nativePlace),不然会无法识别。
在solr 6.1.0中,没有schema.xml这个文件,只有managed-schema,这个文件跟schema.xml文件的作用是一样的,只是不需要我们手动配置,在solr admin界面中添加即可
需要添加的field如下:
将mysql-connector-java-5.1.xx以及dist文件夹下的solr-dataimporthandler-xx.jar放到core所在文件夹下面的lib文件夹(如果没有则手动创建一个)。
4.重启solr之后,在solr admin界面执行Dataimport->full-import即可。
这时候就可以查询到刚才添加的内容了:
还有更多可以配置的内容,详见参考资料。
参考资料:
[1]https://wiki.apache.org/solr/DataImportHandler
[2]https://wiki.apache.org/solr/DIHQuickStart