嗨,在我的文档中,我有数据作为党的价值和党的类型。单个文档可以具有多方值和派对类型。例如,第一份文件将具有Party价值作为Pramod和Party类型作为客户。同一份文件的缔约方价值与供应商的XYZ和缔约方类型相同。我需要以这样的方式设计模式,以便能够查询其中client = pramod的所有文档。我可以通过在solr schema中定义两个字段作为client.name和supplier.name来实现,但问题是未定义派对类型的值集合,并且未来可能会添加新值。多值字段的索尔架构
回答
可以说我有3列文档ID党值和党类型的表。在这张桌子里我有3排。第一行文件ID:1当事人价值:Pramod派对类型:客户。第2行:文档ID:1参与方值:Raj参与方类型:供应商。第3行文件ID:2党值:Pramod派对类型:供应商。现在在这张表中,如果我使用SQL,我很容易找到所有具有Party Value作为Pramod和Party Type作为Client的文档。
我需要设计solr模式,以便我可以在Solr中执行相同的操作。如果我在solr模式中创建2个字段Party值和Party类型,他们都是多值的,并尝试查询+ Pramod + Supplier然后solr会返回我第一个文档,即使在第一个文档中,Pramod是客户端而不是供应商
假设你的文档有党和类型作为两个多值字段,你的查询应该看起来像派对:[“pramod”] AND type:[“client”] – 2013-01-10 00:56:41
我认为你的模式很好,但你的查询不够具体。您的查询应该针对特定的字段。所以查询将如下所示:
+PartyValue:Pramod +PartyType:Supplier
Solr query documentation有更多详细信息。
有,你可以在这里问两个可能的问题:
- 每个文档都有一个PartyValue和一个PartyType。在这种情况下,您应该使用Aaron的建议(PartyValue有一个字段,PartyType有一个字段)。
每个文档都有一个PartyValue-Type对的列表。在这种情况下,您可能需要一个字段,但是multiValued = true。您的查询就会像
+ combinedField:(普拉莫德供应商)
原因在单场有他们的是,你不想来查找文档,其中的任何类型为A,任意值为B;你想找到包含A/B类型/值对的那些。
- 1. DSE搜索 - Solr的多值字段架构不能与CAS模式:(映射
- 2. 索引布尔字段
- 3. Solr的搜索多值字段
- 4. MySQL的 - 搜索在多值字段
- 5. 搜索包含多个值的字段
- 6. MySQL:两个布尔字段的索引
- 7. 在平坦多值字段上搜索
- 8. 只搜索Solr多值字段的单个值,不跨越值
- 9. 多个字段的搜索
- 10. 不一致Rails的数据库架构生成的布尔字段
- 11. 将值插入Solr的布尔字段
- 12. 如何提高字段在索尔
- 13. Solr:多语言索引和多值字段的DIH?
- 14. SOLR多值字段
- 15. 在.NET程序集中循环访问多值字段和嵌入架构字段TBB
- 16. Solr的多值字段串
- 17. 如何避免从索尔检索整个存储的字段
- 18. Laravel搜索多个字段
- 19. Mysql搜索多个字段
- 20. 多个搜索字段
- 21. SELECT DISTINCT多字段搜索?
- 22. NSPredicate多字段搜索
- 23. 猫鼬必填字段嵌套架构
- 24. 将字段添加到Solr架构
- 25. 从字段检索值
- 26. Sitecore.ContentSearch按字段值搜索
- 27. Django的REST框架多源字段
- 28. 聚合框架需要的字段值
- 29. 检索Django rest框架相关字段
- 30. 搜索多个字段具有多个值
你的问题真的很难理解。你能清除这个问题,并举一些例子吗? – 2010-07-23 12:04:02