solr_4.5.0_07:从数据库向 solr 中添加索引

今天,我们来讲一下 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 功能

四、补充:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值