簡體   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