2013-08-02 59 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