1、在solrconfig.xml增加request handler
<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 type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/dbname" user="user-name" password="password"/> <document> <entity name="id" query="select id,name,desc from mytable"> </entity> </document> </dataConfig>
3、保证你的schema.xml里有你的sql所对应的字段名称,上例为id,name,desc
4、把你的数据库驱动扔到$SOLR_HOME/lib下
5、执行命令:
http://solr-host:port/solr/dataimport?command=full-import 。
用这种方式的话,每次索引都会被清空,如果不想这样,可以增加参数 &clean=false