Lenguaje

JoinSpec Clase

Definición

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

[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
Herencia
Atributos
Implementaciones

Comentarios

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

Las combinaciones solo son posibles para buscar coincidencias en el identificador completo de un documento externo y un valor de propiedad dentro de un documento de subconsulta. En los documentos de subconsulta, estos valores se pueden hacer referencia a ellos con una ruta de acceso de propiedad como "email.recipient.id" o "entityId" o una expresión de propiedad. Una expresión de propiedad de este tipo es "this.qualifiedId()", que hace referencia al paquete combinado del documento, la base de datos, el espacio de nombres y el identificador.

Tenga en cuenta que para realizar la combinación, la propiedad a #getChildPropertyExpression la que hace referencia tiene que ser una propiedad con AppSearchSchema.StringPropertyConfig#getJoinableValueType establecida AppSearchSchema.StringPropertyConfig#JOINABLE_VALUE_TYPE_QUALIFIED_IDen . De lo contrario, ningún documento se unirá a ningún SearchResultobjeto .

Tome estos resultados de consulta externa y subconsulta, por ejemplo:

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

En este ejemplo, el resultado de la subconsulta 1 contiene una propiedad "entityId" cuyo valor es "pkg$db/ns#id1", haciendo referencia al resultado externo. Si llama a Builder con "entityId", recuperaremos el valor de la propiedad "entityId" del documento secundario, que es "pkg$db#ns/id1". Supongamos que el identificador completo del resultado externo es "pkg$db#ns/id1". Esto significaría que el documento del resultado de la subconsulta 1 coincidirá con ese documento primario. Para ello, agregue un SearchResult elemento que contenga el documento secundario al elemento primario SearchResult#getJoinedResultsde nivel superior.

Si #getChildPropertyExpression es "notes", comprobaremos los valores de la propiedad notes en los resultados de la subconsulta. En el resultado de la subconsulta 1, estos valores son "This is some doc", que no es igual al identificador completo del resultado de la consulta externa. Por lo tanto, el resultado de la subconsulta 1 no se unirá al resultado de la consulta externa.

Es posible definir una estrategia de clasificación avanzada en el anidado SearchSpec y también usar SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORE en el exterior SearchSpec. En este caso, los elementos primarios se clasificarán en función de una agregación, como la suma, de las señales calculadas puntuando los documentos unidos con la estrategia de clasificación avanzada.

En términos de puntuación, si SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORE se establece en SearchSpec#getRankingStrategy, las puntuaciones de SearchResults externas pueden verse afectadas por las señales de clasificación de los resultados de la subconsulta. Por ejemplo, si se establece en JoinSpec#getAggregationScoringStrategy :

<ul><li>JoinSpec#AGGREGATION_SCORING_MIN_RANKING_SIGNAL, la señal de clasificación del exterior SearchResult se establecerá en el mínimo de las señales de clasificación de los resultados de la subconsulta. En este caso, será el mínimo de 2 y 3, que es 2. <li>JoinSpec#AGGREGATION_SCORING_MAX_RANKING_SIGNAL, la señal de clasificación del exterior SearchResult será 3. <li>JoinSpec#AGGREGATION_SCORING_AVG_RANKING_SIGNAL, la señal de clasificación del exterior SearchResult será 2.5. <li>JoinSpec#AGGREGATION_SCORING_RESULT_COUNT, la señal de clasificación del exterior SearchResult será 2, ya que hay dos resultados unidos. <li>JoinSpec#AGGREGATION_SCORING_SUM_RANKING_SIGNAL, la señal de clasificación del exterior SearchResult será 5, la suma de 2 y 3. <li>JoinSpec#AGGREGATION_SCORING_OUTER_RESULT_RANKING_SIGNAL, la señal de clasificación del exterior SearchResult permanecerá tal como está. </ul>

Al hacer referencia a "this.childrenRankingSignals()" en la señal de clasificación de la consulta externa se devolverán las señales calculadas puntuando los documentos unidos mediante la estrategia de puntuación en el anidado SearchSpec, como en SearchResult#getRankingSignal.

Java documentación para android.app.appsearch.JoinSpec.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Campos

Nombre Description
AggregationScoringAvgRankingSignal
Obsoletos.

Puntue la agregación de documentos unidos mediante la señal de clasificación media.

AggregationScoringMaxRankingSignal
Obsoletos.

Puntue la agregación de documentos unidos mediante la señal de clasificación más grande.

AggregationScoringMinRankingSignal
Obsoletos.

Puntee la agregación de documentos unidos mediante la señal de clasificación más pequeña.

AggregationScoringOuterResultRankingSignal
Obsoletos.

No puntue la agregación de documentos unidos.

AggregationScoringResultCount
Obsoletos.

Puntee la agregación de documentos unidos contando el número de resultados.

AggregationScoringSumRankingSignal
Obsoletos.

Puntee la agregación de documentos unidos mediante la suma de la señal de clasificación.

Propiedades

Nombre Description
AggregationScoringStrategy

Obtiene la estrategia de puntuación de lista de documentos combinada.

ChildPropertyExpression

Expresión de propiedad que se usa para obtener valores de documentos secundarios, devueltos desde la búsqueda anidada.

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Creator

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
JniPeerMembers

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

MaxJoinedResultCount

Devuelve la cantidad máxima de SearchResult objetos que se van a devolver con el documento primario, con un valor predeterminado de 10 SearchResults.

NestedQuery

Devuelve la consulta que se va a ejecutar en los documentos unidos.

NestedSearchSpec

Devuelve la especificación de búsqueda usada para recuperar los documentos unidos.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
DescribeContents()

Describir los tipos de objetos especiales contenidos en la representación serializado de esta instancia de Parcelable.

Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
Equals(Object)

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
JavaFinalize()
Obsoletos.

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Aplane este objeto en un paquete.

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Esta clase representa las especificaciones de la operación de unión en la búsqueda.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a