Solr筛选嵌套文档中的多个子项
我无法找到如何仅筛选嵌套文档中的相关子项并将其与父项一起返回,例如: 返回所有具有attribute1=value1和attribute1=value2子文档的父文档,并仅返回具有父文档的子文档 一个文档的结构如下所示:Solr筛选嵌套文档中的多个子项,solr,Solr,我无法找到如何仅筛选嵌套文档中的相关子项并将其与父项一起返回,例如: 返回所有具有attribute1=value1和attribute1=value2子文档的父文档,并仅返回具有父文档的子文档 一个文档的结构如下所示: { category: parent, attr1: a, attr2: b, _childDocuments_ : [ { category:child, childAttr1: x, // many more
{
category: parent,
attr1: a,
attr2: b,
_childDocuments_ : [
{
category:child,
childAttr1: x,
// many more
},
{
category:child,
childAttr1: y,
// many more
},
{
// more children but should not be returned
}]
}
使用子转换器返回所有子项。在[child]
转换器中使用多个childfilter没有任何效果(先取一个,然后忽略一个)
一个示例查询是
query='+attr1:(*)+{!parent which=category:parent}childAttr1:x
+{!parent which=category:parent}childAttr1:y',
'fl':'*,[child parentFilter=category:parent childFilter=childAttr1:x11]'
我正在使用JSON API进行查询,通过父属性对结果进行分组,并对某些父属性进行过滤,但这不重要(imho)
非常感谢您的时间,我希望这个问题写得很好。我想您需要的是:
&q={!parent which=category:parent}(+field:value1 AND field:value2)
&fl=*,[child childFilter="field:value1 AND field:value2" parentFilter=category:parent]