如何处理SOLR中频繁变化的多值字符串字段?

如何处理SOLR中频繁变化的多值字符串字段?,solr,lucene,Solr,Lucene,我在单个EC2实例上有一个SOLR(或者更确切地说是Heliosearch 0.07)核心。它包含约2000万个文档,光盘容量约为50GB。如果一切都热起来,核心是固定的/冻结的,性能也很好 问题是一个多值字符串字段:该字段包含指定的类别,对于2000万文档中的大部分,这些类别的更改相当频繁。提交后,预热时间太长,无法在生产中使用 该字段仅用于镶嵌面和过滤。我的想法是,将类别存储在SOLR之外,并以某种方式使用自定义代码注入它们。我在各种JIRA问题和博客中查看了很多方法,但我找不到有效的解决方

我在单个EC2实例上有一个SOLR(或者更确切地说是Heliosearch 0.07)核心。它包含约2000万个文档,光盘容量约为50GB。如果一切都热起来,核心是固定的/冻结的,性能也很好

问题是一个多值字符串字段:该字段包含指定的类别,对于2000万文档中的大部分,这些类别的更改相当频繁。提交后,预热时间太长,无法在生产中使用

该字段仅用于镶嵌面和过滤。我的想法是,将类别存储在SOLR之外,并以某种方式使用自定义代码注入它们。我在各种JIRA问题和博客中查看了很多方法,但我找不到有效的解决方案。第2项建议有一个解决方案,但我不明白他在说什么


如果有任何解决方案允许我更新我的类别字段,而不必在之后重新预热缓存,我将不胜感激。

我不确定JIRA是否能帮助您:这似乎是一个高级主题,最重要的是,它仍然没有解决,因此尚未可用

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

从您所说的来看,您似乎有一个单一的索引:您是否考虑过使用分片或SolrCloud垂直分割索引?这样一来,每个“部分”都会变小,自动取暖应该不会成为大问题