Lingua

JoinSpec Classe

Definizione

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 Objectoggetto .

(Ereditato da Object)
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 SearchResult oggetti da restituire con il documento padre, con un valore predefinito di 10 SearchResults.

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 selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

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 selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a