1. クライアントのクエリ

SearchAfterQueryクエリを作成する

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

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

SearchAfterQueryクエリを使用して、Sitecore Content Hub内の特定のエンティティを検索できます。SearchAfterQuery自体はエンティティをクエリするのではなく、クエリ条件を記述します。クエリの実行を担当するのはクエリクライアントであり、定義されたSearchAfterQueryクエリが必要です。SearchAfterQueryオブジェクトは、次のパラメーターをサポートします。

  • Filter - 呼び出されるフィルターのタイプ。

  • Take - 取得するエンティティの数。

  • Sorting - 適用する並べ替えオプション。

  • LoadConfiguration - 適用する負荷構成。

  • SearchAfter - 結果の次のページを取得するためのソート値のリスト。

  • Renditions - 適用するレンディション。

  • NestedRelations - 適用されるネストされたリレーション。

クエリ フィルター

このQueryFilterBuilderを使用して、次の例に示すようにフィルターを作成します。

定義名によるクエリ

次の例では、定義名でクエリを実行します。

const filter = new DefinitionNameQueryNodeFilter({ name: "M.Asset" });

定義IDによるクエリ

次の例では、定義IDでクエリを実行します。

const filter =new DefinitionIdQueryNodeFilter({ id: 40 });

ユーザーによって作成されたクエリ

次の例では、ユーザーごとにクエリを実行します。

const filter = new CreatedByQueryNodeFilter({ userId: 6 });

全文検索

次の例では、full textプロパティでクエリを実行します。

const filter = new FullTextQueryNodeFilter({ value: "text" });

M.Assetエンティティのクエリ

次の例では、タイトルがmy assetに等しいM.Assetエンティティをクエリします。

const query = new SearchAfterQuery({
     filter: new LogicalQueryNodeFilter({
        operator: LogicalOperator.And,
        left: new StringPropertyQueryNodeFilter({
            propertyName: "Title", 
            operator: QueryNodeFilterOperator.Equals,
            value: "my asset",
        }),
        right: new DefinitionNameQueryNodeFilter({ name: "M.Asset" }),
     }),
     sorting: [
        new Sorting({ field: "created_on", fieldType: SortFieldType.Property, order: QuerySortOrder.Desc }),
     ],
     take: 1,
});

var results = await client.querying.searchAfterAsync(query);

// query for the next set of results
query.searchAfter = actual.lastHitData;
results = await client.querying.searchAfterAsync(query);
この記事を改善するための提案がある場合は、 お知らせください!