第一步:導入相關包:
在創建的核心目錄下新建lib
文件夾(如果有,無需建立),從Solr源碼包的dist文件夾中導入兩個solr-dataimporthandler
包,以及一個mysql
驅動包。
第二步:編輯下邊路徑中的solrconfig文件(mycore1為自己所創建的核心文件夾):
在文件末尾添加以下內容
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
然后再本目錄下的data-config.xml進行如下編輯(沒有則創建):
<?xml version="1.0" encoding="UTF-8" ?> <dataConfig> <!-- 數據庫信息 --> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/college_service" user="root" password="mysql"/> <document> <!-- document實體 --> <entity name="news" query="SELECT * FROM news"> <!-- 數據庫字段映射solr字段 --> <field column="news_id" name="id"/> <field column="news_authorid" name="newsAuthorid"/> <field column="news_title" name="newsTitle"/> <field column="news_cover" name="newsCover"/> <field column="news_time" name="newsTime"/> <field column="news_browse" name="newsBrowse"/> <field column="news_schoolid" name="newsSchoolid"/> <field column="news_categoryid" name="newsCategoryid"/> <field column="news_abstract" name="newsAbstract"/> <field column="news_content" name="newsContent"/> </entity> </document> </dataConfig>
然后在當前路徑的managed-schema文件中加入相應的類型映射
<!--自定義的域--> <field name="newsAuthorid" type="string" indexed="true" stored="true"/> <field name="newsTitle" type="string" indexed="true" stored="true" /> <field name="newsCover" type="string" indexed="false" stored="true" /> <field name="newsTime" type="pdate" indexed="false" stored="true" /> <field name="newsBrowse" type="pint" indexed="false" stored="true" /> <field name="newsSchoolid" type="string" indexed="false" stored="true"/> <field name="newsCategoryid" type="string" indexed="false" stored="true" /> <field name="newsAbstract" type="text_ik" indexed="true" stored="true" /> <field name="newsContent" type="text_general" indexed="false" stored="true" />
登陸http://localhost:8983/solr/,進入以下模塊,執行excute就導入數據了,沒反應過來可以進行refresh status