Solr:尽管为用于构面的字段启用了fieldType上的docValues =“ true”,但仍使用大量内存的字段缓存

时间:2018-09-11 10:13:30

标签: solr

我们在Solr文档中了解到,如果未在fieldTypes中启用docValues,则将使用字段缓存。

我们已为我们要处理的所有字段启用了DocValues,并且还为所有数据重新编制了索引。使用docValuesFormat的默认值,以便使用默认值。

我有大约30GB的内存和20GB的JVM堆空间。有了这么多的堆空间,我们仍然遇到了OOM,当我们分析堆转储时,它显示Jar所用堆的66%。

我的主要问题是,为什么在指定fieldType的同时使用docValues =“ true”却使字段缓存使用了如此多的内存?这是预期的吗?

这是我们正在使用的架构版本

我们确实有很多方面字段和方面查询,并且在solr 4上也能很好地工作,但在solr 7上却不能。

    <fieldType name="string" class="solr.StrField" sortMissingLast="true" docValues="true"   />
    <fieldType name="strings" class="solr.StrField" sortMissingLast="true" multiValued="true" docValues="true" />

    <fieldType name="pint" class="solr.IntPointField" docValues="true" />
    <fieldType name="pfloat" class="solr.FloatPointField" docValues="true" />
    <fieldType name="plong" class="solr.LongPointField" docValues="true" />
    <fieldType name="pdouble" class="solr.DoublePointField" docValues="true" />

    <fieldType name="pints" class="solr.IntPointField" docValues="true" multiValued="true" />
    <fieldType name="pfloats" class="solr.FloatPointField" docValues="true" multiValued="true" />
    <fieldType name="plongs" class="solr.LongPointField" docValues="true" multiValued="true" />
    <fieldType name="pdoubles" class="solr.DoublePointField" docValues="true" multiValued="true" />
    <fieldType name="pdate" class="solr.DatePointField" docValues="true" />
    <fieldType name="pdates" class="solr.DatePointField" docValues="true" multiValued="true" />

0 个答案:

没有答案