JoinSpec Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca.
[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
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca.
I join sono possibili solo per la corrispondenza sull'ID completo di un documento esterno e un valore di proprietà all'interno di un documento sottoquery. Nei documenti della sottoquery è possibile fare riferimento a questi valori con un percorso di proprietà, ad esempio "email.recipient.id" o "entityId" o un'espressione di proprietà. Una di queste espressioni di proprietà è "this.qualifiedId()", che fa riferimento al pacchetto combinato, al database, allo spazio dei nomi e all'ID del documento.
Si noti che per eseguire il join, la proprietà a #getChildPropertyExpression cui si fa riferimento deve essere una proprietà con AppSearchSchema.StringPropertyConfig#getJoinableValueType impostato su AppSearchSchema.StringPropertyConfig#JOINABLE_VALUE_TYPE_QUALIFIED_ID. In caso contrario, nessun documento verrà unito a alcun SearchResultoggetto .
Eseguire queste query esterne e i risultati della sottoquery, ad esempio:
{@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 questo esempio, il risultato della sottoquery 1 contiene una proprietà "entityId" il cui valore è "pkg$db/ns#id1", che fa riferimento al risultato esterno. Se si chiama Builder con "entityId", il valore della proprietà "entityId" verrà recuperato dal documento figlio, ovvero "pkg$db#ns/id1". Si supponga che l'ID completo del risultato esterno sia "pkg$db#ns/id1". Ciò significa che il documento risultante dalla sottoquery 1 verrà confrontato con il documento padre. A tale scopo, aggiungere un oggetto SearchResult contenente il documento figlio all'elemento padre di SearchResult#getJoinedResultsprimo livello.
Se #getChildPropertyExpression è "notes", verranno controllati i valori della proprietà notes nei risultati della sottoquery. Nel risultato della sottoquery 1, questi valori sono "Questo è un documento", che non corrisponde all'ID completo del risultato della query esterna. Di conseguenza, il risultato della sottoquery 1 non verrà unito al risultato della query esterna.
È possibile definire una strategia di classificazione avanzata nell'oggetto annidato e usarla SearchSpecSearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORE anche nell'esterno SearchSpec. In questo caso, i genitori verranno classificati in base a un'aggregazione, ad esempio la somma, dei segnali calcolati assegnando un punteggio ai documenti uniti con la strategia di classificazione avanzata.
In termini di assegnazione dei punteggi, se SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORE è impostato in SearchSpec#getRankingStrategy, i punteggi di SearchResults esterni possono essere influenzati dai segnali di classificazione dei risultati della sottoquery. Ad esempio, se è JoinSpec#getAggregationScoringStrategy impostato su:
<ul><li>JoinSpec#AGGREGATION_SCORING_MIN_RANKING_SIGNAL, il segnale di classificazione dell'esterno SearchResult verrà impostato sul minimo dei segnali di classificazione dei risultati della sottoquery. In questo caso, sarà il minimo di 2 e 3, ovvero 2.
<li>JoinSpec#AGGREGATION_SCORING_MAX_RANKING_SIGNAL, il segnale di classifica dell'esterno SearchResult sarà 3.
<li>JoinSpec#AGGREGATION_SCORING_AVG_RANKING_SIGNAL, il segnale di classificazione dell'esterno SearchResult sarà 2,5.
<li>JoinSpec#AGGREGATION_SCORING_RESULT_COUNT, il segnale di classifica dell'esterno SearchResult sarà 2 in quanto ci sono due risultati uniti.
<li>JoinSpec#AGGREGATION_SCORING_SUM_RANKING_SIGNAL, il segnale di classificazione dell'esterno SearchResult sarà 5, la somma di 2 e 3.
<li>JoinSpec#AGGREGATION_SCORING_OUTER_RESULT_RANKING_SIGNAL, il segnale di classificazione dell'esterno SearchResult rimarrà così come è.
</ul>
Facendo riferimento a "this.childrenRankingSignals()" nel segnale di classificazione della query esterna verranno restituiti i segnali calcolati assegnando un punteggio ai documenti uniti usando la strategia di assegnazione dei punteggi in SearchSpec, come in SearchResult#getRankingSignal.
per android.app.appsearch.JoinSpec.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Campi
| Nome | Descrizione |
|---|---|
| AggregationScoringAvgRankingSignal |
Obsoleti.
Assegnare un punteggio all'aggregazione dei documenti uniti usando il segnale medio di classificazione. |
| AggregationScoringMaxRankingSignal |
Obsoleti.
Assegnare un punteggio all'aggregazione dei documenti uniti usando il segnale di classificazione più grande. |
| AggregationScoringMinRankingSignal |
Obsoleti.
Assegnare un punteggio all'aggregazione dei documenti uniti usando il segnale di classificazione più piccolo. |
| AggregationScoringOuterResultRankingSignal |
Obsoleti.
Non assegnare punteggi all'aggregazione dei documenti aggiunti. |
| AggregationScoringResultCount |
Obsoleti.
Assegnare un punteggio all'aggregazione dei documenti uniti conteggiando il numero di risultati. |
| AggregationScoringSumRankingSignal |
Obsoleti.
Assegnare un punteggio all'aggregazione dei documenti uniti usando la somma del segnale di classificazione. |
Proprietà
| Nome | Descrizione |
|---|---|
| AggregationScoringStrategy |
Ottiene la strategia di assegnazione dei punteggi dell'elenco di documenti uniti. |
| ChildPropertyExpression |
Espressione di proprietà utilizzata per ottenere valori dai documenti figlio, restituiti dalla ricerca nidificata. |
| Class |
Restituisce la classe di runtime di questo |
| Creator |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniManagedPeerState |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| JniPeerMembers |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. |
| MaxJoinedResultCount |
Restituisce la quantità massima di |
| NestedQuery |
Restituisce la query da eseguire sui documenti uniti. |
| NestedSearchSpec |
Restituisce la specifica di ricerca utilizzata per recuperare i documenti uniti. |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
Metodi
| Nome | Descrizione |
|---|---|
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| DescribeContents() |
Descrivere i tipi di oggetti speciali contenuti nella rappresentazione di marshalling di questa istanza di Parcelable. |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| DisposeUnlessReferenced() |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| Equals(Object) |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| JavaFinalize() |
Obsoleti.
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| WriteToParcel(Parcel, ParcelableWriteFlags) |
Appiattire questo oggetto in un pacco. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| IJavaPeerable.Finalized() |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. (Ereditato da JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Questa classe rappresenta le specifiche per l'operazione di unione nella ricerca. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |