JoinSpec Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar.
[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
- Vererbung
- Attribute
- Implementiert
Hinweise
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar.
Verknüpfungen sind nur für den Abgleich mit der qualifizierten ID eines äußeren Dokuments und eines Eigenschaftswerts innerhalb eines Unterabfragedokuments möglich. In den Unterabfragedokumenten können diese Werte mit einem Eigenschaftspfad wie "email.recipient.id" oder "entityId" oder einem Eigenschaftsausdruck bezeichnet werden. Ein solcher Eigenschaftsausdruck ist "this.qualifiedId()", der sich auf das kombinierte Paket, die Datenbank, den Namespace und die ID des Dokuments bezieht.
Beachten Sie, dass die eigenschaft, auf #getChildPropertyExpression die verwiesen wird, um die Verknüpfung durchzuführen, eine Eigenschaft sein muss, auf AppSearchSchema.StringPropertyConfig#getJoinableValueType die festgelegt ist AppSearchSchema.StringPropertyConfig#JOINABLE_VALUE_TYPE_QUALIFIED_ID. Andernfalls werden keine Dokumente mit anderen SearchResultverknüpft.
Führen Sie die folgenden äußeren Abfrage- und Unterabfrageergebnisse aus:
{@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
}
}
In diesem Beispiel enthält das Ergebnis der Unterabfrage 1 eine Eigenschaft "entityId", deren Wert "pkg$db/ns#id1" lautet und auf das äußere Ergebnis verweist. Wenn Sie mit "entityId" aufrufen Builder , rufen wir den Wert der Eigenschaft "entityId" aus dem untergeordneten Dokument ab, also "pkg$db#ns/id1". Angenommen, die qualifizierte ID des äußeren Ergebnisses lautet "pkg$db#ns/id1". Dies bedeutet, dass das Ergebnis 1 der Unterabfrage mit diesem übergeordneten Dokument übereinstimmt. Dazu fügen Sie ein SearchResult untergeordnetes Dokument zum übergeordneten Übergeordneten SearchResult#getJoinedResultsElement der obersten Ebene hinzu.
Wenn #getChildPropertyExpression es sich um "Notizen" handelt, überprüfen wir die Werte der Notizeneigenschaft in den Unterabfrageergebnissen. In Unterabfrageergebnis 1 lautet dieser Wert "Dies ist ein Dokument", das nicht der qualifizierten ID des äußeren Abfrageergebnisses entspricht. Das Ergebnis der Unterabfrage 1 wird daher nicht mit dem äußeren Abfrageergebnis verknüpft.
Es ist möglich, eine erweiterte Rangfolgestrategie in der geschachtelten SearchSpec und auch im äußeren SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCOREzu definierenSearchSpec. In diesem Fall werden die Eltern basierend auf einer Aggregation, z. B. der Summe, der Signale bewertet, die mit der Bewertung der verbundenen Dokumente mit der erweiterten Bewertungsstrategie berechnet werden.
Im Hinblick auf die Bewertung können die SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORESearchSpec#getRankingStrategyBewertungen der äußeren SearchResults durch die Bewertungssignale der Unterabfrageergebnisse beeinflusst werden. Wenn die JoinSpec#getAggregationScoringStrategy Einstellung z. B. auf Folgendes festgelegt ist:
<ul><li>JoinSpec#AGGREGATION_SCORING_MIN_RANKING_SIGNAL, das Bewertungssignal des äußeren SearchResult wird auf das Minimum der Bewertungssignale der Unterabfrageergebnisse festgelegt. In diesem Fall wird es mindestens 2 und 3 sein, was 2 ist.
<li>JoinSpec#AGGREGATION_SCORING_MAX_RANKING_SIGNAL, das Bewertungssignal des äußeren SearchResult wird 3 sein.
<li>JoinSpec#AGGREGATION_SCORING_AVG_RANKING_SIGNAL, das Bewertungssignal des äußeren SearchResult wird 2,5 sein.
<li>JoinSpec#AGGREGATION_SCORING_RESULT_COUNT, das Bewertungssignal des äußeren SearchResult wird 2 sein, da es zwei verbundene Ergebnisse gibt.
<li>JoinSpec#AGGREGATION_SCORING_SUM_RANKING_SIGNAL, das Bewertungssignal des äußeren SearchResult wird 5, die Summe von 2 und 3.
<li>JoinSpec#AGGREGATION_SCORING_OUTER_RESULT_RANKING_SIGNAL, das Bewertungssignal des Äußeren SearchResult bleibt so, wie es ist.
</ul>
Wenn Sie im Bewertungssignal der äußeren Abfrage auf "this.childrenRankingSignals()" verweisen, werden die Signale zurückgegeben, die durch die Bewertung der verknüpften Dokumente mithilfe der Bewertungsstrategie im geschachtelten SearchSpec, wie in .SearchResult#getRankingSignal
Java Dokumentation für android.app.appsearch.JoinSpec.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Felder
| Name | Beschreibung |
|---|---|
| AggregationScoringAvgRankingSignal |
Veraltet.
Bewerten Sie die Aggregation verknüpfter Dokumente mithilfe des durchschnittlichen Bewertungssignals. |
| AggregationScoringMaxRankingSignal |
Veraltet.
Bewerten Sie die Aggregation verknüpfter Dokumente mithilfe des größten Bewertungssignals. |
| AggregationScoringMinRankingSignal |
Veraltet.
Bewerten Sie die Aggregation verknüpfter Dokumente mithilfe des kleinsten Bewertungssignals. |
| AggregationScoringOuterResultRankingSignal |
Veraltet.
Not scoren Sie die Aggregation verknüpfter Dokumente. |
| AggregationScoringResultCount |
Veraltet.
Score the aggregation of join documents by counting the number of results. |
| AggregationScoringSumRankingSignal |
Veraltet.
Bewerten Sie die Aggregation verknüpfter Dokumente mithilfe der Summe des Bewertungssignals. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AggregationScoringStrategy |
Ruft die Bewertungsstrategie für die verknüpfte Dokumentliste ab. |
| ChildPropertyExpression |
Der Eigenschaftsausdruck, der verwendet wird, um Werte aus untergeordneten Dokumenten abzurufen, die aus der geschachtelten Suche zurückgegeben werden. |
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Creator |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| JniPeerMembers |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. |
| MaxJoinedResultCount |
Gibt die maximale Anzahl von |
| NestedQuery |
Gibt die Abfrage zurück, die für die verknüpften Dokumente ausgeführt werden soll. |
| NestedSearchSpec |
Gibt die Suchspezifikation zurück, die zum Abrufen der verknüpften Dokumente verwendet wird. |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (Geerbt von Object) |
| ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
| ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
Methoden
| Name | Beschreibung |
|---|---|
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| DescribeContents() |
Beschreiben Sie die Arten spezieller Objekte, die in der Marshall-Darstellung dieser Paketable-Instanz enthalten sind. |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| Equals(Object) |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| JavaFinalize() |
Veraltet.
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| WriteToParcel(Parcel, ParcelableWriteFlags) |
Flachen Sie dieses Objekt in ein Paket. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| IJavaPeerable.Finalized() |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. (Geerbt von JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Diese Klasse stellt die Spezifikationen für den Verknüpfungsvorgang in der Suche dar. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |