索引PDF任何人都可以點我的教程。使用Solr
我與Solr的主要經驗是索引的CSV文件。但我無法找到任何簡單的指令/教程,告訴我,我需要做的索引PDF文件。
我看到這個:http://wiki.apache.org/solr/ExtractingRequestHandler
但它使很少了意義。我需要安裝Tika嗎?
Im lost - please help
索引PDF任何人都可以點我的教程。使用Solr
我與Solr的主要經驗是索引的CSV文件。但我無法找到任何簡單的指令/教程,告訴我,我需要做的索引PDF文件。
我看到這個:http://wiki.apache.org/solr/ExtractingRequestHandler
但它使很少了意義。我需要安裝Tika嗎?
Im lost - please help
最難的部分是從PDF中獲取元數據,使用像Aperture這樣的工具簡化了這一點。必須有這些工具
光圈是提取和查詢從PDF文件的全文內容和元數據的Java框架
Apeture一把抓起PDF文件的元數據噸,並將其存儲在XML文件中。
我解析使用lxml的XML文件中,張貼到Solr
您可以使用dataImportHandler。該DataImortHandle將在solrconfig.xml中定義的DataImportHandler的配置應該在不同的XML配置文件(數據-config.xml中)
實現索引PDF文件,你可以
1)抓取目錄中的FileListEntityProcessor
2)在閱讀PDF格式的從「內容/索引」-XML文件,使用XPathEntityProcessor
如果您有相關的PDF文件的列表中,使用TikaEntityProcessor 找到所有的PDF文件看看這個http://solr.pl/en/2011/04/04/indexing-files-like-doc-pdf-solr-and-tika-integration/(以ppt爲例)Solr : data import handler and solr cell
使用Solr的,ExtractingRequestHandler。這使用Apache-Tika解析pdf文件。我相信它可以提取元數據等。你也可以通過你自己的元數據。 Extracting Request Handler
使用Solr-4.9(最新版本截至目前),從如PDF,電子表格豐富的文檔中提取數據(XLS,xlxs家庭),演示文稿(PPT,個百分點),文檔(DOC,TXT等)有變得相當簡單。 從 here在下載的文件提供的示例代碼示例包含一個基本的Solr模板項目,讓您快速上手。
的必要的配置更改如下:
更改solrConfig.xml
包括下列行:
<lib dir="<path_to_extraction_libs>" regex=".*\.jar" /> <lib dir="<path_to_solr_cell_jar>" regex="solr-cell-\d.*\.jar" />
創建一個請求處理程序如下:
<requestHandler name="/update/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler" > <lst name="defaults" /> </requestHandler>
2.將solrExample中所需的罐子添加到您的項目中。
3.Define模式按您的需求和火象的查詢:
curl "http://localhost:8983/solr/collection1/update/extract?literal.id=1&literal.filename=testDocToExtractFrom.txt&literal.created_at=2014-07-22+09:50:12.234&commit=true" -F "[email protected]"
轉到GUI門戶和查詢看到索引的內容。
讓我知道你是否面臨任何問題。
public class SolrCellRequestDemo {
public static void main (String[] args) throws IOException, SolrServerException {
SolrClient client = new
HttpSolrClient.Builder("http://localhost:8983/solr/my_collection").build();
ContentStreamUpdateRequest req = new
ContentStreamUpdateRequest("/update/extract");
req.addFile(new File("my-file.pdf"));
req.setParam(ExtractingParams.EXTRACT_ONLY, "true");
NamedList<Object> result = client.request(req);
System.out.println("Result: " +enter code here result);
}
這可能有所幫助。
是否有可能以某種方式查看pdf的解析內容? (我的意思是原始文本) – zygimantus
您可以將內容字段設置爲'stored = true'。如果您在solr上搜索文檔,則可以打印出存儲的字段以進行預覽或語法高亮顯示。 –
你的意思是這個設置是可用的參數或者它是一個配置? – zygimantus