在~/solr-6.3.0/server/solr/core_name/conf目录下找到managed-schema文件,并建立如下索引字段。其中每一个field name都对应MySQL数据表的列名称,且需要把managed-schema中原有的id删除。
<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
<field name="title" type="text_ik" indexed="true" stored="true" />
<field name="slug" type="text_ik" indexed="true" stored="true" />
<field name="html" type="text_ik" indexed="true" stored="true" />
将mysql-connector-java-5.1.40-bin.jar拷贝到~/solr-6.3.0/server/solr/lib目录下。
在~/solr-6.3.0/server/solr/core_name/conf目录下创建data-config.xml,并修改配置。其中每一个field column也与数据库一一对应。
$ vim data-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource name="mysql" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:" user="" password=""/>
<document >
<entity name="posts" transformer="HTMLStripTransformer" query="SELECT id,title,slug,html FROM posts WHERE status='published'">
<field column="id" name="id"/>
<field column="title" name="title"/>
<field column="slug" name="slug"/>
<field column="html" name="html" stripHTML="true"/>
</entity>
</document>
</dataConfig>
在~/solr-6.3.0/server/solr/core_name/conf目录下修改solrconfig.xml,在config 标签里添加如下配置。
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>