JoinSpec Classe

Definição

Essa classe representa as especificações da operação de junção na pesquisa.

[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
Herança
Atributos
Implementações

Comentários

Essa classe representa as especificações da operação de junção na pesquisa.

As junções só são possíveis para correspondência na ID qualificada de um documento externo e um valor de propriedade em um documento de subconsulta. Nos documentos de subconsulta, esses valores podem ser referenciados com um caminho de propriedade, como "email.recipient.id" ou "entityId" ou uma expressão de propriedade. Uma dessas expressões de propriedade é "this.qualifiedId()", que se refere ao pacote, banco de dados, namespace e id combinados do documento.

Observe que, para executar a junção, a propriedade referenciada deve #getChildPropertyExpression ser uma propriedade com AppSearchSchema.StringPropertyConfig#getJoinableValueType definido como AppSearchSchema.StringPropertyConfig#JOINABLE_VALUE_TYPE_QUALIFIED_ID. Caso contrário, nenhum documento será associado a nenhum SearchResult.

Veja estes resultados externos de consulta e subconsulta, por exemplo:

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

Neste exemplo, o resultado da subconsulta 1 contém uma propriedade "entityId" cujo valor é "pkg$db/ns#id1", referindo-se ao resultado externo. Se você chamar Builder com "entityId", recuperaremos o valor da propriedade "entityId" do documento filho, que é "pkg$db#ns/id1". Digamos que a ID qualificada do resultado externo seja "pkg$db#ns/id1". Isso significaria que o documento 1 do resultado da subconsulta será correspondido a esse documento pai. Isso é feito adicionando um SearchResult documento filho ao pai SearchResult#getJoinedResultsde nível superior.

Se #getChildPropertyExpression for "anotações", verificaremos os valores da propriedade notes nos resultados da subconsulta. No resultado da subconsulta 1, esses valores são "This is some doc", que não é igual à ID qualificada do resultado da consulta externa. Dessa forma, o resultado da subconsulta 1 não será unido ao resultado da consulta externa.

É possível definir uma estratégia de classificação avançada no aninhado SearchSpec e também usar SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORE no exterior SearchSpec. Nesse caso, os pais serão classificados com base em uma agregação, como a soma, dos sinais calculados pontuando os documentos unidos com a estratégia de classificação avançada.

Em termos de pontuação, se SearchSpec#RANKING_STRATEGY_JOIN_AGGREGATE_SCORE estiver definido, SearchSpec#getRankingStrategyas pontuações dos SearchResults externos podem ser influenciadas pelos sinais de classificação dos resultados da subconsulta. Por exemplo, se o JoinSpec#getAggregationScoringStrategy valor for definido como:

<ul><li>JoinSpec#AGGREGATION_SCORING_MIN_RANKING_SIGNAL, o sinal de classificação do exterior SearchResult será definido como o mínimo dos sinais de classificação dos resultados da subconsulta. Nesse caso, será o mínimo de 2 e 3, que é 2. <li>JoinSpec#AGGREGATION_SCORING_MAX_RANKING_SIGNAL, o sinal de classificação do exterior SearchResult será 3. <li>JoinSpec#AGGREGATION_SCORING_AVG_RANKING_SIGNAL, o sinal de classificação do exterior SearchResult será 2.5. <li>JoinSpec#AGGREGATION_SCORING_RESULT_COUNT, o sinal de classificação do exterior SearchResult será 2, pois há dois resultados unidos. <li>JoinSpec#AGGREGATION_SCORING_SUM_RANKING_SIGNAL, o sinal de classificação do exterior SearchResult será 5, a soma de 2 e 3. <li>JoinSpec#AGGREGATION_SCORING_OUTER_RESULT_RANKING_SIGNAL, o sinal de classificação do exterior SearchResult permanecerá como está. </ul>

Referindo-se a "this.childrenRankingSignals()" no sinal de classificação da consulta externa retornará os sinais calculados pontuando os documentos unidos usando a estratégia de pontuação no aninhado SearchSpec, como em SearchResult#getRankingSignal.

Java documentação para android.app.appsearch.JoinSpec.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Campos

Nome Description
AggregationScoringAvgRankingSignal
Obsoleto.

Marque a agregação de documentos ingressados usando o sinal de classificação média.

AggregationScoringMaxRankingSignal
Obsoleto.

Marque a agregação de documentos ingressados usando o maior sinal de classificação.

AggregationScoringMinRankingSignal
Obsoleto.

Marque a agregação de documentos ingressados usando o menor sinal de classificação.

AggregationScoringOuterResultRankingSignal
Obsoleto.

Não marque a agregação de documentos ingressados.

AggregationScoringResultCount
Obsoleto.

Marque a agregação de documentos ingressados contando o número de resultados.

AggregationScoringSumRankingSignal
Obsoleto.

Marque a agregação de documentos ingressados usando a soma do sinal de classificação.

Propriedades

Nome Description
AggregationScoringStrategy

Obtém a estratégia de pontuação da lista de documentos ingressada.

ChildPropertyExpression

A expressão de propriedade usada para obter valores de documentos filho, retornada da pesquisa aninhada.

Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Creator

Essa classe representa as especificações da operação de junção na pesquisa.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
JniPeerMembers

Essa classe representa as especificações da operação de junção na pesquisa.

MaxJoinedResultCount

Retorna a quantidade máxima de SearchResult objetos a serem retornados com o documento pai, com um padrão de 10 SearchResults.

NestedQuery

Retorna a consulta a ser executada nos documentos ingressados.

NestedSearchSpec

Retorna a especificação de pesquisa usada para recuperar os documentos ingressados.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)

Métodos

Nome Description
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
DescribeContents()

Descreva os tipos de objetos especiais contidos na representação em marshaled desta instância parcelável.

Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
Equals(Object)

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Nivele esse objeto em um Pacote.

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Essa classe representa as especificações da operação de junção na pesquisa.

(Herdado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Essa classe representa as especificações da operação de junção na pesquisa.

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Essa classe representa as especificações da operação de junção na pesquisa.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a