Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
高性能Solr标记云_Solr - Fatal编程技术网

高性能Solr标记云

高性能Solr标记云,solr,Solr,我正在研究如何在Solr中实现高性能标记云 我有一个Solr数据库,每天都有1500万条记录和更多的添加。我有一个字段,其中有几个copy语句将数据复制到其中。它可以有1到6个值之间的任意值。这些值通常是一两句话(字符串数据)。我试图创建一个自定义字段类型来优化和标记该字段,以实现快速刻面,但我得到的性能不佳 这是我创建的自定义字段 <fieldType name="KeywordCloud" class="solr.TextField" positionIncrementGap=

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

我有一个Solr数据库,每天都有1500万条记录和更多的添加。我有一个字段,其中有几个copy语句将数据复制到其中。它可以有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万或更高的索引会给我带来问题


提前谢谢

你玩过solr缓存吗?随着字段的唯一项数量的增加,您需要相应地增加缓存。有关详细信息,请参阅。请注意过滤器缓存和字段缓存。

谢谢!我是否可以遵循任何明确的建议?如果我可以应用一些数学来计算出最佳配置,那就太好了。不是真正的数学,但是你可以在对索引执行请求时监视缓存统计信息(从Solr管理控制台中查找“统计信息”>“缓存”链接)。如果您看到许多逐出,那么您的缓存大小可能太小。但不要走得太高,因为这也会伤害你的系统。