繁体   English   中英

子文档上的Apache Solr过滤器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM