- 数据库
- 用Navicat在Mysql数据库中创建一张名为goods 的表,相关的字段如下图:
- 随意添加一些基础数据,例子如图:
- 用Navicat在Mysql数据库中创建一张名为goods 的表,相关的字段如下图:
修改配置文件
在前一篇的基础上,在path\solr-5.3.0\server\solr\s1\conf 目录下,创建data-config.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <dataConfig> <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/swhtest" user="root" password="123456"/> <document> <entity name="goods" pk="id" dataSource="source1" query="select * from goods" deltaImportQuery="select * from goods where id='${dih.delta.id}'" deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'"> <field column="id" name="id"/> <field column="name" name="name"/> <field column="number" name="number"/> <field column="updateTime" name="updateTime"/> </entity> </document> </dataConfig>
修改conf目录下的schema.xml文件,使之与数据库中的表相对应。具体为:
// 将下面的字段注释掉 <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> // 替换为与数据库字段相对应的配置,如下: <field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" /> <field name="name" type="string" indexed="true" stored="true"/> <field name="number" type="int" indexed="true" stored="true"/> <field name="updateTime" type="date" indexed="true" stored="true" />
修改conf目录下的solrconfig.xml 文件,增添一个从数据库导入(dataimport)的请求处理器(与/select、/query等并列),内容如下:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
- 相关jar包的导入
- 将path\solr-5.3.0\dist 下的jar包拷贝到path\solr-5.3.0\server\solr-webapp\webapp\WEB-INF\lib 目录下
- 从网上找到mysql的驱动jar包,放到上面所说的目录下
- 操作
以上几步完成之后,在solr的管理界面,找到名为s1的core,在Dataimport子目录下执行execute即可创建索引
Win下Solr5.3从数据库中读取索引
最新推荐文章于 2020-05-21 19:46:08 发布