2012-05-02 1 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 인덱스에이 문서를 제공 할 때 다음과 같이 그러나, 그 내용은 내"몸 "필드에 매핑됩니다. "

<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"는 특별한 경우입니다. ExtractingRH는 모든 메타 데이터를이 필드에 복사합니다. 필자의 경우 ERH의 fmap.contents 매핑 때문에 내용을 얻었습니다. 내 "메타"필드의 이름을 다른 것으로 바꿨는데 이제는 문서의 내용 만받습니다.

이 동작은 현재 Solr 위키에 설명되어 있지 않습니다. 나는이 문서가 내용을 추출하고있는 스키마에서 "meta"라는 필드를 가질 수있는 누군가에게 도움이되기를 바란다.

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 파싱을 시도하고 어떤 일이 발생하는지 확인하십시오.) –

관련 문제