1
我正在研究如何在Solr中实现高性能标签云。高性能Solr标签云
我有一个Solr数据库,每天有1500万条记录和更多的记录。我有一个数据复制语句将数据复制到的字段。它可以有1到6个值之间的任何值。这些值通常是一个或两个(字符串数据)。我试图创建一个自定义字段类型来优化&将字段标记为快速刻面,但是我的表现并不理想。
这是我创建的自定义字段。
<fieldType name="KeywordCloud" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
上刻面这一领域时,我如何能实现至少合理的性能有什么建议?或者我可以采取完全不同的方法?
当我只有一百万份文档的索引,但是有一千五百万份以上的文档给我提出问题时,这种方法非常有用。
在此先感谢!
感谢您的支持!有没有我可以遵循的明确建议?如果我可以运用一些数学来确定最佳配置,那将会很棒。 –
不是真正的数学计算,但是您可以在索引索引请求时查看缓存统计信息(从Solr管理控制台查找“Statistics”>“Cache”链接)。如果您看到很多驱逐,您的缓存大小可能太低。但不要太高,否则这可能会伤害您的系统。 –