JoinSpec Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| 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 |