[英]Apache Solr Filter on Child Documents
我有一个文档,其中也包含子文档列表,如下所示:-
{
"pf1":"data1",
"pf2":"data2",
"path":"1.parent",
"_childDocuments":[
{
"cf1":"data101",
"cf2":"data102",
"path":"2.child"
},
{
"cf1":"data111",
"cf2":"data112",
"path":"2.child"
}
]
}
我想查询cf1
具有值data101
子文档。 这意味着我的输出将是这样的。
{
"pf1":"data1",
"pf2":"data2",
"path":"1.parent",
"_childDocuments":[
{
"cf1":"data101",
"cf2":"data102",
"path":"2.child"
}
]
}
我无法为此生成查询。 有什么办法可以查询子文档并获取包含我的结果的子文档?
提前致谢
是的,您可以在ChildDocTransformer的帮助下完成此操作
您现在应该对父文档进行常规查询,例如:
q=pf1:data1
并在字段列表参数中应用变压器:
fl=pf1,pf2,path,[child parentFilter=type:parent childFilter=cf1:data101]
您需要仔细选择parentFilter,因为您将在此处使用的查询应仅与父文档匹配。 因此,在我的示例中, type:parent
只是您的占位符,您应该根据您的数据提出查询(也许您甚至应该添加一些字段类型以便于区分)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.