使用组构面时出现内存不足错误

时间:2018-09-25 14:23:51

标签: solr grouping facet

我的索引为4000万文档,并且机器配置为72核,500GB RAM和NVME驱动器。

我在多值字段上使用JSON构面,并且无论匹配的文档数量如何,它都能正常工作。但是,如果我要使用唯一功能应用组构面,则会抛出内存不足错误并导致solr降低(当匹配的文档数> 500k时)。

我正在使用以下语法进行小组讨论。

json.facet={
   categories:{
     type : terms,
     field : cat,
     sort : { x : desc},
     facet:{
       x : "unique(type)"     
    }
   }
 }

以下是我正在使用的示例架构

<schema>
    <types>
        <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"  />

        <fieldType name="lower_string" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
            <tokenizer class="solr.KeywordTokenizerFactory"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
            <filter class="solr.ASCIIFoldingFilterFactory" preserveOriginal="true"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="solr.KeywordTokenizerFactory"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.ASCIIFoldingFilterFactory" preserveOriginal="true"/>
        </analyzer>
        </fieldType>
    </types>

    <fields>
        <field name="cat"  type="lower_string" indexed="true" stored="true" multiValued="true"  />
        <field name="type" type="string" indexed="true" stored="true" required="false" docValues="true" />
    </fields>

    <uniqueKey>id</uniqueKey>
</schema>

任何想法我们如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

在初始发行版本的json-facet API上,字符串类型字段上的json-facet性能差。 JSON-facet api在int / long / double字段上表现良好。

如果有帮助,请阅读此solr邮件列表讨论!

http://lucene.472066.n3.nabble.com/JSON-facet-performance-for-aggregations-td4332617.html