2013-08-02 55 views
0

所以,我使用solr 3.5索引一些大文件(約30,000行)。每個文件的內容以filecontents的字段索引。按名稱搜索文件表明該索引字段包含文件的完整內容。Solr 3.5只搜索索引文件的一部分

但是,如果我在這個字段中查詢一個術語,例如使用filecontents:fred,那麼如果該術語出現在每個文件的前2000行左右,我只會得到一個命中。因此,例如,如果術語「fred」位於第200行,但如果它僅位於文件的第4000行,則會受到打擊。

任何想法爲什麼文件內容索引的其餘部分沒有被正確搜索,或者我怎麼可能進一步調查呢?我在下面附加了我的schema.xml文件的相關部分。有趣的是,我們沒有看到使用solr 4.3的同樣的問題。

 <fieldType name="default" class="solr.TextField"> 
     <analyzer type="index"> 
      <tokenizer class="solr.StandardTokenizerFactory" /> 
      <filter class="solr.ClassicFilterFactory" /> 
      <filter class="solr.LowerCaseFilterFactory" /> 
      <filter class="solr.StopFilterFactory" /> 
     </analyzer> 
     <analyzer type="query"> 
      <tokenizer class="solr.StandardTokenizerFactory" /> 
      <filter class="solr.ClassicFilterFactory" /> 
      <filter class="solr.LowerCaseFilterFactory" /> 
      <filter class="solr.StopFilterFactory" /> 
     </analyzer> 
    </fieldType> 

<field name="filecontents" type="default" indexed="true" stored="true" multiValued="true" omitNorms="false" termVectors="false"/> 

回答

1

將solrconfig.xml中的<maxFieldLength>更改爲更大的數字。 <maxFieldLength><mainIndex><indexDefaults>

+0

這似乎奏效了:一旦我確定,我會很快接受它。我不認爲你可以指向我有關值的一些文檔:我無法找到它應該做什麼的描述? – RoryB

+0

http://docs.lucidworks.com/display/solr/IndexConfig+in+SolrConfig,但它看起來像它被刪除在solr 4.0這裏是一箇舊線程http://lucene.472066.n3.nabble.com/how -to-set-maxFieldLength-to-unlimitd-td1994404.html –

+0

謝謝,這對我們很有幫助 – RoryB