SearchDataSource

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

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

指定されたルート項目からSitecoreのアイテムを取得するには**、SearchDataSourceコンポーネントを使います。検索クエリでコンポーネントが取得するアイテムを制限できます。SearchDataSourceコンポーネントが取得するアイテムを表示するには、ListControl**のような別のコンポーネントを使用します。

デフォルトでは、SearchDataSourceコンポーネントは検索クエリに一致するすべてのアイテムを取得します。PageSizeプロパティを0 >に設定すると、SearchDataSourceコンポーネントは指定された数のアイテムを一度に取得します。 SearchDataSourceコンポーネントにnextイベントを上げることで次の「ページ」のアイテムを取得するよう指示できます。例えば、ページにボタンを追加し、そのボタンのクリックプロパティを設定してnextイベントを呼び出すことができます。

検索設定項目を定義し、そのSearchフィールドで初期検索を指定することで初期検索を指定できます。その後、SearchConfigItemIdプロパティから設定項目を参照します。この項目を作成する際にはSearchPanel設定テンプレートを使用します。

ファセットは検索にも使えます。ファセットとは、グループ化に使えるアイテムの明確な特徴です。アイテムは複数のファセットを持つことができますが、それぞれのファセットに対しては1つの異なる値しか持てません。ファセットの例としては、Dimensions(画像のサイズ)、ファイルタイプ、言語などがあります。

FilterControlコントロールを使ってファセットを表示します。ユーザーはファセットを選択したり解除したりでき、検索は即座に更新されます。

まずユーザーに提示したいファセットを作成しなければなりません。ファセットテンプレートを使って、それぞれのファセットごとにアイテムを作成します。

特定のフィールド値を以下の構文で検索できます:

:

ここで:

  • 複数のフィールド名を入力した際に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
この記事を改善するための提案がある場合は、 お知らせください!