2011-02-09 6 views
2

私はApache Solrを使い慣れていないので、pdfファイルの索引作成に使用したいと考えています。私はそれを手に入れてこれまで走っていたので、追加されたpdfファイルを検索できるようになりました。Apache Solrで抽出されたテキストを取得する

しかし、結果から検索したテキストを取得できる必要があります。

私はまさにそれに関するデフォルトsolrconfig.xmlでのXMLスニペットを見つけました:

<requestHandler name="/update/extract" class="org.apache.solr.handler.extraction.ExtractingRequestHandler" startup="lazy"> 
<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">text</str> 
    <str name="lowernames">true</str> 
    <str name="uprefix">ignored_</str> 

    <!-- capture link hrefs but ignore div attributes --> 
    <str name="captureAttr">true</str> 
    <str name="fmap.a">links</str> 
    <str name="fmap.div">ignored_</str> 
</lst> 

私はここ(http://www.lucidimagination.com/Community/Hearから得るものから私は、 "true"とindexed = "true"を格納しているschema.xml(例えば、 "content")に新しいフィールドを追加しなければならないと思う。しかし、私はこれを正確に達成する方法が本当にわからないのですか?

任意のヘルプ感謝、THX

+0

私はちょうどそれを管理しているようだ、私は "テキスト"フィールドの "保存"プロパティを "true"に設定した。 – DeX3

+0

奇妙な事実:クエリに関係なく、結果には常にインデックス付きPDFのメールアドレスが含まれていますか? – DeX3

答えて

4

はこのように見ているのschema.xmlを追加:「フィールドは」「保存」され

<?xml version="1.0" encoding="UTF-8" ?> 

<schema name="whatever" version="1.2"> 
    <types> 
     <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/> 
     <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> 
     <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> 
     <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> 
     <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> 
     <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/> 
     <fieldType name="text" class="solr.TextField" positionIncrementGap="100"> 
      <analyzer type="index"> 
       <charFilter class="solr.HTMLStripCharFilterFactory"/> 
       <charFilter class="solr.MappingCharFilterFactory" mapping="../../mapping-ISOLatin1Accent.txt"/> 
       <tokenizer class="solr.StandardTokenizerFactory"/> 
       <filter class="solr.StandardFilterFactory"/> 
       <filter class="solr.LowerCaseFilterFactory"/> 
      </analyzer> 
      <analyzer type="query"> 
       <charFilter class="solr.HTMLStripCharFilterFactory"/> 
       <charFilter class="solr.MappingCharFilterFactory" mapping="../../mapping-ISOLatin1Accent.txt"/> 
       <tokenizer class="solr.StandardTokenizerFactory"/> 
       <filter class="solr.StandardFilterFactory"/> 
       <filter class="solr.LowerCaseFilterFactory"/> 
      </analyzer> 
     </fieldType> 
    </types> 
    <fields> 
     <field name="internal_id" type="string" indexed="true" stored="true"/> 
     <field name="cat" type="int" indexed="true" stored="true"/> 
     <field name="desc" type="text" indexed="true" stored="true"/> 
    </fields> 
    <uniqueKey>internal_id</uniqueKey> 
    <defaultSearchField>desc</defaultSearchField> 
    <solrQueryParser defaultOperator="OR"/> 
    <similarity class="org.apache.lucene.search.DefaultSimilarity"/> 
</schema> 

場合は、デフォルトでは、結果に表示されます。

関連する問題