AppSearch
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
11 de dezembro de 2024 | - | - | - | 1.1.0-alpha07 |
Declarar dependências
Para incluir uma dependência na AppSearch, adicione o repositório Maven do Google ao projeto. Leia a seção Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários no arquivo build.gradle
para
seu app ou módulo:
Groovy
dependencies { def appsearch_version = "1.1.0-alpha05" implementation "androidx.appsearch:appsearch:$appsearch_version" // Use kapt instead of annotationProcessor if writing Kotlin classes annotationProcessor "androidx.appsearch:appsearch-compiler:$appsearch_version" implementation "androidx.appsearch:appsearch-local-storage:$appsearch_version" // PlatformStorage is compatible with Android 12+ devices, and offers additional features // to LocalStorage. implementation "androidx.appsearch:appsearch-platform-storage:$appsearch_version" }
Kotlin
dependencies { val appsearch_version = "1.1.0-alpha05" implementation("androidx.appsearch:appsearch:$appsearch_version") // Use annotationProcessor instead of kapt if writing Java classes kapt("androidx.appsearch:appsearch-compiler:$appsearch_version") implementation("androidx.appsearch:appsearch-local-storage:$appsearch_version") // PlatformStorage is compatible with Android 12+ devices, and offers additional features // to LocalStorage. implementation("androidx.appsearch:appsearch-platform-storage:$appsearch_version") }
Para ver mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.1
Versão 1.1.0-alpha07
11 de dezembro de 2024
Lançamento de androidx.appsearch:appsearch-*:1.1.0-alpha07
. A versão 1.1.0-alpha07 contém estas confirmações.
Novos recursos
- Adição da anotação
ExperimentalAppSearchApi
a novas plataformas de API que ainda não foram estabilizadas. (Ib09f4). - Suporte para armazenamento e compartilhamento eficientes de dados de blobs binários por
AppSearchSession#openBlobForWriteAsync
e métodos relacionados - Suporte para filtrar os resultados da consulta pela expressão de pontuação usando a função
matchScoreExpression
(Id525a). - Suporte para propagação de exclusão do documento pai para os documentos filhos. (Ia032d).
- Suporte à API de quantização de incorporação para aumentar a performance da incorporação com uma pequena perda de qualidade. (Id8a07).
- Suporte para restringir pesquisas a determinados documentos usando a API
addFilterDocumentIds
emSearchSpec
. (I7c6f1).
Mudanças na API
- Mova as informações do tipo pai de
GenericDocument
paraSearchResult
. (I34a1d). - Suporte a novos tipos de ação na API
TakenAction
, incluindoDismissAction
eImpressionAction
. (I0c6c7). - Novo esquema integrado
WebPage
do AppSearch adicionado. (I28127).
Versão 1.1.0-alpha06
16 de outubro de 2024
Lançamento de androidx.appsearch:appsearch-*:1.1.0-alpha06
. A versão 1.1.0-alpha06 contém estas confirmações.
Mudanças na API
- Adição de um nó que representa a função de consulta
PropertyDefined
. (I1aeaf). - Adicione nós para representar a pesquisa numérica e a restrição de propriedade. (I963a9).
- Adicione um nó que represente a função de consulta
GetSearchStringParameter
. (I4f99b). - Adicione um nó que represente a função de consulta
HasProperty
. (I9c1c5). - Adição de interface para implementação de funções no AST. (I9d42e).
- Adicione operadores AND e OR. (Iaa442).
NegationNode
foi adicionado para representar a negação lógica de consultas no AST. (Ia855a).- A interface de nó foi adicionada a
AppSearch
para definir nós. (If42fb). - Adição de uma anotação de API experimental para
AppSearch
. (I3e57c).
Correções de bugs
- Adição de
TextNodes
para termos de retenção. (Iefd02).
Correção de segurança
- A partir dessa mudança, o androidx é compilado com o protobuf 4.28.2 para resolver o CVE-2024-7254. Faça upgrade da dependência de
androidx.appsearch:appsearch-external-protobuf
para a versão 1.1.0-alpha06 mais recente para resolver o risco de vulnerabilidade.
Versão 1.1.0-alpha05
4 de setembro de 2024
Lançamento de androidx.appsearch:appsearch-*:1.1.0-alpha05
. A versão 1.1.0-alpha05 contém estas confirmações.
Mudanças na API
setEmbeddingSearchEnabled
egetEmbeddingSearchEnabled
desnecessários foram descontinuados. ExcluisetListFilterTokenizeFunctionEnabled
egetListFilterTokenizeFunctionEnabled
. Excluímos a função de consulta "tokenize". Substituído pela função de consultagetSearchStringParameter
e pela funçãoaddSearchStringParameter
. (I09f5a).Alarm#getComputingDevice
foi renomeado comogetOriginatingDevice
. (I63121).
Versão 1.1.0-alpha04
7 de agosto de 2024
Lançamento de androidx.appsearch:appsearch-*:1.1.0-alpha04
. A versão 1.1.0-alpha04 contém estas confirmações.
Novos recursos
- Compatibilidade com a nova implementação de
PlayServicesStorage
, que permite o uso deAppSearch
em dispositivos mais antigos sem incorrer no custo significativo de tamanho de APK doLocalStorage
. Essa implementação de armazenamento funciona armazenando dados do app no app do Google Play Services. - Suporte a novas APIs em dispositivos com o Android 15.
- Suporte à pesquisa no banco de dados por embeddings de vetores, permitindo a correspondência aproximada. (I2b41b).
- Oferece suporte a tipos pai e polimorfismo no modelo de esquema
AppSearch
. (I06118). - Oferece suporte à API
TakenAction
, que permite que os apps informem quando os resultados foram clicados ou abandonados, para melhorar a qualidade durante as pesquisas subsequentes. (I54091). - Oferece suporte a classes com builders no processador de anotações, introduzindo a nova anotação
@Document.BuilderProducer
. (Iec30a). - Oferece suporte a um controle mais detalhado sobre quais propriedades de um documento aninhado são indexadas. (Iec30a).
- Suporte para filtrar pesquisas em determinadas propriedades de documentos. (Ib2659).
- Ofereça suporte a configurações de visibilidade mais detalhadas permitindo OR e AND. (I0274b).
- Suporte para conceder visibilidade de dados a todos os apps que podem ver a existência do app proprietário (visibilidade pública). (I992e4).
- Suporte para recuperar apenas resultados que têm dados preenchidos em uma determinada propriedade. (I7d94f).
- Suporte para a recuperação de contatos corporativos no perfil pessoal. (Idd587).
Mudanças na API
- Adicione os parâmetros de anotação
indexableNestedPropertiesList
einheritIndexableNestedPropertiesFromSuperclass
à anotaçãoDocument.DocumentProperty
do AppSearch para permitir a indexação de caminhos de propriedade aninhados específicos. (Iec30a). - Suporte ao construtor do builder para criar instâncias do builder no processador de anotações
AppSearch
(I265c9). - O processador de anotações
AppSearch
foi atualizado para oferecer suporte à definição de tipos pai para polimorfismo (I06118). - Foi adicionado o método
GetSchemaRequest
para limpar as configurações de visibilidade (I38379). - Suporte a
addParentType
no AppSearch para polimorfismo (Ida14a). - Foram adicionadas APIs para outras expressões de classificação (I5d9f4).
- Adição da API
SearchAction
(I54091). - Adiciona o campo de descrição para tipos
AppSearch
(I84762). - Integração de APIs de classificação e consulta de pesquisa de embeddings a
AppSearch
(I0f6c3). - Remoção de
getDeletionPropagation
(I21192).
Versão 1.1.0-alpha03
24 de maio de 2023
Lançamento de androidx.appsearch:appsearch-*:1.1.0-alpha03
. A versão 1.1.0-alpha03 contém estas confirmações.
Novos recursos
- Suporte a uma API de consulta avançada, uma API de pontuação avançada e pesquisa numérica. (I02d48).
- A API
LocalStorage.createGlobalSearchSession
foi adicionada para pesquisar em todos os bancos de dados no armazenamento local de um único app. (Id3c89) - Adicionamos uma API para mesclar documentos por ID (Iaecfa).
- Suporte a pesos de propriedade para marcar determinadas propriedades como mais importantes ao usar
RANKING_STRATEGY_RELEVANCE_SCORING
. (I069b9). - Adição de "Person" e
ContactPoint
para consultar o corpus de pessoas emAppSearch
. (Ia58f9). - Novo tipo de documento
ImageObject
foi adicionado, com base em http://schema.org/ImageObject. (I6a0c0). - Adicione um
VERBATIM
tokenizer que permite adicionar propriedades sem interpretação porAppSearch
. (I47bc0). - Adicionamos
RFC822_TOKENIZATION
como um tipo de tokenizer, permitindo a tokenização de endereços de e-mail. (I8a390). - Ative a Pesquisa global na visualização de depuração. (I51fb2).
Mudanças na API
- Os métodos que retornam
ListenableFuture
e não têm o sufixo Async foram removidos. (I0515f). - Foi adicionada a capacidade de configurar projeções por uma classe
Document
. (I94576). - Adição de campos de
Thing
aAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
ePerson
(Id876c).
Correções de bugs
- Suporte total aos recursos do Android 13 no appsearch-platform-storage (Ia8e61).
- Correção de problemas com a substituição de nomes de esquema e campos particulares ao usar a herança.
Versão 1.1.0-alpha02
24 de agosto de 2022
Lançamento de androidx.appsearch:appsearch-*:1.1.0-alpha02
. A versão 1.1.0-alpha02 contém estas confirmações.
Novos recursos
- Aceleração do processo do Optimize usando a compactação de índices em vez de recriar o índice do zero.
- A tag de geração de registros nativa mudou de "icing" para "AppSearchIcing". O registro das mensagens de informação é feito por padrão.
Mudanças na API
- Adição de um novo objeto
PropertyPath
para trabalhar com caminhos e novos métodosaddProjection
para aceitarPropertyPath
(I45588). - Adição de
builtin:Thing
aos tiposAppSearch
integrados (I55427). - A prevenção de nomes de propriedade vazios na classe
GenericDocument
ocorre mais cedo. Antes, eles eram proibidos no momento da indexação, agora isso é feito no momento doGenericDocument.Builder.build()
(I9e780).
Correções de bugs
- A formatação de string desnecessária foi removida para melhorar a performance da pontuação de relevância.
- Paginação mais eficiente ao encontrar documentos ilegíveis ou excluídos.
- Coleta de lixo implementada para consultas abandonadas.
- O suporte à indexação aninhada para documentos foi corrigido. Antes, as indexNestedProperties eram ignoradas (Iae9a6).
Contribuição externa
- Shea Smith: correção do suporte à indexação aninhada para documentos (Iae9a6).
Versão 1.1.0-alpha01
15 de junho de 2022
Lançamento de androidx.appsearch:appsearch-*:1.1.0-alpha01
. A versão 1.1.0-alpha01 foi desenvolvida em uma ramificação de pré-lançamento particular e não tem confirmações públicas.
Mudanças na API
- Todos os métodos que retornam
ListenableFuture
foram renomeados com o sufixo "Async". Por exemplo,getSchema
foi renomeado comogetSchemaAsync
. As versões anteriores foram descontinuadas e serão removidas em uma versão futura.
Novos recursos
- Primeira versão de appsearch-builtin-types. Esse projeto contém alguns tipos integrados com base no schema.org, que os clientes podem considerar como convenientes para uso, em vez de definir os próprios tipos para objetos comuns. Mais tipos serão adicionados em versões futuras.
- Capacidade de usar
ShortcutAdapter
para converter um documentoAppSearch
em umShortcutInfoCompat
. Assim, os clientes podem compartilhar documentos daAppSearch
com o Google usando a biblioteca core-google-shortcuts. - Capacidade de usar a herança com classes
@Document
. Os campos não podem ser substituídos ou modificados, mas é possível adicionar novos campos estendendo uma classe com a anotação@Document
. - Nova API Observer, que permite que os clientes se registrem para receber notificações quando os tipos aos quais eles têm acesso tiverem mudado ou quando documentos desses tipos forem adicionados, modificados ou removidos. IMPORTANTE: a implementação atual só envia notificações quando o app está em execução. No momento, não é possível inspecionar as mudanças que ocorreram enquanto seu app estava parado. Portanto, não confie nessa API para garantir a integridade.
- API Property Parser, que permite processar e inspecionar completamente os caminhos de propriedade retornados por
MatchInfo#getPropertyPath
. - APIs globais
getById
egetSchema
para recuperar documentos e esquemas de outros apps que concederam visibilidade a você. - Capacidade de recuperar informações de visibilidade na
getSchema
para dados aos quais você tem acesso. - Capacidade de conceder visibilidade a apps que detêm uma determinada permissão do Android. Isso é restrito a um pequeno grupo na lista de permissões.
- Suporte a getters no estilo
isFoo()
para campos booleanos no processador de anotações, além do estilohasFoo()
que já tinha suporte. - Suporte a novos recursos protegidos por
@RequiresFeature
. UseAppSearchSession#getFeatures
para determinar a que o back-end atual tem suporte. - Remoção do limite de aproximadamente 13 mil tokens em documentos individuais.
- Permissão da correspondência de caracteres que não são ASCII nem alfanuméricos, como emojis.
Correções de bugs
- Correção do bug que causava falhas em
SetSchema
ao substituir um tipo incompatível aninhado. - Correções para oferecer suporte total a classes com a anotação
@AutoValue
que são usadas como classes@Document
da AppSearch. - Correções de algumas falhas relacionadas a listas repetidas de classes de documentos e outros problemas.
- Correção de um bug que causava falhas na pesquisa de prefixo em determinadas circunstâncias.
- Correção de um pequeno bug em
GetStorageInfo
, que retornava valores incorretos ao encontrar falhas de E/S. - Correção de problemas
BUSADDERR
ao ler um documento. - Correção da corrupção do Logcat causada ao imprimir uma impressão digital não formatada.
- Correção do NPE causado por falhas de E/S.
- Correção do vazamento de memória em
GetSchemaType
,Get
,Delete
,DeleteByNamespace
eDeleteBySchemaType
.
Versão 1.0.0
Versão 1.0.0-alpha04
3 novembro de 2021
Lançamento de androidx.appsearch:appsearch-*:1.0.0-alpha04
. A versão 1.0.0-alpha04 contém estas confirmações.
Novos recursos
- A dependência ListenableFuture do Guava foi adicionada automaticamente como uma dependência da API.
Mudanças na API
- SearchResult#getSubmatchRange() e SearchResult#getSubmatch() foram adicionados para fornecer mais informações sobre cada correspondência (I2fef6).
- A documentação sobre como gerar impressões digitais do PackageIdentifier para compartilhar dados por nome do pacote + certificado foi esclarecida.
Correções de bugs
- Correção do erro que ocorria quando o usuário tentava buscar páginas de resultados após o fim do conjunto de resultados.
- Correção do problema que fazia com que todos os namespaces fossem consultados quando apenas namespaces inválidos eram fornecidos como filtros de consulta.
- Correção do problema que fazia com que todos os namespaces fossem removidos quando apenas namespaces inválidos eram fornecidos como filtros de remoção de consulta.
- Correção do problema que fazia com que os dados do documento parassem de ser indexados após um determinado ponto em documentos muito grandes.
- Correção do problema que fazia com que a tokenização soltasse segmentos com caracteres numéricos não ASCII.
- Foi adicionada uma verificação de tentativas consecutivas de inicialização com falha para ajudar a eliminar o estado possivelmente inadequado que impede a inicialização.
Versão 1.0.0-alpha03
21 de julho de 2021
Lançamento de androidx.appsearch:appsearch-*:1.0.0-alpha03
. A versão 1.0.0-alpha03 contém estas confirmações.
Novos recursos
- Lançamento do back-end de armazenamento na plataforma para possibilitar que os clientes usem a API AppSearch com o novo serviço
android.app.appsearch.AppSearchManager
, lançado no Android S. Para mais detalhes, acesse o guia do desenvolvedor do AppSearch. - Suporte do processador de anotações a AutoValue.
- Remoção do limite de tamanho máximo da propriedade de string única.
- Novo formato de armazenamento para reduzir a latência de inicialização.
- Migração única de dados internos do formato antigo de armazenamento para o novo.
Correções de bugs
- Aplicação correta do limite máximo de documentos ao inserir novos documentos.
- Correção da falha durante a criação do AppSearchSession.
- Correção de bugs no SetSchema que não detectavam alguns casos de incompatibilidade com versões anteriores e incompatibilidade de índice.
Versão 1.0.0-alpha02
30 de junho de 2021
Lançamento de androidx.appsearch:appsearch:1.0.0-alpha02
, androidx.appsearch:appsearch-compiler:1.0.0-alpha02
e androidx.appsearch:appsearch-local-storage:1.0.0-alpha02
. A versão 1.0.0-alpha02 contém estas confirmações.
Novos recursos
- Compatibilidade total com os idiomas chinês/japonês/coreano/tailandês.
- O tamanho de
androidx.appsearch:appsearch-local-storage
foi reduzido. - O limite de tamanho máximo de propriedades repetidas foi removido.
- A reutilização de classes builder agora é permitida.
- Melhorias no método
toString()
de determinados objetos para facilitar a depuração. - Melhorias na documentação do Javadoc.
Mudanças na API
SearchResult#getMatches
foi renomeado comoSearchResult#getMatchInfos
.@Document.Int64Property
foi renomeado como@Document.LongProperty
.
Correções de bugs
- Melhorias e correções no cálculo de snippets de resultado.
- Correções de bugs na inicialização de AppSearchSession.
Versão 1.0.0-alpha01
5 de maio de 2021
Lançamento de androidx.appsearch:appsearch:1.0.0-alpha01
, androidx.appsearch:appsearch-compiler:1.0.0-alpha01
e androidx.appsearch:appsearch-local-storage:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
A AppSearch é uma biblioteca de pesquisa para gerenciar dados estruturados armazenados localmente, com APIs para indexar e recuperar dados usando a pesquisa de texto completo. Use-a para criar recursos personalizados de pesquisa no app para os usuários. Essa versão inicial é 1.0.0-alpha01
.