我们有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)。
最后,我们将它们展平,使其具有一个公共结构,并且在值不存在的情况下具有空值。到目前为止,Solr工作得很好。
问题:现在我们有了额外的数据集,每个数据集大约有50-60列。从技术上讲,我仍然可以将这些展平,但我不认为这是一个好主意。我知道我可以有不同的集合,每个数据集都有不同的模式。但是,我们对这些文档执行group by,所以我们需要一个模式。
有没有办法在一个集合下维护包含模式字段子集的文档,而不对其进行扁平化?如果没有,有没有更好的解决方案?
例如:
DocA(field1, field2) DocB(field3,field4).
Schema(field1, field2, field3, field4).我们可以使用上面的模式将DocA和DocB放在一个集合中吗?
我们的后端位于Cloudera Hadoop (CDH4.6和5.2)发行版之上,我们可以选择属于Hadoop生态系统的任何工具作为可能的解决方案。
发布于 2014-10-30 07:46:37
当然可以,它们只需要为每个文档提供不同的唯一键。如果您定义了一个固定的solr模式,那么动态字段可能会对您有所帮助。
https://stackoverflow.com/questions/26640165
复制相似问题