1、编辑 solrconfig.xml 注册一个请求 uri 为 "/dataimport" 的请求处理器
<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 文件放到 solr.home/conf 目录下
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
user="root"
password="@q1w2e3r4"/>
<document>
<entity name="user" query="select id,name,age from user">
<field column="id" name="id" />
<field column="name" name="name" />
<field column="age" name="age" />
</entity>
</document>
</dataConfig>
3、在 schema.xml 里创建 id 的字段声明,以下内容要添加到<fields>元素下
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name" type="text_general" indexed="true" stored="true"/>
<field name="age" type="int" indexed="true" stored="true"/>
4、把 mysql 的驱动包放到 solr.home/lib 目录下,同时将solr/dist目录下的solr-dataimporthandler-4.6.0.jar、solr-dataimporthandler-extras-4.6.0.jar复制到solr.home/lib目录下;
5、修改solr.home/collection1/conf/solrconfig.xml,添加如下内容:
<lib dir="solr.home路径"/>
6、运行命令:在浏览器中输入:http://localhost:8983/solr/dataimport?command=full-import 来完成全量数据导入,在每次全量数据导入执行的时候,原有索引会被删除,如果不想删除原有索引,可以运行如下命令:http://localhost:8983/solr/dataimport?command=full-import&clean=false