HI,在我的文档中,我有数据作为Party值和Party Type。单个文档可以具有多个Party值和Party Type。例如,First文档将Party值作为Pramod,Party类型作为客户端。同一文件的Party值为XYZ,Party类型为供应商。我需要以这样的方式设计模式,以便我能够查询client = pramod的所有文档。我可以通过在solr模式中将两个字段定义为client.name和supplier.name来实现此目的,但问题是未定义方类型的值集,并且将来可能会添加新值。
答案 0 :(得分:2)
我认为您的架构很好,但您的查询不够具体。您的查询应针对特定字段。所以查询将如下所示:
+PartyValue:Pramod +PartyType:Supplier
Solr query documentation有更多详情。
答案 1 :(得分:2)
您可以在这里提出两个问题:
每个文档都可以包含PartyValue-Type对列表。在这种情况下,您可能需要一个字段,但multiValued = true。您的查询将类似于
+ combinedField :( pramod供应商)
将它们放在单个字段中的原因是您不希望找到任何类型为A且任何值为B的文档;你想找到包含A / B类型/价值对的那些。
答案 2 :(得分:0)