1. Search開発者

最初のクエリを作成する

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

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

アプリケーションが検索要求をSitecore Searchにディスパッチする前に、そのアプリケーションを認証する必要があります。組み込みのsetupメソッドは、承認の成功と失敗を処理します。このチュートリアルでは、インストールから最初の検索クエリの応答の処理までの手順について説明します。

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

JSデータパッケージをインストールする

開発を開始する前に、NPMからJSデータパッケージ をインストールする必要があります。これは、IDEで直接行うことも、ターミナルを使用して行うこともできます。

JSデータ パッケージSearchプロジェクトにインストールするには:

  • プロジェクトのターミナルで、以下を実行します。

    npm install --save @sitecore-search/data

セッションを認証する

Searchへのすべての要求は認証される必要があります。組み込みのsetupメソッドを使用して、セッションを認証できます。

セッションを認証するには:

  1. index.tsという名前のTypeScriptファイルで、次のコードブロックをコピーして貼り付けます。

    import {
      setup,
    } from "@sitecore-search/data";
    
    setup({
      customerKey: '<YOUR_CUSTOMER_KEY>',
      apiKey:'<YOUR_API_KEY>',
    });
  2. Sitecore Searchユーザーインターフェイスのメインメニューで、Developer Resourcesをクリックします。

  3. API Accessタブで、Customer key値とAPI key値をコピーします。

  4. index.tsファイルのsetup関数で、<YOUR_CUSTOMER_KEY><YOUR_API_KEY>Customer keyAPI keyにコピーした値に置き換えます。

ウィジェット要求オブジェクトの作成

ウィジェット固有のパラメータは、WidgetRequestオブジェクトのSearchに送信されます。

ウィジェットリクエストオブジェクトを作成するには:

  1. index.tsファイルで、ウィジェットとエンティティのペアのウィジェットリクエストオブジェクトを作成するには、次のコードブロックを貼り付けてから、インポートを調整します。

    import {
      setup,
      WidgetRequest,
    } from "@sitecore-search/data";
    
    const searchResultsWidgetRequest = new WidgetRequest("rfkid_7");
    searchResultsWidgetRequest.setEntity("content");
    const previewSearchWidgetRequest = new WidgetRequest("rfkid_6");
    previewSearchWidgetRequest.setEntity("content");
  2. WidgetRequestオブジェクトで、コンテンツフィールドまたは属性名の形式でクエリ用語をリクエストに渡し、インポートを調整します。

    searchResultsWidgetRequest.addSearchContentField('attribute_name');
    searchResultsWidgetRequest.setSearchQueryKeyphrase("search_term");
  3. WidgetRequestオブジェクトで、ページネーションパラメータを設定するには、次のコードブロックを貼り付けてから、インポートを調整します。

    searchResultsWidgetRequest.setSearchLimit(10);  
    searchResultsWidgetRequest.setSearchOffset(30);
    
    previewSearchWidgetRequest.setSearchLimit(10);  
    previewSearchWidgetRequest.setSearchOffset(30);

検索リクエストを行う

コンテキストとウィジェット情報を含むRequestオブジェクトは、Searchに送信されます。そのパラメータには、含まれているすべてのウィジェットに適用されるパラメータが含まれます。

検索要求を行い、ウィジェット要求オブジェクトを追加するには:

  1. index.tsファイルで、ロケールをコンテキストとして要求を作成するには、次のコードブロックをファイルに貼り付けてから、インポートを調整します。

    import {
      setup,
      Request,
    } from "@sitecore-search/data";
    
    const request = new Request();
    request.setContextLocaleCountry("us");
    request.setContextLocaleLanguage("en");
  2. requestオブジェクトでは、WidgetRequestオブジェクトを個別に追加することも、in and arrayに追加することもできます。

    • WidgetRequestオブジェクトを個別に追加するには、次のコードブロックを貼り付けてから、インポートを調整します。

      request.addWidgetItem(searchResultsWidgetRequest.toJson());
      request.addWidgetItem(previewSearchWidgetRequest.toJson());
    • または、配列にWidgetRequestオブジェクトを追加するには、次のコードブロックを貼り付けてから、インポートを調整します。

      request.setWidgetItems( [ searchResultsWidgetRequest.toJson(), previewSearchWidgetRequest.toJson() ] );

検索要求をディスパッチする

DataProviderは、UIとSearch間のすべての通信を調整するシングルトンです。

DataProviderシングルトンを使用して検索要求をディスパッチするには、次のようにします。

  • index.tsファイルに、次のコードブロックを貼り付けてから、インポートを調整します。

    import {
      setup,
      DataProvider,
      Request,
      WidgetRequest,
    } from "@sitecore-search/data";
    
    DataProvider.get(request.toJson())
      .then((response) => console.log(JSON.stringify(response, null, 4)))
      .catch((error) => console.log(JSON.stringify(error, null, 4)));
この記事を改善するための提案がある場合は、 お知らせください!