所以,我使用solr 3.5索引一些大文件(~30,000行)。每个文件的内容都被索引为字段filecontents
。按名称搜索文件显示此索引字段包含文件的完整内容。
但是,如果我在此字段中查询某个字词,例如使用filecontents:fred
,那么只有当该字词出现在每个文件的前2000行左右时,我才会受到影响。因此,例如,如果术语“fred”在第200行,我会受到打击,但如果它只在文件的第4000行,则不会。
知道为什么没有正确搜索其余的filecontents索引,或者我如何进一步调查这个?我已经在下面附加了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"/>
答案 0 :(得分:1)
将solrconfig.xml中的<maxFieldLength>
更改为更大的数字。 <maxFieldLength>
位于<mainIndex>
和<indexDefaults>