Language

JoinSpec クラス

定義

このクラスは、検索での結合操作の仕様を表します。

[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のスコア付け戦略を使用して結合されたドキュメントをスコア付けすることによって計算されたシグナルが返されます。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

フィールド

Name 説明
AggregationScoringAvgRankingSignal
古い.

平均ランク付けシグナルを使用して、結合されたドキュメントの集計をスコア付けします。

AggregationScoringMaxRankingSignal
古い.

最大のランク付けシグナルを使用して、結合されたドキュメントの集計をスコア付けします。

AggregationScoringMinRankingSignal
古い.

最小のランク付けシグナルを使用して、結合されたドキュメントの集計をスコア付けします。

AggregationScoringOuterResultRankingSignal
古い.

結合されたドキュメントの集計にスコアを付けないでください。

AggregationScoringResultCount
古い.

結果の数をカウントして、結合されたドキュメントの集計をスコア付けします。

AggregationScoringSumRankingSignal
古い.

ランク付けシグナルの合計を使用して、結合されたドキュメントの集計をスコア付けします。

プロパティ

Name 説明
AggregationScoringStrategy

結合されたドキュメント リストのスコアリング戦略を取得します。

ChildPropertyExpression

入れ子になった検索から返される子ドキュメントから値を取得するために使用されるプロパティ式。

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Creator

このクラスは、検索での結合操作の仕様を表します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

このクラスは、検索での結合操作の仕様を表します。

(継承元 JavaObject)
JniPeerMembers

このクラスは、検索での結合操作の仕様を表します。

MaxJoinedResultCount

親ドキュメントで返 SearchResult オブジェクトの最大量を返します。既定値は 10 SearchResults です。

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)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

このクラスは、検索での結合操作の仕様を表します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象