1. Search開発者

チュートリアル: 実行時のウィジェットの構成

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

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

Sitecore Searchでは、ウィジェットは通常、Sitecore Searchユーザーインターフェイスで構成されます。この構成には、ウィジェットの種類、ルール、および機能が含まれます。

Searchウィジェットルールは、コンテキスト条件が満たされた場合にのみ適用されます。コンテキスト条件が実行時にのみ定義できる場合にルールを適用したい場合があります。このような場合は、リクエストでウィジェットの動作を構成できます。

たとえば、コンバージョンは実行時にのみ評価できます。ウィジェットに基づいてウィジェットの動作を変更するには、リクエストにルールを追加します。

Sitecore Searchで設定されたルールと実行時に作成されたルールは似ています。唯一の違いは、実行時に作成されるルールでコンテキスト条件を定義する必要がないことです。すでに条件を満たしていると見なすことができます。

このチュートリアルでは、次の方法について説明します。

  • 実行時に検索結果ウィジェットを作成します。

  • アイテムをブーストするルールを作成します。

  • アイテムを埋めるルールを作成します。

  • パーソナライゼーション設定を上書きします。

  • 属性ランキングを上書きします。

実行時に検索結果ウィジェットを作成する

ルールはウィジェットに固有であるため、ルールを作成する前にWidgetRequestオブジェクトをインスタンス化する必要があります。

実行時に検索結果ウィジェットを作成するには:

  • search_widget.tsというTypeScriptファイルで、次のコードブロックをコピーして貼り付け、インポートを調整します。

    import {
      WidgetRequest,
    } from "@sitecore-search/data";
    
    const widgetRequest = new WidgetRequest("rfkid_7");
    widgetRequest.setEntity("content");

アイテムをブーストするルールを作成する

ブーストルールは、指定されたスロットに、SearchFilterを通過するアイテムに表示されます。

SearchFilterオブジェクトを使用してWilliam ShakespeareまたはWilliam Wordsworthによって作成されたアイテムをブーストするルールを作成して追加するには:

  • search_widget.tsするには、次のコードブロックを追加し、インポートを調整します。

    import {
      SearchFilter, 
      Boost
    } from "@sitecore-search/data";
    
    const boostFilter: SearchFilter = {  
      type: "anyOf",
      name: "author",
      values: ["William Shakespeare", "William Wordsworth"]
    }
    
    const boostRule: Boost = {  
      filter: boostFilter,
      slots: [0,3,8]
    }
    
    widgetRequest.addRfkFlag( "+rules" );
    widgetRequest.addSearchRuleBoost( boostRule )

アイテムを埋めるルールを作成する

埋め込みルールでは、SearchFilterを通過した項目は表示されません。

SearchFilterオブジェクトを使用して、1900年1月1日以降に発行されたアイテムを埋めるルールを作成して追加するには:

  • search_widget.tsするには、次のコードブロックを追加し、インポートを調整します。

    import {
      SearchFilter,
      Bury
    } from "@sitecore-search/data";
    
    const buryFilter: SearchFilter {
      type: "gte",
      name: "publication_date",
      values: [ new Date( 1900 ) ]
    }
    
    const buryRule: Bury {  
      filter: buryFilter
    }
    
    widgetRequest.addRfkFlag( "+rules" );
    widgetRequest.addSearchRuleBoost( buryRule )

パーソナライゼーション設定を上書きする

パーソナライゼーション設定をオーバーライドして、Personalizationオブジェクトを使用してaffinityアルゴリズムを使用するには:

  • search_widget.tsするには、次のコードブロックを追加し、インポートを調整します。

    import {
      Personalization
    } from "@sitecore-search/data";
    
    const personalization: Personalization {
      algorithm: "affinity",
    }
    widgetRequest.addRfkFlag( "+personalization" );
    widgetRequest.addSearchRuleBoost( personalization )

属性ランキングの上書き

Rankingオブジェクトを使用してaffinityアルゴリズムを使用するようにパーソナライゼーション設定をオーバーライドするには:

  • search_widget.tsするには、次のコードブロックを追加し、インポートを調整します。

    import {
      Personalization
    } from "@sitecore-search/data";
    
    const likesRanking: Ranking {
      name: "likes",
      weight: 5
    }
    const ratingRanking: Ranking {
      name: "rating",
      weight: 10
    }
    widgetRequest.addRfkFlag( "+ranking" );
    widgetRequest.addSearchRanking( likesRanking )
    widgetRequest.addSearchRanking( ratingRanking )
この記事を改善するための提案がある場合は、 お知らせください!