JoinSpec クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このクラスは、検索での結合操作の仕様を表します。
[Android.Runtime.Register("android/app/appsearch/JoinSpec", ApiSince=34, DoNotGenerateAcw=true)]
public sealed class JoinSpec : Java.Lang.Object, Android.OS.IParcelable, IDisposable
[<Android.Runtime.Register("android/app/appsearch/JoinSpec", ApiSince=34, DoNotGenerateAcw=true)>]
type JoinSpec = class
inherit Object
interface IParcelable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 継承
- 属性
- 実装
注釈
このクラスは、検索での結合操作の仕様を表します。
結合は、外部ドキュメントの修飾 ID とサブクエリ ドキュメント内のプロパティ値に対してのみ照合できます。 サブクエリ ドキュメントでは、これらの値を "email.recipient.id" や "entityId" などのプロパティ パスまたはプロパティ式で参照できます。 このようなプロパティ式の 1 つは "this.qualifiedId()" で、ドキュメントの結合パッケージ、データベース、名前空間、ID を参照します。
結合を実行するには、 #getChildPropertyExpression によって参照されるプロパティが、 AppSearchSchema.StringPropertyConfig#getJoinableValueType が AppSearchSchema.StringPropertyConfig#JOINABLE_VALUE_TYPE_QUALIFIED_ID に設定されたプロパティである必要があることに注意してください。 それ以外の場合、ドキュメントはどの SearchResultにも参加しません。
次のような外部クエリとサブクエリの結果を取得します。
{@code
Outer result {
id: id1
score: 5
}
Subquery result 1 {
id: id2
score: 2
entityId: pkg$db/ns#id1
notes: This is some doc
}
Subquery result 2 {
id: id3
score: 3
entityId: pkg$db/ns#id2
notes: This is another doc
}
}
この例では、サブクエリの結果 1 には、外部の結果を参照する値が "pkg$db/ns#id1" であるプロパティ "entityId" が含まれています。 "entityId" で Builder を呼び出すと、子ドキュメント ("pkg$db#ns/id1" ) からプロパティ "entityId" の値が取得されます。 外側の結果の修飾 ID が "pkg$db#ns/id1" であるとします。 これは、サブクエリの結果 1 のドキュメントがその親ドキュメントと一致することを意味します。 これを行うには、子ドキュメントを含む SearchResult を最上位の親 SearchResult#getJoinedResultsに追加します。
#getChildPropertyExpressionが "notes" の場合は、サブクエリの結果の notes プロパティの値を確認します。 サブクエリ結果 1 では、この値は "This is some doc" であり、外部クエリ結果の修飾 ID と等しくありません。 そのため、サブクエリの結果 1 は外部クエリ結果に結合されません。
入れ子になったSearchSpecで高度なランク付け戦略を定義し、外側のSearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCOREでSearchSpecを使用することもできます。 この場合、親は、結合されたドキュメントを高度なランク付け戦略でスコア付けすることによって計算されたシグナルの合計などの集計に基づいてランク付けされます。
スコアリングでは、 SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORE が SearchSpec#getRankingStrategyで設定されている場合、外部 SearchResults のスコアは、サブクエリ結果のランク付けシグナルの影響を受ける可能性があります。 たとえば、 JoinSpec#getAggregationScoringStrategy が次に設定されている場合です。
<ul><li>JoinSpec#AGGREGATION_SCORING_MIN_RANKING_SIGNAL、外部 SearchResult のランク付けシグナルは、サブクエリ結果のランク付けシグナルの最小値に設定されます。 この場合、2 と 3 の最小値になります。これは 2 です。
<li>JoinSpec#AGGREGATION_SCORING_MAX_RANKING_SIGNAL、外部 SearchResult の順位付け信号は3になります。
<li>JoinSpec#AGGREGATION_SCORING_AVG_RANKING_SIGNAL、外部 SearchResult の順位付け信号は2.5になります。
<li>JoinSpec#AGGREGATION_SCORING_RESULT_COUNT、外部 SearchResult のランク付け信号は、2 つの結合された結果があるため、2 になります。
<li>JoinSpec#AGGREGATION_SCORING_SUM_RANKING_SIGNAL、外側の SearchResult の順位付け信号は 5 になり、合計は 2 と 3 になります。
<li>JoinSpec#AGGREGATION_SCORING_OUTER_RESULT_RANKING_SIGNAL、外側の SearchResult の順位付け信号は、そのまま残ります。
</ul>
外部クエリのランク付けシグナルで "this.childrenRankingSignals()" を参照すると、SearchSpecのように、入れ子になったSearchResult#getRankingSignalのスコア付け戦略を使用して結合されたドキュメントをスコア付けすることによって計算されたシグナルが返されます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
フィールド
| Name | 説明 |
|---|---|
| AggregationScoringAvgRankingSignal |
古い.
平均ランク付けシグナルを使用して、結合されたドキュメントの集計をスコア付けします。 |
| AggregationScoringMaxRankingSignal |
古い.
最大のランク付けシグナルを使用して、結合されたドキュメントの集計をスコア付けします。 |
| AggregationScoringMinRankingSignal |
古い.
最小のランク付けシグナルを使用して、結合されたドキュメントの集計をスコア付けします。 |
| AggregationScoringOuterResultRankingSignal |
古い.
結合されたドキュメントの集計にスコアを付けないでください。 |
| AggregationScoringResultCount |
古い.
結果の数をカウントして、結合されたドキュメントの集計をスコア付けします。 |
| AggregationScoringSumRankingSignal |
古い.
ランク付けシグナルの合計を使用して、結合されたドキュメントの集計をスコア付けします。 |
プロパティ
| Name | 説明 |
|---|---|
| AggregationScoringStrategy |
結合されたドキュメント リストのスコアリング戦略を取得します。 |
| ChildPropertyExpression |
入れ子になった検索から返される子ドキュメントから値を取得するために使用されるプロパティ式。 |
| Class |
この |
| Creator |
このクラスは、検索での結合操作の仕様を表します。 |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| JniPeerMembers |
このクラスは、検索での結合操作の仕様を表します。 |
| MaxJoinedResultCount |
親ドキュメントで返 |
| NestedQuery |
結合されたドキュメントで実行するクエリを返します。 |
| NestedSearchSpec |
結合されたドキュメントの取得に使用する検索仕様を返します。 |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
メソッド
| Name | 説明 |
|---|---|
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| DescribeContents() |
この Parcelable インスタンスのマーシャリングされた表現に含まれる特殊なオブジェクトの種類について説明します。 |
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| Equals(Object) |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| JavaFinalize() |
古い.
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Object) |
| Wait() |
現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。 (継承元 Object) |
| Wait(Int64, Int32) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| Wait(Int64) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| WriteToParcel(Parcel, ParcelableWriteFlags) |
このオブジェクトをパーセルにフラット化します。 |
明示的なインターフェイスの実装
| Name | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| IJavaPeerable.Finalized() |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
このクラスは、検索での結合操作の仕様を表します。 (継承元 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
このクラスは、検索での結合操作の仕様を表します。 |
拡張メソッド
| Name | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
このクラスは、検索での結合操作の仕様を表します。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|