solr join-返回父文档和子文档
我正在使用Solr的(4.0.0-beta)连接功能来查询包含具有父/子关系的文档的索引。join查询非常有效,但我只在搜索结果中获取父文档。我相信这是预期的行为 但是,是否可以在搜索结果中同时返回父文档和子文档?(作为单独的搜索点击) 例如: 家长:solr join-返回父文档和子文档,join,solr,Join,Solr,我正在使用Solr的(4.0.0-beta)连接功能来查询包含具有父/子关系的文档的索引。join查询非常有效,但我只在搜索结果中获取父文档。我相信这是预期的行为 但是,是否可以在搜索结果中同时返回父文档和子文档?(作为单独的搜索点击) 例如: 家长: SolrDocument{uid=m_1, media_id=1}<br/> SolrDocument{uid=m_2, media_id=2}<br/> SolrDocument{uid=m_3, media_id=3}
SolrDocument{uid=m_1, media_id=1}<br/>
SolrDocument{uid=m_2, media_id=2}<br/>
SolrDocument{uid=m_3, media_id=3}
我在结果中得到了父文档(uid=m_1),正如预期的那样。但在这种情况下,我希望在结果中同时返回父对象和子对象。那可能吗?不,不可能。根据Solr Wiki: 对于习惯SQL的人来说,重要的是要注意Solr中的联接实际上并不等同于SQL联接,因为没有关于“从”联接的表的信息被带入最终结果。更合适的SQL类比是“内部查询” 要做到这一点,您必须对所有数据进行非规范化,或者运行两个不同的查询
SolrDocument(uid=p_1, page_id=1, fk_media_id=[1], partNumber=[abc, def, xyz]}<br/>
SolrDocument(uid=p_2, page_id=2, fk_media_id=[1,2], partNumber=[123, 456]}<br/>
SolrDocument(uid=p_3, page_id=3, fk_media_id=[1,3], partNumber=[100, 101]}
{!join from=fk_media_id to=media_id}partNumber:abc