xConnect検索でサポートされている方法と演算子
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
xConnect SearchはIAsyncQueryable<T> すべてのメソッドを実装しているわけではなく、サポートされていないメソッドを使用しようとすると、Sitecore.XConnect.Search.YourLinqIsTooStrongExceptionまたはXdbModelExceptionの例外をスローします。次の表は、特に明記されていない限り、問い合わせ検索とインタラクション検索の両方に適用されます。
同期および非同期の拡張メソッドの概要については、xConnectクライアントAPIを参照してください。
Extension method and operator support matrix:
|
メソッド/演算子 |
xコネクト |
IAsyncQueryable<T> |
筆記 |
|---|---|---|---|
|
.Where() |
はい |
はい | |
|
.Any() |
はい |
はい |
制限については、Azure Searchリストフィールドの制限 の節を参照してください。 |
|
.ToArray() |
はい |
はい | |
|
.ToList() |
はい |
はい | |
|
.Count() |
はい |
はい | |
|
.OrderBy() |
はい |
はい | |
|
.OrderByDescending() |
はい |
はい | |
|
.ThenBy() |
はい |
はい | |
|
.ThenByDescending() |
はい |
はい | |
|
.Skip() |
はい |
はい |
「xConnect検索結果のページ分割」を参照してください。 |
|
.Take() |
はい |
はい |
「xConnect検索結果のページ分割」を参照してください。 |
|
.FirstOrDefault() |
はい |
はい | |
|
.First() |
はい |
はい | |
|
.Single() |
はい |
はい | |
|
.SingleOrDefault() |
はい |
はい | |
|
== そして != |
はい |
はい | |
|
< そして > |
はい |
はい | |
|
<= そして >= |
はい |
はい | |
|
&& そして || |
はい |
はい | |
|
.GetBatchEnumerator() |
はい |
いいえ | |
|
.GetBatchEnumeratorSync() |
はい |
いいえ | |
|
.ToSearchResults() |
はい |
いいえ | |
|
.WithExpandOptions() |
はい |
いいえ | |
|
.AsEnumerable() |
はい |
いいえ |
同期のみ。 |
|
Contains |
いいえ |
はい | |
|
StartsWith |
いいえ |
はい | |
|
EndsWith |
いいえ |
はい | |
|
ToString |
いいえ |
はい | |
|
Equals |
いいえ |
はい |
Like()拡張方法はありません。
xConnect検索プロバイダーの制限事項
xConnect検索プロバイダーは、次のシナリオをサポートしていません。
Limitations of xConnect search providers:
|
シナリオ |
制約 |
|---|---|
|
検索式内のカスタムメソッド |
xConnectクライアントAPIは、LINQクエリ式内でのカスタム メソッド呼び出しをサポートしていません。 Sitecore.XConnect.Search.YourLinqIsTooStrongExceptionまたはXdbModelExceptionの例外を受け取ります。 |
|
null値の場合はSearch |
ファセットがnullであるかどうかを確認することはできません。例えば: |
|
カスタムイベントプロパティのTimespanによるSearch by Timespan |
次のクエリ (カスタムTimespanプロパティを使用) はサポートされていません。 手記 イベントでは、デフォルトのDurationプロパティを引き続き使用できます。この制限はイベントにのみ適用され、ファセットには適用されません。 |
|
First、FirstOrDefault、Last、LastOrDefault、またはLINQ式内のカウント |
サポート対象外: |
|
タイムスパン |
OfType演算子とTimespanプロパティ (Hours、Minutes、Secondsなど) を組み合わせたクエリでは、Timespanを使用することはできません。 サポート: サポート対象外: |
|
複雑なリストへのパスで名前が繰り返される |
次のクエリは、両方のリストで同じであるためPath.To.Nestedサポートされていません。 |
Azure Searchプロバイダーの制限事項
次の制限は、xConnect検索のAzure Searchプロバイダーに固有です。
Limitations of Azure Search providers:
Azure Searchリスト フィールドの制限
次の表は、Azure Searchの 複合型の制限 に関連しています。
9.0アップデート2
9.0 Update 2では、複合型のリスト内での比較が改善されています。次に、これらのタイプのオペレーター・サポートを示します。
Azure Search list field support matrix for 9.0 Update 2:
|
種類 |
== |
|| |
&& |
! |
> |
>= |
< |
<= |
!= |
|---|---|---|---|---|---|---|---|---|---|
|
文字列、列挙型、またはGuidの入れ子になったリスト |
はい |
はい |
はい |
はい |
いいえ |
いいえ |
いいえ |
いいえ |
いいえ |
|
複合型またはその他の単純型のネストされたリスト ( intや float |
はい |
はい |
はい |
はい |
はい |
はい |
はい |
はい |
はい |
次に、これらのタイプの演算子の使用例を示します。
Azure Search list field examples for 9.0 Update 2:
|
種類 |
例 |
|---|---|
|
文字列、列挙型、またはGuidの入れ子になったリスト |
サポート対象外: サポート: |
|
複合型またはその他の単純型のネストされたリスト ( intや float |
サポート: |
|
別のリストを含むリスト |
ネストされたAny() を使用して、ネストされたリストに到達できます。 サポート: |
|
Any()述語内の文字列、列挙型、またはGuidのネストされたリスト |
Any()述部内で==と||を使用できます。 サポート: |
|
OfType<T>呼び出しに続くAny() |
これは、正確な型または基本クラスのフィールドを参照します。 サポート: |
9.0初期リリースと9.0アップデート1
次に、これらのタイプのオペレーター・サポートを示します。
Azure Search list field support for 9.0 Initial Release and 9.0 Update 1:
|
種類 |
== |
|| |
&& |
! |
> |
>= |
< |
<= |
!= |
|---|---|---|---|---|---|---|---|---|---|
|
Any()述語内のネストされたリスト |
はい |
いいえ |
いいえ |
いいえ |
いいえ |
いいえ |
いいえ |
いいえ |
いいえ |
次に、これらのタイプの演算子の使用例を示します。
Azure Search list field examples for 9.0 Initial Release and 9.0 Update 1:
|
種類 |
例 |
|---|---|
|
別のリストを含むリスト |
ネストされたAny() を使用して、ネストされたリストに到達できます。 サポート: |
|
Any()述語内のネストされたリスト |
サポート対象外: サポート: |
|
OfType<T>呼び出しに続くAny() |
参照できるのは、指定された正確な型のフィールドのみであり、基本クラスを参照することはできません。 サポート対象外: 手記 MonetaryValueがOutcomeのプロパティであっても、Any() と >) を併用することはできません。 手記 DefinitionIdは基本クラスのプロパティであり、Outcomeのプロパティではありません。 |