我的索引为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>
任何想法我们如何解决这个问题?
答案 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