0

所以,我正在使用 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"/>
4

1 回答 1

1

<maxFieldLength>solrconfig.xml 更改为更大的数字。<maxFieldLength><mainIndex>并且<indexDefaults>

于 2013-08-02T20:00:51.847 回答