web-dev-qa-db-ja.com

インデックス作成PDF Solrを使用

誰でも私にチュートリアルを教えてもらえますか?.

Solrの主な経験は、CSVファイルのインデックス作成です。しかし、pdfを索引付けするために何をする必要があるかを説明する簡単な指示/チュートリアルは見つかりません。

私はこれを見ました: http://wiki.Apache.org/solr/ExtractingRequestHandler

しかし、それは私にはほとんど意味がありません。 Tikaをインストールする必要がありますか?

負けました-助けてください

15
Mark

これの最も難しい部分はPDFからメタデータを取得することです Aperture のようなツールを使用してこれを簡素化します。これらのツールはたくさんあるに違いない

Apertureは、JavaPDFファイルからフルテキストコンテンツとメタデータを抽出して照会するためのフレームワークです。

ApetureはPDFからメタデータを取得し、それをxmlファイルに保存しました。

Lxmlを使用してxmlファイルを解析し、solrに投稿しました

2
Mark

Solr-4.9(現在の最新バージョン)では、PDF、スプレッドシート(​​xls、xlxsファミリ)、プレゼンテーション(ppt、ppts)、ドキュメンテーション(doc、txtなど)などのリッチドキュメントからデータを抽出するのがかなり簡単になりました。 here からダウンロードしたアーカイブで提供されるサンプルコードの例には、すぐに開始できる基本的なSolrテンプレートプロジェクトが含まれています。

必要な構成変更は次のとおりです。

  1. 変更 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から必要なjarをプロジェクトに追加します。

3.必要に応じてスキーマを定義し、次のようなクエリを実行します。

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ポータルにアクセスしてクエリを実行し、インデックス付けされたコンテンツを確認します。

問題が発生した場合はお知らせください。

17
Raj Saxena

DataImportHandlerを使用できます。 DataImortHandleはsolrconfig.xmlで定義され、DataImportHandlerの構成は別のXML構成ファイル(data-config.xml)で実現する必要があります

PDFのインデックスを作成するには

1.) FileListEntityProcessor を使用して、ディレクトリをクロールしてすべてのPDFを検索します

2.) XPathEntityProcessor を使用して「コンテンツ/インデックス」-XMLファイルからPDFを読み取る

関連するPDFのリストがある場合は、TikaEntityProcessorを使用してこれを見てください http://solr.pl/en/2011/04/04/indexing-files-like-doc-pdf-solr-and-tika -integration / (pptの例)およびこれ Solr:データインポートハンドラーとsolrセル

4
The Bndr
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);
}

これは役立つかもしれません。

0
Avtar Singh

Solr、ExtractingRequestHandlerを使用します。これは、Apache-Tikaを使用してPDFファイルを解析します。メタデータなどを引き出せると思います。独自のメタデータを渡すこともできます。 抽出リクエストハンドラ

0
whomer