2012-05-02 6 views
1

私はそれに送信するドキュメントの "コンテンツ"を構築するとき、メタデータ/ヘッダーなどを無視するように抽出要求ハンドラに指示する方法はありますか?ExtractingRequestHandlerはドキュメントの本文のみを解析するようにどのように指示しますか?

たとえば、「SEARCHWORD」という単語だけを含むMS Word文書を作成しました。

<str name="body"> 
    Last-Printed 2009-02-05T15:02:00Z Revision-Number 22 Comments stream_source_info 
    myfile Last-Author Inigo Montoya Template Normal.dotm Page-Count 1 subject Application-Name 
    Microsoft Macintosh Word Author Jesus Baggins Word-Count 2 xmpTPg:NPages 1 Edit-Time 
    108600000000 Creation-Date 2008-11-05T20:19:00Z stream_content_type application/octet-stream 
    Character Count 14 stream_size 31232 stream_name /Applications/MAMP/tmp/php/phpHCIg7y 
    Some Company Content-Type application/msword Keywords Last-Save-Date 
    2012-05-01T18:55:00Z SEARCHWORD 
</str> 

は、私が欲しいのは、この場合には、単語「SEARCHWORD文書の本文です:私は私のSolrのインデックスにこのdocを出荷する際、次のようにしかし、その内容は、私の「ボディ」フィールドにマップされています。 "

<str name="XPath">/xhtml:body</str> 

は、あなたはすぐに上記のリンクが示すように、URLでそれをテストすることができます。

<requestHandler name="/update/extract" 
       startup="lazy" 
       class="solr.extraction.ExtractingRequestHandler" > 
    <lst name="defaults"> 
     <!-- All the main content goes into "text"... if you need to return 
      the extracted text or do highlighting, use a stored field. --> 
     <str name="fmap.content">body</str> 
     <str name="lowernames">true</str> 
     <str name="uprefix">ignored_</str> 
    </lst> 
    </requestHandler> 

答えて

3

solr-userメーリングリストに参加している素晴らしい人たちが、この一番下に来ました。フィールド名 "meta"は特殊なケースです。ExtractionRHはすべてのメタデータをこのフィールドにコピーします。私の場合は、自分自身のERHでfmap.contentsマッピングが行われているため、コンテンツも取得していました。私は "メタ"フィールドの名前を別のものに変更しましたが、今はドキュメントの内容だけを受け取ります。

この動作は現在Solr wikiには記載されていません。私はこれがドキュメントの内容を抽出している(おそらく、私が知っている)彼らのスキーマに "メタ"という名前のフィールドを持っているかもしれない他の誰かを助けてくれることを願っています。

1

はあなたがデフォルトにXPath paramを追加しようとしている:

は、さらに参考のため、ここで私の抽出ハンドラです。

+1

私は合格したドキュメントでも動作しますか?主にWordとPDFドキュメントを追加しています。フォーマットに依存しないソリューションを探しています。 – joadha

+1

私はTikaのエキスパートではありませんが、AFAIK、Tikaによって返されたXHTMLが一般化されています。ボディ部分はTikaの[BodyContentHandler](http://tika.apache.org/0.7/api/org/apache/tika/sax/BodyContentHandler.html)によって処理されるので、XHTMLのタグ "Body"が標準であると仮定します。 PDFを解析して何が起こるか見てみよう;) –