Solr支持從富文本文件中,如pdf,word中抽取內容建立索引。
首先,需要配置支持這壹功能的requestHandler。編輯solrconfig.xml,加入:
<requestHandler?name="/update/extract"?class="solr.extraction.ExtractingRequestHandler"?>?<lst?name="defaults">
<str?name="fmap.content">content</str> <str?name="fmap.Content-Type">Content-Type</str> <str?name="uprefix">ignored_</str></lst>
<lst?name="date.formats">
<str>yyyy-MM-dd</str></lst>
</requestHandler>solr.extraction.ExtractingRequestHandler就是solr中用來處理富文本的handler。為了使用這個類我們我們需要拷貝jar包:solr-dataimporthandler-extras.jar到lib目錄,並確認solrconfig.xml中的lib配置包含它。
<div class="alert alert-info" role="info">
ExtractingRequestHandler底層實際是使用apache Tika進行文件內容抽取的,
</div>
調用/update/extract完成文件索引
調用/update/extrac的方式有很多種,下面介紹使用solr4j api在java工程裏調用:
//建立客戶端連接SolrClient?client=new?HttpSolrClient("mit();
}
public?static?void?main(String[]?args)?{
try{
SolrMananger?client=new?SolrMananger();
client.indexFromFile("e:/apache-solr-ref-guide-5.3.pdf",?1,?"Justn",?"solr-ref");
}catch(Exception?e){
e.printStackTrace();
}
}
運行後,查看solr控制臺,使用query驗證文件是否成功索引。