第一步:copy相应的jar包到相应文件夹
解压solr压缩包后,在dist文件夹下找到solr-dataimporthandler-4.9.0.jar、solr-dataimporthandler-extras-4.9.0.jar(版本根据自己的),将以上的两个jar包拷贝到tomcat根目录\webapps\solr\WEB-INF\lib的文件夹下。
拷贝mysql-connector-java-5.0.8-bin.jar(单独下载)的jar包到上面的同一个目录下。
第二步:修改配置文件
修改Solr工作根目录\collection1\conf路径下的solrconfig.xml文件,增加以下两行配置:
<lib dir="../../../dist/"regex="solr-dataimporthandler-.*\.jar" />
<lib dir="../../../dist/"regex="mysql-connector-java-.*\.jar" />
增加requestHandler配置:
<requestHandler name="/dataimport"class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<strname="config">data-config.xml</str>
</lst>
</requestHandler>
第三步:在solrconfig.xml的同级目录下,自己新建data-config.xml文件,配置数据库连接和Solr与mysql数据的对应关系和查询语句。
其中数据库,表名,字段名都需要根据自己的数据库进行更改。
<?xml version="1.0"encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"driver="com.mysql.jdbc.Driver"url="jdbc:mysql://127.0.0.1/ewt_product" user="root"password="1234"/>
<document name="search_object">
<entity name="talent" query="select PID, PName,PContent from m_product">
<field column="PID" name="id"indexed="true" stored="true"/>
<field column="PName" name="pname"/>
<field column="PContent"name="pcontent"/>
<!--TalentNames
<entity name="talent_name" query="select value fromtalentname where talentId='${talent.id}'">
<field column="value" name="name"/>
</entity> -->
</entity>
</document>
</dataConfig>
第四步:在同一目录的schema.xml文件中配置相应的field
<field name="pname" type="text"indexed="true" stored="true"/>
<field name="pcontent" type="text"indexed="true" stored="true"/>
第五步:重启solr,在浏览器地址栏输入以下链接,建立索引
批量导入(full-import):
http://<host>:<port>/solr/dataimport?command=full-import&commit=y
增量导入(delta-import):
http://<host>:<port>/solr/dataimport?command=delta-import&commit=y
导入状态查询(status):
http://<host>:<port>/solr/dataimport
重新装载配置文件(reload-config):
http://<host>:<port>/solr/dataimport?command=reload-config
终止导入(abort):
http://<host>:<port>/solr/dataimport?command=abort
注:如果数据库中的数据量过大,出现heap outofmemory的异常可以在tomcat根目录\bin的文件夹下修改catalina.bat该文件,在执行前添加set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx2048m(具体数值可以根据自己数据库情况和主机配置修改),重启tomcat。