最初の質問をしてください
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
アプリケーションがSitecore Searchに検索リクエストを送信する前に、そのリクエストが認証される必要があります。組み込みのsetupメソッドは認可の成功と失敗を処理します。このウォークスルーでは、設置から最初の検索クエリへの回答対応までの手順をカバーします。
このウォークスルーでは、以下の方法を説明します:
JSデータパッケージをインストールしてください
開発を始める前に、NPMのJS Dataパッケージをインストールする必要があります。これはIDEで直接行うか、ターミナルを使って行うことができます。
プロジェクトにSearch JS Dataパッケージをインストールするには:
-
プロジェクト内のターミナルで、以下を実行します:
npm install --save @sitecore-search/data
セッションの認証
Searchへのすべてのリクエストは認証が必要です。組み込みのsetupメソッドを使ってセッションを認証できます。
セッションの認証方法:
-
TypeScriptファイルindex.tsで、以下のコードブロックをコピー&ペーストします。
import { setup, } from "@sitecore-search/data";
setup({ customerKey: '<YOUR_CUSTOMER_KEY>', apiKey:'<YOUR_API_KEY>', });
-
Sitecore Searchのユーザーインターフェースのメインメニューで、Developer Resourcesをクリックします。
-
API AccessタブでCustomer keyとAPI key値をコピーしてください。
-
index.tsファイルのsetup関数で、<YOUR_CUSTOMER_KEY>と<YOUR_API_KEY>をコピーしたCustomer keyとAPI keyの値に置き換えてください。
ウィジェットリクエストオブジェクトを作成してください
ウィジェット固有のパラメータはWidgetRequestオブジェクトのSearchに送信されます。
ウィジェットリクエストオブジェクトを作成するには:
-
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");
-
WidgetRequestオブジェクト内で、クエリ用語をコンテンツフィールドや属性名の形でリクエストに渡し、インポートを調整します。
searchResultsWidgetRequest.addSearchContentField('attribute_name'); searchResultsWidgetRequest.setSearchQueryKeyphrase("search_term");
-
WidgetRequestオブジェクトでページ設定パラメータを設定するには、以下のコードブロックを貼り付け、インポートを調整します:
searchResultsWidgetRequest.setSearchLimit(10); searchResultsWidgetRequest.setSearchOffset(30);
previewSearchWidgetRequest.setSearchLimit(10); previewSearchWidgetRequest.setSearchOffset(30);
検索リクエストを出す
コンテキストとウィジェット情報を含むRequestオブジェクトがSearchに送信されます。そのパラメータには、含まれるすべてのウィジェットに適用されるものが含まれています。
検索リクエストを作成し、ウィジェットリクエストオブジェクトを追加するには:
-
index.tsファイル内で、localeをコンテキストにしたリクエストを作成するには、以下のコードブロックをファイル内に貼り付け、インポートを調整します:
import { setup, Request, } from "@sitecore-search/data";
const request = new Request(); request.setContextLocaleCountry("us"); request.setContextLocaleLanguage("en");
-
requestオブジェクトでは、WidgetRequestオブジェクトを個別に、または と の配列に追加できます:
-
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)));