是否可以将包含集合架构字段子集的文档放在一个 solr 集合下?



我们有4个不同的数据集,希望对它们执行分面搜索。我们目前正在使用SolrCloud,并在将这些数据集索引到Solr之前将其展平。尽管我们有关系数据,但我们的主要目标是分方面搜索,Solr似乎是正确的选择。

我们数据的粗略结构:

Dataset1(col1, col2, col3,col4)
Dataset2(col1,col6,col7,col8)
Dataset3(col6,col9,col10)

扁平数据集:dataset(col1,col2,col3,col4,col6,col7,col8,col9,col10)

最后,我们将它们展开为具有一个公共结构,并在不存在值的地方具有null。到目前为止,Solr做得很好。

问题:现在我们有额外的数据集,每个数据集大约有50-60列。从技术上讲,我仍然可以压平这些,但我认为这不是一个好主意。我知道我可以为每个数据集使用不同的模式来创建不同的集合。但是,我们对这些文档执行分组,所以我们需要一个模式。

有没有任何方法可以在一个集合下维护带有模式字段子集的文档,而不将其扁平化?如果没有,这个问题有更好的解决方案吗?

例如:

DocA(field1, field2) DocB(field3,field4). 
Schema(field1, field2, field3, field4).

我们可以用上面的模式将DocA和DocB放在一个集合下吗?

我们的后端位于Cloudera Hadoop(CDH4.6和5.2)发行版之上,我们可以选择任何属于Hadoop生态系统的工具作为可能的解决方案。

当然可以,它们只需要为每个文档提供不同的uniquekey。如果您已经定义了一个固定的solr模式,也许dynamicfields可以帮助您。

最新更新