多值字段的solr模式

时间:2010-07-23 11:57:30

标签: solr

HI,在我的文档中,我有数据作为Party值和Party Type。单个文档可以具有多个Party值和Party Type。例如,First文档将Party值作为Pramod,Party类型作为客户端。同一文件的Party值为XYZ,Party类型为供应商。我需要以这样的方式设计模式,以便我能够查询client = pramod的所有文档。我可以通过在solr模式中将两个字段定义为client.name和supplier.name来实现此目的,但问题是未定义方类型的值集,并且将来可能会添加新值。

3 个答案:

答案 0 :(得分:2)

我认为您的架构很好,但您的查询不够具体。您的查询应针对特定字段。所以查询将如下所示:

+PartyValue:Pramod +PartyType:Supplier

Solr query documentation有更多详情。

答案 1 :(得分:2)

您可以在这里提出两个问题:

  1. 每个文档都有一个PartyValue和一个PartyType。在这种情况下,您应该使用Aaron的建议(PartyValue有一个字段,PartyType有一个字段)。
  2. 每个文档都可以包含PartyValue-Type对列表。在这种情况下,您可能需要一个字段,但multiValued = true。您的查询将类似于

    + combinedField :( pramod供应商)

  3. 将它们放在单个字段中的原因是您不希望找到任何类型为A且任何值为B的文档;你想找到包含A / B类型/价值对的那些。

答案 2 :(得分:0)