多值字段的solr模式
您好,在我的文档中,我有数据作为Party value和Party Type。单个文档可以有多个参与方值和参与方类型。例如,第一个文档的Party值为Pramod,Party type为client。同一文档的参与方值为XYZ,参与方类型为供应商。我需要以这样一种方式设计模式,即我能够查询client=pramod的所有文档。我可以通过在solr模式中定义两个字段client.name和supplier.name来实现这一点,但是问题是没有定义party type的值集,将来可能会添加新值 假设我的表有3列文档id Party Value和Party Type。在这个表中,我有3行。第一行文档id:1参与方值:Pramod参与方类型:客户端。第二行:文档id:1参与方值:Raj参与方类型:供应商。第三行文档id:2参与方值:Pramod参与方类型:供应商。现在在这个表中,如果我使用SQL,我很容易找到所有的文档,其中Party值为Pramod,Party类型为Client多值字段的solr模式,solr,Solr,您好,在我的文档中,我有数据作为Party value和Party Type。单个文档可以有多个参与方值和参与方类型。例如,第一个文档的Party值为Pramod,Party type为client。同一文档的参与方值为XYZ,参与方类型为供应商。我需要以这样一种方式设计模式,即我能够查询client=pramod的所有文档。我可以通过在solr模式中定义两个字段client.name和supplier.name来实现这一点,但是问题是没有定义party type的值集,将来可能会添加新值 假设
我需要设计solr模式,以便在solr中也能这样做。如果我在solr schema中创建两个字段Party value和Party type,这两个字段都是多值的,并尝试查询+Pramod+Supplier,那么solr将返回我第一个文档,即使在第一个文档中Pramod是客户而不是供应商我认为您的模式很好,但您的查询不够具体。您的查询应该以特定字段为目标。因此,查询将如下所示:
+PartyValue:Pramod +PartyType:Supplier
有更多的细节。这里有两个可能的问题:
将它们放在单个字段中的原因是,您不希望找到任何类型为a、任何值为B的文档;您希望找到包含a/B类型/值对的问题。您的问题很难理解。你能把问题弄清楚并举例吗?我想普拉莫德在问问题2。事实上,这是一个很好的解决办法。PartyValue多个PartyTypes对如何?solr TemplateTransformer无法处理此问题。如果组合字段名为
“party”
,则“party:pramod”
或“party:supplier”
也将起作用。唯一的问题是,如果参与方名称是“供应商”
或“客户”
。假设您的文档包含两个多值字段party和type,那么您的查询应该类似于party:[“pramod”]和type:[“client”]