美文网首页
DIH-QuickStart

DIH-QuickStart

作者: 尚亦汐 | 来源:发表于2016-08-10 10:22 被阅读0次

DIH(Data Import Handler)提供了导入关系型数据库的数据,XML等文件的功能。在Solr 6.1.0里面提供了一个DIH的Demo,可以用solr -e dih来运行。

下面是一个用DIH将MySQL数据库中的数据导入Solr的例子:


编辑solrconfig.xml,添加request handler:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
  <str name="config">data-config.xml</str>
</lst>
</requestHandler>

在solrconfig.xml所在文件夹下,创建data-config.xml文件,指定数据库用户名和密码,要访问的表以及查询语句。

<dataConfig>
  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/test" 
              user="user-name" 
              password="password"/>
  <document>
    <entity name="person" 
            query="select id,personName,nativePlace from person">
    </entity>
  </document>
</dataConfig>

在solr的schema.xml中添加相应的field(id,personName,nativePlace),不然会无法识别。

在solr 6.1.0中,没有schema.xml这个文件,只有managed-schema,这个文件跟schema.xml文件的作用是一样的,只是不需要我们手动配置,在solr admin界面中添加即可

需要添加的field如下:

    <field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
    <field name="personName" type="string" indexed="true" stored="true"/>
    <field name="nativePlace" type="string" indexed="true" stored="true"/>

将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

相关文章

  • DIH-QuickStart

    DIH(Data Import Handler)提供了导入关系型数据库的数据,XML等文件的功能。在Solr 6....

网友评论

      本文标题:DIH-QuickStart

      本文链接:https://www.haomeiwen.com/subject/bftjsttx.html