SearchDataSource
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
指定されたルート項目からSitecoreのアイテムを取得するには**、SearchDataSourceコンポーネントを使います。検索クエリでコンポーネントが取得するアイテムを制限できます。SearchDataSourceコンポーネントが取得するアイテムを表示するには、ListControl**のような別のコンポーネントを使用します。
デフォルトでは、SearchDataSourceコンポーネントは検索クエリに一致するすべてのアイテムを取得します。PageSizeプロパティを0 >に設定すると、SearchDataSourceコンポーネントは指定された数のアイテムを一度に取得します。 SearchDataSourceコンポーネントにnextイベントを上げることで次の「ページ」のアイテムを取得するよう指示できます。例えば、ページにボタンを追加し、そのボタンのクリックプロパティを設定してnextイベントを呼び出すことができます。
検索設定項目を定義し、そのSearchフィールドで初期検索を指定することで初期検索を指定できます。その後、SearchConfigItemIdプロパティから設定項目を参照します。この項目を作成する際にはSearchPanel設定テンプレートを使用します。
ファセットは検索にも使えます。ファセットとは、グループ化に使えるアイテムの明確な特徴です。アイテムは複数のファセットを持つことができますが、それぞれのファセットに対しては1つの異なる値しか持てません。ファセットの例としては、Dimensions(画像のサイズ)、ファイルタイプ、言語などがあります。
FilterControlコントロールを使ってファセットを表示します。ユーザーはファセットを選択したり解除したりでき、検索は即座に更新されます。
まずユーザーに提示したいファセットを作成しなければなりません。ファセットテンプレートを使って、それぞれのファセットごとにアイテムを作成します。
Searchクエリ構文
特定のフィールド値を以下の構文で検索できます:
ここで:
-
複数のフィールド名を入力した際にSitecoreがこのフィールドの検索条件をどのように解釈するかを定義します。以下の修飾子を使用できます:
- 修飾子はSHOULDに変換されず、論理的なORに対応しません
-
- はMUSTに変換され、論理的ANDに対応します。
- – はMUST NOTに翻訳され、論理的AND NOTに対応します
-
テンプレートフィールド名を指定します。フィールド名に埋め込みスペースがある場合は、必ず引用符で囲む必要があります。
-
は単純なテキスト条件です。ワイルドカードとして\*(アステリックス)を使うことができます。検索文字列に埋め込まれたスペースがある場合は、必ず引用符で囲む必要があります。
複数のフィールドに対して、スペースで区切った検索文字列を含めることができます。
ソーティング
Searchフィールドは以下の構文でソートが可能です:
ここで:
-
テンプレートのフィールド名を指定します。フィールド名に埋め込まれたスペースがある場合は、引用符で囲みます。
-
オプションで、昇順または降順のソートを指定します。
許容される値は以下の通りです:
- |ASC 上昇順の値を示します。
- |DESC は降順の値を示します。
複数のソートフィールドを含めることができます。
性質
名称
概要
デフォルト
外見
フォーマット
フォーマットトークンを指定します:
-
$convert_date_to_friendly_format: 内部日付フォーマットをローカライズ形式に変換
-
$send_localized_dates: すべての日付のローカライズ版を送信
-
$convert_id_to_display_name: アイテムIDをアイテムの表示名に変換します
複数のフォーマットをパイプ分離("|")リストとして入力できます。
ソーティング
コンポーネントがアイテムの並べ替え方法を指定してください。別のコントロールにバインドして、ソートをインタラクティブにすることもできます。
例えば、SearchDataSourceコンポーネントが取得するアイテムを表示するためにListControlを使うことがよくあります。SearchDataSourceコンポーネントのSortingプロパティをListControlのSortingプロパティにバインドし、ユーザーがListControlのソート「arrow」ボタンをクリックすると、SPEAKがSearchDataSourceコンポーネントに通知します。
データ
データベース
Sitecoreが検索するデータベースを指定する:
- データベースの正確な名称、例えば coreや master。
- $context_database: コンテキストデータベース。
- $context_contentdatabase: コンテンツデータベース。
コンテキストデータベース
ファセット
SearchDataSourceコンポーネントが使用するファセットを指定します。
FacetsRootItemId
子項目として検索ファセットを含む構成アイテムを指します。各ファセットのファセットテンプレートに基づいてファセット構成アイテムを作成します。
フィールド
Sitecoreが検索すべきフィールドをパイプ分離(「|」)リストで提供できます。アステリックス「*」を入力すると、Sitecoreはすべてのフィールドで検索します。パフォーマンスを向上させるためにできるだけ少ないフィールドでSearchしてください。
何も入力しなければ、すべてのフィールドが検索されます。
アイテム
取得したアイテムを含みます。通常、アイテムを表示できるコントロール(例えば ListControl コントロール)からこのプロパティにバインドします。
言語
検索したい項目の言語バージョンを指定します:
- 空。
- $context_language: CMSで現在の言語で検索
- 正確な表現例「ja-jp」や「en-us」
すべての言語
ルートアイテムID
検索を始めたいコンテンツツリー内のアイテムを指し示してください。
Sitecoreコンテンツツリーの根です。
SearchConfigItemId
検索設定を含む設定項目を指します。 PageSettings 項目の子としてSearchPanel Configテンプレートに基づいて設定項目を作成し、その項目のフィールドを使って検索を設定します。
選択的ファセット
コンポーネントが使用する利用可能なファセットを指定します。通常、このプロパティは FilterControl コントロールのSelectedFacetsプロパティにバインドします。これを行うと、ユーザーは FilterControl コントロール内でファセットを選択でき、 SearchDataSource コンポーネントが検索結果を更新します。
本文
検索するテキスト。通常、この値は他のコンポーネントのテキストプロパティにデータバインドします。例えば、ユーザーが検索語を入力できるテキストボックスなどです。ドロップダウンリストを使って、ページ上の他のコンポーネントのプロパティを選択できます。
ページング
ページインデックス
SearchDataSourceコンポーネントは、PageSizeプロパティが総ページ数より小さい場合、現在のページのインデックス(番号)でこのプロパティを更新します。
ページサイズ
コンポーネントがSitecoreから取得するアイテム数を設定します。
HasItems
検索でアイテムが見つかれば真(読み取り専用)です。
HasMoreItems(アイテムを持ったもの)
検索結果にデータソースがまだクライアントに送信していない項目(読み取り専用)が含まれている場合、真です。
HasNoItems
データソースが検索結果のすべての項目をクライアントに送信した場合(読み取り専用)が真です。
IsBusy
コンポーネントがサーバーからデータを取得する過程(読み取り専用)であれば真です。
構成
SearchDataSourceコンポーネントの構成アイテムは、SearchDataSourceパラメータテンプレートに基づいてアイテムを作成することで作成できます。
設定項目には以下の特定のフィールドがあります:
- フォーマット
- ソーティング
- 本文
- FacetsRootItemId
- ファセット
- SearchConfigItemId
- アイテム
- ルートアイテムID
- 選択的ファセット
- IsBusy
- HasItems
- HasNoItems
- HasMoreItems(アイテムを持ったもの)
以下の場を継承します:
- データベース
- フィールド
- ページサイズ
- ページインデックス
- 言語
- 行動
- ID