JoinSpec Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| 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 |