如何解决我可以在Solr查询中查询2个不同的集合吗?
我有一个要求,我需要在页面上显示两个不同Solr集合的数据。但是这两个集合没有任何共同的字段或关系。
例如
`Collection 1 fields -> field1(unique key),feild 2,field 3`
Collection 2 fields -> field4(unique key),feild 5
结果应该是基于字段1的收集1数据和基于字段4的收集2数据的组合。
解决方法
innerJoin包装两个流,左和右。对于左中的每个元组 在Right中存在一个包含两个元组字段的元组 将被发射。这支持一对一,一对多,多对一, 以及多对多内部联接方案。元组在 它们出现在“左”信息流中的顺序。两个流都必须是 按用于确定相等性的字段(“上” 参数)。如果两个元组都包含相同名称的字段,则 Right流中的值将在发出的元组中使用。您可以 用select(...)表达式包装传入的流以使其特定 关于所发出的元组中包含哪些字段值
您可以使用Solr Streaming表达式。
innerJoin(
search(Collection1,q="*:*",qt="/export",fl="field1,fields2",sort="commonField asc"),search(Collection2,fl="field3,fields4",sort="commonField asc"),on="commonField "
)
请参考solr链接以获取更多关于同一选项的信息 Solr Streaming
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。