在Apache SOLR中存储具有嵌套值的字段

时间:2013-12-28 16:01:54

标签: solr

我有一个Doc [id,text,creator,date]对象,它与Topic [name,description,sentiment]对象有一对多的关系。以下是设计此架构的一种方法

完全平坦的结构,即每个doc属性有1个字段,每个主题各有3个字段。所以,如果我有一个文档的5个主题,我将有3 * 5 = 15个主题字段。问题是这太平了,我正在失去层次结构。此外,由于每个文档都有不同的主题数,我必须为主题分配大量字段,而不管我是否需要它。我想这在SOLR中不是问题,但从编程和数据存储的角度来看它并不灵活。此外,我还想查询每个doc和topic属性。

是否有更好的SOLR方式更结构化和层次化?

1 个答案:

答案 0 :(得分:1)

正如你所说,在Solr中扁平化文档完全没问题,即使从SQL的角度看也是浪费。

但是,如果你想保持更像SQL的关系,请看Block joins in Solr。除非强烈要求加入,否则我会使用flattening,这会简化你的配置。