【问题标题】:Is it possible to have documents with a subset of fields of the collection's schema under one solr collection?是否可以在一个 solr 集合下拥有包含集合模式字段子集的文档?
【发布时间】:2014-12-25 17:40:49
【问题描述】:

我们有 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 列。从技术上讲,我仍然可以将这些变平,但我认为这不是一个好主意。我知道我可以为每个数据集提供具有不同模式的不同集合。但是,我们对这些文档执行分组,所以我们需要一个模式。

有没有什么方法可以在一个集合下维护具有模式字段子集的文档而不将它们展平?如果没有,是否有更好的解决方案来解决这个问题?

例如:

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

我们可以在具有上述架构的一个集合下拥有 DocA 和 DocB 吗?

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

【问题讨论】:

  • 您的问题得到答案了吗?如果你能分享它会很棒。我也在找一样的。

标签: search hadoop solr faceted-search solrcloud


【解决方案1】:

当然可以,它们只需要为每个文档使用不同的唯一键。如果您已经定义了一个固定的 solr 架构,也许动态字段可以帮助您。

【讨论】:

  • 感谢您的回复。可能是我的问题不够清楚。假设我有集合 A,其架构为 col1、col2、col3、col4、col5、col6、col7。如果我的文档 1 是 (col1, col2,col3),则文档 2 是 (col2,col4,col5),文档 3 是 (col5,col6,col7)。我可以直接将这些文件索引到 A 中吗?此外,我的架构不是固定的,架构中的字段数量会随着具有不同结构的新文档的出现而改变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
  • 2012-01-22
  • 2019-01-08
  • 2018-12-07
  • 2022-01-04
相关资源
最近更新 更多