今天,我们来讲一下 solr 网页管理中 Dataimport 的使用。
一、首先我们需要在 D:\zsolrwork\solr\server\webapps\solr\WEB-INF\lib 目录下添加 solr-dataimporthandler-4.5.0.jar、solr-dataimporthandler-extras-4.5.0.jar 和 相应数据库的连接 jar 包。
二、修改 D:\zsolrwork\solr\home\mycor2\conf 目录下的 schema.xml 和 solrconfig.xml 文件,并添加 data-config.xml 文件。
1、solrconfig.xml 文件中添加如下代码:(在 <config></config> 中)
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>2、添加 data-config.xml 文件 <dataConfig> <dataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:test" user="scott" password="tiger"/> <document> <entity name="movie" query="select * from movie" > <field column="id"/> <field column="actors" name="actors"/> <field column="director" name="director"/> </entity> </document> </dataConfig>1)dataSource 数据源,一个配置文件可以有多个数据源,通过 name 来唯一标识driver:驱动名称
url:数据库连接地址
user:数据库用户名
password:用户密码
2)document:索引文档
3)entity:实体对应数据库中的表和视图。一个 document 中可以有多个 entity。 entity 中也可以嵌套子实体。在这里只做最简单的例子,更多的属性配置可以查看
该博主的文章 Solr对数据库建立索引
<dataConfig> <dataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:test" user="scott" password="tiger"/> <document> <entity name="movie" query="select * from movie" > <field column="id"/> <field column="actors" name="actors"/> <field column="director" name="director"/> </entity> </document> </dataConfig>field : column 代表数据库的字段名称field:name 代表索引数据库中的字段名称
4)注意上面 xml 文件中 field 的 name 属性必须在 schema.xml 文件中有相应的配置才行。所以在 schema.xml 文件中添加 actors 和 director 配置:
<field name="actors" type="string" indexed="true" stored="true"/> <field name="director" type="string" indexed="true" stored="true"/>三、在 solr 页面中使用 Dataimport 功能四、补充:
