sorting facets (ファセットの並べ替え)

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

リクエストにsortオブジェクトを追加して、facetsを並べ替える、つまり、facets値とファセット値が表示される順序を決定できます。 sortオブジェクトのネスト方法に応じて、次の2つのレベルでfacetsを並べ替えることができます。

  • The facet level - widget.items.search.facet.sortオブジェクトを使用して、すべてのfacetsにソートを適用し、ファセット・タイプが表示される順序を決定します。

  • ファセットタイプレベル - widget.items.search.facet.types.sortオブジェクトを使用して、特定のファセットタイプにソートを適用し、各ファセットタイプ内でファセットタイプの値が表示される順序を決定します。

これらのオブジェクトのデータモデルについては、Search and Recommendation APIリファレンスを参照してください。

countの昇順または降順で、つまりファセット型またはファセット型の値の項目数、またはtext、つまりアルファベット順に並べ替えることができます。

ファセットレベルでのソート

ファセットレベルでソートするには、widget.items.search.facet.sortオブジェクトを使用し、適用するソートオプションを渡します。

この例では、すべてのファセット・タイプを各ファセット・タイプの項目数の降順でソートします。これを行うには、countnameとして渡し、descorderとして渡します。

次に、サンプル要求を示します。

{
    "widget": {
        "items": [
            {
                "rfk_id": "rfkid_7",
                "entity": "content",
                "sources": [
                    "388218",
                    "390565"
                ],
                "search": {
                    "facet": {
                        "sort": {
                            "name": "count",
                            "order": "desc"
                        },
                        "types": [
                            {
                                "name": "type"
                            }
                        ]
                    }
                }
            }
        ]
    },
    "context": {
        "locale": {
            "country": "us",
            "language": "en"
        },
        "user": {
            "uuid": "159871551-1g-i4-4x-1p-f5tdhddqwvywv7b9g2vy-1664852644904"
        }
    }
}

上記の要求に対する回答は次のとおりです。

{
    "widgets": [
        {
            "rfk_id": "rfkid_7",
            "entity": "content",
            "facet": [
                {
                    "name": "type",
                    "label": "Type",
                    "value": [
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoidHlwZSIsInZhbHVlIjoib3RoZXIifQ==",
                            "text": "other",
                            "count": 990
                        },
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoidHlwZSIsInZhbHVlIjoibmV3cyJ9",
                            "text": "news",
                            "count": 623
                        },
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoidHlwZSIsInZhbHVlIjoia25vd2xlZGdlIGNlbnRlciJ9",
                            "text": "knowledge center",
                            "count": 424
                        },
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoidHlwZSIsInZhbHVlIjoid2ViaW5hcnMifQ==",
                            "text": "webinars",
                            "count": 275
                        }
                    ]
                }
            ]
        }
    ],
    "dt": 96,
    "ts": 1669437001203
}

応答facetオブジェクトでは、ファセット型が項目数の降順で表示されていることがわかります。

ファセットタイプレベルでのソート

ページレベルで並べ替えるには、widget.items.search.facet.types.sortオブジェクトを使用し、適用する並べ替えオプションを渡します。

この例では、次のことを行います。

  • productファセット型の値をアルファベットの降順に並べ替えます。これを行うには、textnameとして渡し、descorderとして渡します。

  • ファセットタイプごとに最大3つの値を取得します。これを行うには、widget.items.search.facet.max3に設定します。

次に、サンプル要求を示します。

{
    "widget": {
        "items": [
            {
                "rfk_id": "rfkid_7",
                "entity": "content",
                "search": {
                    "facet": {
                        "all": true,
                        "max": 3,
                        "types": [
                            {
                                "name": "product",
                                "sort": {
                                    "name": "text",
                                    "order": "desc"
                                }
                            },
                            {
                                "name": "type"
                            }
                        ]
                    }
                }
            }
        ]
    },
    "context": {
        "locale": {
            "country": "us",
            "language": "en"
        },
        "user": {
            "uuid": "159871551-1g-i4-4x-1p-f5tdhddqwvywv7b9g2vy-1664852644904"
        }
    }
}

上記の要求に対する回答は次のとおりです。

{
    "widgets": [
        {
            "rfk_id": "rfkid_7",
            "entity": "content",
            "facet": [
                {
                    "name": "type",
                    "label": "Type",
                    "value": [
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoidHlwZSIsInZhbHVlIjoib3RoZXIifQ==",
                            "text": "other",
                            "count": 990
                        },
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoidHlwZSIsInZhbHVlIjoibmV3cyJ9",
                            "text": "news",
                            "count": 623
                        },
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoidHlwZSIsInZhbHVlIjoiTmV3cyJ9",
                            "text": "News",
                            "count": 605
                        }
                    ]
                },
                {
                    "name": "product",
                    "label": "Product",
                    "value": [
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoicHJvZHVjdCIsInZhbHVlIjoiWE0gQ2xvdWQifQ==",
                            "text": "XM Cloud",
                            "count": 1
                        },
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoicHJvZHVjdCIsInZhbHVlIjoiU2VuZCJ9",
                            "text": "Send",
                            "count": 19
                        },
                        {
                            "id": "facetid_eyJ0eXBlIjoiZXEiLCJuYW1lIjoicHJvZHVjdCIsInZhbHVlIjoiUGVyc29uYWxpemUifQ==",
                            "text": "Personalize",
                            "count": 14
                        }
                    ]
                }
            ]
        }
    ],
    "dt": 40,
    "ts": 1669436687984
}

応答facetオブジェクトでは、ファセットタイプの値がtypeファセットタイプとproductファセットタイプの両方のアルファベット降順で表示されていることがわかります。

この記事を改善するための提案がある場合は、 お知らせください!