所以,我正在使用 solr 3.5 索引一些大文件(约 30,000 行)。每个文件的内容都被索引为字段filecontents
。按名称搜索文件显示此索引字段包含文件的全部内容。
但是,如果我在此字段中查询一个术语,例如使用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"/>