solr 连接数据 需要两个jar
一个是mysql 连接数据库的jar (mysql数据库jar 自行下载 这里不过多细说)
另一个是solr-dataimporthandler-5.5.0 jar 包
进入 solr-5.5.0/dist 文件夹中 将圈中jar 进行复制
将mysql链接数据库jar 和上一步复制的jar 粘贴到 apache-tomcat-7.0.47\webapps\solr\WEB-INF\lib 文件夹 如下图:
接下来创建数据库表 sql语句 如下
create table `user` (
`id` int unsigned not null auto_increment comment '主键编号',
`name` varchar(64) not null comment '姓名',
`age` int(10) not null default 0 comment '年龄',
primary key (`id`))
engine = innodb
auto_increment = 1
default character set = utf8
comment = '用户表';
创建成功并添加数据 如下图数据库和jar 都已经准备好了 下面我们需要添加一些配置文件信息
在solrHome中的core核心配置文件的conf中solrconf.xml文件中添加如下信息:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler> 并在conf文件夹下创建文件data-config.xml (注solrconf.xml和data-conf.xml是同一目录)并在data-conf.xml中添加如下内容
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1/test" user="root" password="password" />
<document name="user">
<entity name="user" pk="id"
query="select * from user"
deltaImportQuery="select * from user where id ='${dih.delta.id}'"
deltaQuery="select id from user where timestamp > '${dih.last_index_time}'">
</entity>
</document>
</dataConfig>
url: 是连接数据库的路径user:数据库用户名
password:数据库密码
name:是数据库表的名称
接下来需要在schema.xml文件中需要添加字段
(schema.xml文件需要将同目录下的 managed-schema 改名而来)
然后编辑/solr-5.5.0/server/solr/core1/conf/solrconfig.xml,将以下代码注释掉:
<schemaFactory class="ManagedIndexSchemaFactory">
<bool name="mutable">true</bool>
<str name="managedSchemaResourceName">managed-schema</str>
</schemaFactory>
<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name" type="string" indexed="true" stored="true"/>
<field name="age" type="int" indexed="true" stored="true"/>schema.xml中 id 默认是string 我这里进行修改为int类型
之后保存 启动tomcat
在页面进入web后台管理页面 成功 如下
在execute的时候可能时间会比较长 需要手动 refresh status 一下
查询下是否连接成功
数据库添加的数据已经展现出来了