最近,我从solr 5.0升级到solr 6.4.1。我可以运行我的应用程序,但问题是solr 6的索引大小太大了。在solr 5中,索引大小约为15GB,在solr 6中,对于相同的数据,索引大小为300GB!我无法理解是什么导致了solr 6的巨大差异。
我已经能够确定一个正在炸毁索引大小的字段。它如下。
<dynamicField name="*_note" type="text_general" indexed="true" stored="true" multiValued="true" />
<field name="textproperty" type="text_general" indexed="true" stored="false" multiValued="true" />
<copyField source="*_note" dest="textproperty"/>
当此字段被注释掉时,索引大小会减少到小于10GB。
此字段的类型为text_general。以下是此类型的定义。
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<charFilter class="solr.HTMLStripCharFilterFactory" />
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="((?m)[a-z]+)'s" replacement="$1s" />
<filter class="solr.WordDelimiterFilterFactory" protected="protwords.txt" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
<filter class="solr.KStemFilterFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="C:/Users/pratik/Desktop/solr-6.4.1_playground/solr-6.4.1/server/solr/collection1/conf/stopwords.txt" />
</analyzer>
<analyzer type="query">
<charFilter class="solr.HTMLStripCharFilterFactory" />
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="((?m)[a-z]+)'s" replacement="$1s" />
<filter class="solr.WordDelimiterFilterFactory" protected="protwords.txt" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
<filter class="solr.KStemFilterFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="C:/Users/pratik/Desktop/solr-6.4.1_playground/solr-6.4.1/server/solr/collection1/conf/stopwords.txt" />
</analyzer>
</fieldType>
我为调试此问题做了很多事情:
有什么想法可以在solr 6中增加索引的大小吗?
答案 0 :(得分:1)
对于任何面临类似问题的人。对我来说问题是,导致索引大小不成比例增加的字段有一个字段类型(&#34; text_general&#34;),其omitNorms的默认值不为true。在字段上明确地打开它修复了问题。以下是我在solr邮件列表中的相关问题的链接。