Ricerca App
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
16 ottobre 2024 | - | - | - | 1.1.0-alpha06 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da AppSearch, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Groovy
dependencies { def appsearch_version = "1.1.0-alpha06" 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-alpha06" 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") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.1
Versione 1.1.0-alpha06
16 ottobre 2024
androidx.appsearch:appsearch-*:1.1.0-alpha06
viene rilasciato. La versione 1.1.0-alpha06 contiene questi commit.
Modifiche all'API
- È stato aggiunto un nodo che rappresenta la funzione di query
PropertyDefined
. (I1aeaf) - Aggiungi nodi per rappresentare la ricerca numerica e la limitazione della proprietà. (I963a9)
- Aggiungi il nodo che rappresenta la funzione di query
GetSearchStringParameter
. (I4f99b) - Aggiungi il nodo che rappresenta la funzione di query
HasProperty
. (I9c1c5) - È stata aggiunta un'interfaccia per l'implementazione delle funzioni in AST. (I9d42e)
- Aggiungi gli operatori AND e OR. (Iaa442)
- Aggiungi
NegationNode
per rappresentare la negazione logica delle query nell'AST. (Ia855a) - Aggiungi l'interfaccia Node a
AppSearch
per definire i nodi. (If42fb) - Aggiunge un'annotazione API sperimentale per
AppSearch
. (I3e57c)
Correzioni di bug
- Aggiungi
TextNodes
per i termini di blocco. (Iefd02)
Correzione di sicurezza
- A partire da questa modifica, androidx viene compilato in base a protobuf 4.28.2 per risolvere il problema CVE-2024-7254. Esegui l'upgrade della dipendenza su
androidx.appsearch:appsearch-external-protobuf
all'ultima versione 1.1.0-alpha06 per risolvere il rischio di vulnerabilità.
Versione 1.1.0-alpha05
4 settembre 2024
androidx.appsearch:appsearch-*:1.1.0-alpha05
viene rilasciato. La versione 1.1.0-alpha05 contiene questi commit.
Modifiche alle API
- Ritira
setEmbeddingSearchEnabled
egetEmbeddingSearchEnabled
non necessari. EliminasetListFilterTokenizeFunctionEnabled
egetListFilterTokenizeFunctionEnabled
. È stata eliminata la funzione di query "tokenize". Sostituito con la funzione di querygetSearchStringParameter
e la funzioneaddSearchStringParameter
. (I09f5a) - Rinomina
Alarm#getComputingDevice
ingetOriginatingDevice
. (I63121)
Versione 1.1.0-alpha04
7 agosto 2024
androidx.appsearch:appsearch-*:1.1.0-alpha04
viene rilasciato. La versione 1.1.0-alpha04 contiene questi commit.
Nuove funzionalità
- Supporto per la nuova implementazione di
PlayServicesStorage
, che consente di utilizzareAppSearch
sui dispositivi meno recenti senza incorrere nel costo significativo delle dimensioni dell'apk diLocalStorage
. Questa implementazione dello spazio di archiviazione funziona archiviando i dati dell'app all'interno dell'app Play Services. - Supporto di nuove API sui dispositivi con Android 15.
- Supporta la ricerca nel database mediante l'incorporamento di vettori, che consentono la corrispondenza fuzzy. (I2b41b)
- Supporta i tipi principali e il polimorfismo all'interno del modello di schema
AppSearch
. (I06118) - Supportare l'API
TakenAction
, che consente alle app di segnalare quando i risultati hanno ricevuto clic o abbandonati, per migliorare la qualità durante le ricerche successive. (I54091) - Supporta le classi con i builder nel processore di annotazioni introducendo la nuova annotazione
@Document.BuilderProducer
. (Iec30a) - Supporta un controllo più granulare sulle proprietà di un documento nidificato da indicizzare. (Iec30a)
- Supporto per filtrare le ricerche in base a determinate proprietà dei documenti. (Ib2659)
- Supporta impostazioni di visibilità più granulari consentendo O ed AND delle impostazioni di visibilità. (I0274b)
- Supporto per la concessione della visibilità dei dati a tutte le app che possono vedere l'esistenza dell'app proprietaria (visibilità pubblica). (I992e4)
- Supporto per il recupero solo dei risultati con dati compilati in una determinata proprietà. (I7d94f)
- Supporto per il recupero dei contatti aziendali nel profilo personale. (Idd587)
Modifiche all'API
- Aggiungi i parametri di annotazione
indexableNestedPropertiesList
einheritIndexableNestedPropertiesFromSuperclass
all'annotazioneDocument.DocumentProperty
di AppSearch per consentire l'indicizzazione di percorsi specifici delle proprietà nidificate. (Iec30a) - Costruttore del builder di assistenza per creare istanze del builder nel processore di annotazione
AppSearch
(I265c9) - Aggiorna il processore di annotazioni
AppSearch
per supportare l'impostazione dei tipi padre per il polimorfismo (I06118) - Aggiunge il metodo
GetSchemaRequest
per cancellare le impostazioni di visibilità (I38379) - Supporta
addParentType
in AppSearch per il polimorfismo (Ida14a) - Aggiungere API per espressioni di ranking aggiuntive (I5d9f4)
- Aggiungi l'API
SearchAction
(I54091) - Aggiunge il campo Descrizione per i tipi
AppSearch
(I84762) - Esegui l'onboarding delle API di query di ricerca e ranking incorporate in
AppSearch
(I0f6c3) - Rimuove
getDeletionPropagation
(I21192)
Versione 1.1.0-alpha03
24 maggio 2023
androidx.appsearch:appsearch-*:1.1.0-alpha03
viene rilasciato. La versione 1.1.0-alpha03 contiene questi commit.
Nuove funzionalità
- Supporto di API per query avanzate, API di punteggio avanzato e ricerca numerica. (I02d48)
- Aggiunge l'API
LocalStorage.createGlobalSearchSession
per eseguire ricerche in tutti i database all'interno dello spazio di archiviazione locale di una singola app. (Id3c89) - È stata aggiunta un'API per unire i documenti per ID (Iaecfa)
- Supporta le ponderazioni delle proprietà per contrassegnare determinate proprietà come più importanti quando utilizzi
RANKING_STRATEGY_RELEVANCE_SCORING
. (I069b9) - Aggiungi Persona e
ContactPoint
per eseguire query sul corpus di persone inAppSearch
. (Ia58f9) - È stato aggiunto il nuovo tipo di documento
ImageObject
basato su http://schema.org/ImageObject. (I6a0c0) - Aggiungi un tokenizzatore
VERBATIM
che consente di aggiungere proprietà senza alcuna interpretazione da parte diAppSearch
. (I47bc0) RFC822_TOKENIZATION
aggiunto come tipo di tokenizzatore, che consente la tokenizzazione degli indirizzi email. (I8a390)- Attiva la ricerca globale nella visualizzazione di debug. (I51fb2)
Modifiche all'API
- Sono stati rimossi i metodi che restituiscono
ListenableFuture
e non hanno il suffisso Async. (I0515f) - Aggiunge la possibilità di configurare le proiezioni in base a una classe
Document
. (I94576) - Aggiungi campi da
Thing
aAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
ePerson
(Id876c)
Correzioni di bug
- Supporto completo delle funzionalità di Android 13 in appsearch-platform-storage (Ia8e61)
- Risolvere i problemi relativi all'override dei nomi degli schemi e dei campi privati quando si utilizza l'eredità.
Versione 1.1.0-alpha02
24 agosto 2022
androidx.appsearch:appsearch-*:1.1.0-alpha02
viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.
Nuove funzionalità
- Accelerare il processo di ottimizzazione utilizzando la compattazione dell'indice anziché ricostruire l'indice da zero
- È stato modificato il tag di registrazione nativo da "icing" a "AppSearchIcing", vengono registrati i messaggi INFO per impostazione predefinita
Modifiche alle API
- Aggiunge un nuovo oggetto
PropertyPath
per lavorare con i percorsi e nuovi metodiaddProjection
per accettarePropertyPath
. (I45588) - È stato aggiunto
builtin:Thing
ai tipi integratiAppSearch
(I55427) - Impedire prima i nomi di proprietà vuoti in
GenericDocument
: in precedenza erano impediti al momento dell'indicizzazione, ora vengono impediti al momento dell'importazione (I9e780)GenericDocument.Builder.build()
Correzioni di bug
- È stata rimossa la formattazione delle stringhe non necessaria per migliorare il rendimento del punteggio RELEVANZA
- Impaginazione più efficiente in caso di documenti illeggibili o eliminati
- È stata implementata la garbage collection per le query abbandonate
- Correzione del supporto dell'indicizzazione nidificata per Documenti. In precedenza, indexNestedProperties veniva ignorato. (Iae9a6)
Contributo esterno
- Shea Smith: correzione del supporto dell'indicizzazione nidificata per Documenti. (Iae9a6)
Versione 1.1.0-alpha01
15 giugno 2022
androidx.appsearch:appsearch-*:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 è stata sviluppata in un ramo pre-release privato e non ha commit pubblici.
Modifiche alle API
- Tutti i metodi che restituiscono
ListenableFuture
sono stati rinominati in modo da avere il suffisso Async. Ad esempio,getSchema
è stato rinominato ingetSchemaAsync
. Le versioni precedenti sono state ritirate e verranno rimosse in una release futura.
Nuove funzionalità
- Prima release di appsearch-builtin-types. Questo progetto contiene alcuni tipi integrati basati su schema.org che i clienti potrebbero trovare comodi da utilizzare anziché definire i propri tipi per gli oggetti comuni. Nelle versioni future verranno aggiunti altri tipi.
- Possibilità di utilizzare
ShortcutAdapter
per convertire un documentoAppSearch
in un documentoShortcutInfoCompat
. In questo modo i client possono condividere i documentiAppSearch
con Google utilizzando la libreria core-google-scorciatoie - Possibilità di utilizzare l'ereditarietà con le classi
@Document
. I campi non possono essere sostituiti o modificati, ma è possibile aggiungerne di nuovi estendendo una classe annotata con@Document
. - Nuova API Observer che consente ai client di registrarsi per ricevere notifiche quando i tipi a cui hanno accesso sono stati modificati o quando i documenti di questi tipi vengono aggiunti, modificati o rimossi. IMPORTANTE: l'implementazione attuale invia notifiche solo quando l'app è in esecuzione. Al momento non è possibile ispezionare le modifiche che si sono verificate mentre l'app era in pausa. Di conseguenza, non devi fare affidamento su questa API per la completezza.
- API di analisi delle proprietà che consente di gestire e ispezionare completamente i percorsi delle proprietà restituiti da
MatchInfo#getPropertyPath
. - API
getById
egetSchema
globali per il recupero di documenti e schemi da altre app che ti hanno concesso la visibilità. - Possibilità di recuperare informazioni sulla visibilità in
getSchema
per i dati a cui hai accesso - Possibilità di concedere la visibilità alle app che dispongono di una determinata autorizzazione Android (limitata a un ristretto insieme di autorizzazioni consentite)
- Supporto dei getter in stile
isFoo()
per i campi booleani nell'elaboratore di annotazioni, oltre allo stilehasFoo()
supportato in precedenza - Supporto per le nuove funzionalità protette da
@RequiresFeature
. UsaAppSearchSession#getFeatures
per determinare cosa supporta il backend attuale. - Rimuovi il limite di circa 13.000 token per i singoli documenti
- Consenti la corrispondenza con caratteri non ASCII e non alfanumerici, come le emoji
Correzioni di bug
- È stato corretto un bug che causava un errore
SetSchema
durante l'override di un tipo incompatibile nidificato. - Correzioni per supportare completamente i classi con annotazioni
@AutoValue
utilizzati come classi@Document
di AppSearch - Correzioni per alcuni arresti anomali relativi a elenchi ripetuti di classi di documenti e altri problemi
- Correzione di un bug che causava l'arresto anomalo della ricerca dei prefissi in determinate circostanze
- È stato corretto un piccolo bug in
GetStorageInfo
che restituiva valori errati in caso di errori di I/O - Risolvere i problemi
BUSADDERR
durante la lettura di un documento - Correzione della corruzione di logcat causata dalla stampa dell'impronta non formattata
- Correggere l'errore NPE causato da errori di I/O
- Correzione della perdita di memoria in
GetSchemaType
,Get
,Delete
,DeleteByNamespace
eDeleteBySchemaType
Versione 1.0.0
Versione 1.0.0-alpha04
3 novembre 2021
Viene rilasciato androidx.appsearch:appsearch-*:1.0.0-alpha04
. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- dipendenza Guava ListenableFuture importata automaticamente come dipendenza dell'API
Modifiche all'API
- Aggiungi SearchResult#getSubmatchRange() e SearchResult#getSubmatch() per fornire maggiori informazioni su ogni corrispondenza. (I2fef6)
- Chiarisci la documentazione su come generare fingerprint PackageIdentifier per la condivisione di dati tramite nome pacchetto+certificato
Correzioni di bug
- Correggere l'arresto anomalo se l'utente tenta di recuperare le pagine dei risultati dopo la fine dell'insieme di risultati
- È stato risolto il problema relativo alla query su tutti gli spazi dei nomi se come filtri di query sono stati forniti solo spazi dei nomi non validi
- Risolvere il problema che causava la rimozione di tutti gli spazi dei nomi non validi se venivano forniti solo spazi dei nomi non validi come filtri di rimozione per query
- È stato risolto il problema per cui i dati dei documenti non venivano più indicizzati dopo un determinato punto per i documenti di grandi dimensioni
- Correzione del problema per cui la tokenizzazione causava l'eliminazione di segmenti con caratteri numerici non ASCII
- Aggiungi un controllo per i tentativi di inizializzazione consecutivi non riusciti per aiutarti a uscire da un potenziale stato errato che impedisce l'inizializzazione.
Versione 1.0.0-alpha03
21 luglio 2021
androidx.appsearch:appsearch-*:1.0.0-alpha03
viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
- Uscita del backend di archiviazione della piattaforma per consentire ai client di utilizzare l'API AppSearch con il nuovo servizio
android.app.appsearch.AppSearchManager
lanciato in Android S. Per maggiori dettagli, consulta la Guida per gli sviluppatori di AppSearch. - Supporto del processore di annotazioni per AutoValue
- Rimozione del limite di dimensione massima della proprietà stringa singola
- Nuovo formato di archiviazione per ridurre la latenza di inizializzazione
- Una migrazione interna una tantum dei dati dal vecchio formato di archiviazione al nuovo formato di archiviazione
Correzioni di bug
- Applica correttamente il limite massimo di documenti all'inserimento di nuovi documenti
- Arresto anomalo corretto durante la creazione di AppSearchSession
- Sono stati corretti i bug in SetSchema che non rilevavano alcuni casi di incompatibilità con le versioni precedenti e con gli indici
Versione 1.0.0-alpha02
30 giugno 2021
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
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- Supporto completo per le lingue cinese/giapponese/coreano/thailandese
- Dimensioni ridotte di
androidx.appsearch:appsearch-local-storage
- Rimozione del limite di dimensioni massime delle proprietà ripetute
- Consenti il riutilizzo delle classi di generatore
- Miglioramenti in
toString()
di determinati oggetti per semplificare il debug - Miglioramenti alla documentazione Javadoc
Modifiche all'API
SearchResult#getMatches
rinominato inSearchResult#getMatchInfos
@Document.Int64Property
è stato rinominato in@Document.LongProperty
Correzioni di bug
- Miglioramenti e correzioni al calcolo degli snippet dei risultati
- Correzioni di bug nell'inizializzazione di AppSearchSession
Versione 1.0.0-alpha01
5 maggio 2021
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
vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
AppSearch è una libreria di ricerca per la gestione dei dati strutturati archiviati localmente, con API per l'indicizzazione e il recupero dei dati tramite ricerca full-text. Utilizzala per creare funzionalità di ricerca in-app personalizzate per i tuoi utenti. Questa release iniziale è 1.0.0-alpha01
.