Solr中的元数据字段重复

时间:2014-05-14 18:32:57

标签: solr

我正在尝试索引数百万个与元数据对象相关联的字符串。

每个元数据对象可以有 n 数千个字符串。

我需要能够搜索字符串内容和关联的对象元数据。

目前这意味着我正在使用每个字符串索引相关元数据字段的副本,这会导致大量的重复和非常大的索引大小。

在关系数据库模型中,我可以只存储元数据的一个副本并加入表,以便能够通过组合字段进行过滤和搜索,但是我看不到在Solr中消除这种重复的任何方法。 / p>

我有什么明显的遗漏,或者Solr只是错误的工具吗?

1 个答案:

答案 0 :(得分:1)

Solr有support for join,其行为更像是子查询,而不是加入关系数据库术语,但可能会做你想要的。您可以让Solr返回具有一个或多个与查询匹配的字符串的元数据对象。使用另一个非连接查询,您还可以找出匹配的字符串。 (注意:This SO question解释了为什么你不能用一个查询同时获取元数据对象和匹配的字符串。)如果元数据对象和字符串具有1对N的关系,那么你也应该研究{ {3}},专为此类关系而设计。您可以将元数据对象索引为父文档,将字符串索引为子文档。