Langue

JoinSpec Classe

Définition

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

[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
Héritage
Attributs
Implémente

Remarques

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

Les jointures sont uniquement possibles pour la correspondance sur l’ID qualifié d’un document externe et une valeur de propriété dans un document de sous-requête. Dans les documents de sous-requête, ces valeurs peuvent être appelées avec un chemin de propriété tel que « email.recipient.id » ou « entityId » ou une expression de propriété. L’une de ces expressions de propriété est « this.qualifiedId() », qui fait référence au package combiné, à la base de données, à l’espace de noms et à l’ID du document.

Notez que pour effectuer la jointure, la propriété référencée doit #getChildPropertyExpression être une propriété dont AppSearchSchema.StringPropertyConfig#getJoinableValueType la valeur est définie AppSearchSchema.StringPropertyConfig#JOINABLE_VALUE_TYPE_QUALIFIED_ID. Sinon, aucun document n’est joint à un document SearchResult.

Prenez ces résultats de requête externe et de sous-requête, par exemple :

{@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
            }
            }

Dans cet exemple, le résultat de sous-requête 1 contient une propriété « entityId » dont la valeur est « pkg$db/ns#id1 », faisant référence au résultat externe. Si vous appelez Builder avec « entityId », nous allons récupérer la valeur de la propriété « entityId » à partir du document enfant, qui est « pkg$db#ns/id1 ». Supposons que l’ID qualifié du résultat externe soit « pkg$db#ns/id1 ». Cela signifie que le résultat de la sous-requête 1 sera mis en correspondance avec ce document parent. Pour ce faire, ajoutez un SearchResult document enfant au parent SearchResult#getJoinedResultsde niveau supérieur.

S’il #getChildPropertyExpression s’agit de « notes », nous allons vérifier les valeurs de la propriété notes dans les résultats de la sous-requête. Dans le résultat de la sous-requête 1, ces valeurs sont « Il s’agit d’un document », ce qui n’est pas égal à l’ID qualifié du résultat de la requête externe. Par conséquent, le résultat de la sous-requête 1 ne sera pas joint au résultat de la requête externe.

Il est possible de définir une stratégie de classement avancée dans l’imbrication SearchSpec et également d’utiliser SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORE dans l’extérieur SearchSpec. Dans ce cas, les parents seront classés en fonction d’une agrégation, telle que la somme, des signaux calculés en scoreant les documents joints avec la stratégie de classement avancée.

En termes de scoring, s’il SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORE est défini dans SearchSpec#getRankingStrategy, les scores des SearchResults externes peuvent être influencés par les signaux de classement des résultats de la sous-requête. Par exemple, si la JoinSpec#getAggregationScoringStrategy valeur est définie sur :

<ul><li>JoinSpec#AGGREGATION_SCORING_MIN_RANKING_SIGNAL, le signal de classement de l’extérieur SearchResult sera défini sur le minimum des signaux de classement des résultats de la sous-requête. Dans ce cas, il s’agit du minimum de 2 et 3, soit 2. <li>JoinSpec#AGGREGATION_SCORING_MAX_RANKING_SIGNAL, le signal de classement de l’extérieur SearchResult sera 3. <li>JoinSpec#AGGREGATION_SCORING_AVG_RANKING_SIGNAL, le signal de classement de l’extérieur SearchResult sera de 2,5. <li>JoinSpec#AGGREGATION_SCORING_RESULT_COUNT, le signal de classement de l’extérieur SearchResult sera de 2, car il y a deux résultats joints. <li>JoinSpec#AGGREGATION_SCORING_SUM_RANKING_SIGNAL, le signal de classement de l’extérieur SearchResult sera 5, la somme de 2 et 3. <li>JoinSpec#AGGREGATION_SCORING_OUTER_RESULT_RANKING_SIGNAL, le signal de classement de l’extérieur SearchResult restera tel qu’il est. </ul>

La référence à « this.childrenRankingSignals() » dans le signal de classement de la requête externe retourne les signaux calculés en scoring des documents joints à l’aide de la stratégie de scoring dans l’imbrication SearchSpec, comme dans SearchResult#getRankingSignal.

Java documentation pour android.app.appsearch.JoinSpec.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Champs

Nom Description
AggregationScoringAvgRankingSignal
Obsolète.

Noter l’agrégation des documents joints à l’aide du signal de classement moyen.

AggregationScoringMaxRankingSignal
Obsolète.

Noter l’agrégation des documents joints à l’aide du signal de classement le plus important.

AggregationScoringMinRankingSignal
Obsolète.

Noter l’agrégation des documents joints à l’aide du signal de classement le plus petit.

AggregationScoringOuterResultRankingSignal
Obsolète.

Ne notez pas l’agrégation des documents joints.

AggregationScoringResultCount
Obsolète.

Noter l’agrégation des documents joints en comptant le nombre de résultats.

AggregationScoringSumRankingSignal
Obsolète.

Noter l’agrégation des documents joints à l’aide de la somme du signal de classement.

Propriétés

Nom Description
AggregationScoringStrategy

Obtient la stratégie de scoring de liste de documents jointe.

ChildPropertyExpression

Expression de propriété utilisée pour obtenir des valeurs à partir de documents enfants, retournée par la recherche imbriquée.

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Creator

Classe Creator pour JoinSpec.

Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
JniPeerMembers

Obtient les métadonnées JNI utilisées pour accéder aux membres de cette liaison Java.

MaxJoinedResultCount

Retourne la quantité maximale d’objets SearchResult à retourner avec le document parent, avec une valeur par défaut de 10 SearchResults.

NestedQuery

Retourne la requête à exécuter sur les documents joints.

NestedSearchSpec

Retourne la spécification de recherche utilisée pour récupérer les documents joints.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)
ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)

Méthodes

Nom Description
Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
DescribeContents()

Décrivez les types d’objets spéciaux contenus dans la représentation marshalée de cette instance Parcelable.

Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
Equals(Object)

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
JavaFinalize()
Obsolète.

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Aplatir cet objet dans un colis.

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Supprime cette instance de la recherche d'objets Java du runtime.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Cette classe représente les spécifications de l’opération de jointure dans la recherche.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à