標籤:style http java 檔案 os 資料
上文中介紹了定時器實現即時索引資料的解決方案,本文對其進行補充,介紹資料匯入的配置
1 配置RequestHandler
<!-- DataImportHandler -->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db/db-data-config.xml</str>
</lst>
</requestHandler>
2 配置資料來源和資料實體
包括全部匯入和增量匯入
<dataConfig>
<dataSource driver="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://IP;instance=SQLSRV2005;DatabaseName=CloudPlat" user="sa" password="sa" batchSize="100"/>
<document>
<entity name="article" pk="DocAutoId" query="select * from CP_InfoListPub order by DocAutoId"
deltaImportQuery="select * from CP_InfoListPubClone where DocAutoId=‘${dataimporter.delta.DocAutoId}‘"
deltaQuery="select DocAutoId from CP_InfoListPubClone where Doc_GatherDate > ‘${dataimporter.last_index_time}‘"
deletedPkQuery="select DocAutoId from CP_InfoListPubClone where DocAutoId=0"
transformer="ClobTransformer,HTMLStripTransformer,DateFormatTransformer" >
<field column="DocAutoId" name="id" />
<field column="Doc_Title" name="title" />
<field column="Doc_RegionName" name="region" />
<field column="Doc_TradeName" name="trade" />
<field column="Doc_Content" name="content" clob="true" stripHTML="true"/>
<field column="Doc_PubDate" name="update" dateTimeFormat="yyyy-MM-dd"/>
<field column="Doc_Url" name="link" />
</entity>
</document>
</dataConfig>
3 引入相關的檔案,apache-solr-dataimporthandler-1.4.0.jar,apache-solr-dataimporthandler-extras-1.4.0.jar,mysql-connector-java-5.1.10.jar等
4 啟動tomcat,訪問http://localhost:8080/solr/dataimport?command=full-import 將資料全部匯入solr伺服器進行索引
訪問http://localhost:8080/solr/dataimport?command=status可以查看運行狀態
當修改data-config.xml 檔案配置時運行http://localhost:8080/solr/dataimport?command=reload-config可以進行重新載入設定檔
如果想終止運行http://localhost:8080/solr/dataimport?command=abort