高性能Solr标签云

时间:2011-08-25 15:33:24

标签: solr

我正在研究如何在Solr中实现高性能标签云。

我有一个拥有1500万条记录的Solr数据库,每天都有更多记录。我有一个字段,其中几个复制语句将数据复制到。它可以包含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>

关于如何在面对这个领域时达到至少合理的表现的任何建议?或者我可以采取完全不同的方法吗?

当我只有一百万个文件的索引时,这种方法很有效,但是1500万或更高的文件给了我一些问题。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您是否使用solr缓存?随着字段的唯一术语数量变大,您需要相应地增加缓存。有关详细信息,请参阅this link。注意过滤器缓存和字段缓存。