如何在SOLR中处理频繁更改的多值字符串字段?

时间:2015-04-08 14:01:55

标签: solr lucene

我在单个EC2实例上有一个SOLR(或者更确切地说是Heliosearch 0.07)核心。它包含大约20M文档,光盘大约需要50GB。如果一切都已经预热,那么核心是非常固定/冷冻的并且表现相当好。

问题是一个多值字符串字段:该字段包含已分配的类别,这些类别会对20M文档的大部分内容进行频繁更改。提交后,预热时间太长,无法在生产中使用。

该字段仅用于构面和过滤。我的想法是,将类别存储在SOLR之外,并以某种方式使用自定义代码注入它们。我在各种JIRA问题和博客中检查了一些方法,但我找不到一些有效的解决方案。 this issue的第2项表明有一个解决方案,但我没有得到他正在谈论的内容。

我很感激任何解决方案,它允许我更新我的类别字段,而不必在之后再次重新预热我的缓存。

1 个答案:

答案 0 :(得分:0)

我不确定JIRA会帮助你:它似乎是一个高级主题,而且最重要的是它还没有得到解决,所以还没有。

部分文档更新在这里没有用,因为a)它要求所有内容都存储在你的模式中b)幕后它再次重新索引整个索引

从你的说法看起来似乎有一个单一的索引:你是否考虑过使用分片或SolrCloud垂直分割索引?以这种方式每个"部分"会更小,autowarm不应该是一个大问题。