Ricerca App
Aggiornamento più recente | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
7 agosto 2024 | - | - | - | 1.1.0-alpha04 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza su AppSearch, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Alla moda
dependencies { def appsearch_version = "1.1.0-alpha04" 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-alpha04" 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 saperne di più sulle dipendenze, consulta Aggiungere dipendenze nella build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.
Consulta la documentazione di Issue Tracker per ulteriori informazioni.
Versione 1.1
Versione 1.1.0-alpha04
7 agosto 2024
Viene rilasciato androidx.appsearch:appsearch-*:1.1.0-alpha04
. La versione 1.1.0-alpha04 contiene questi commit.
Nuove funzionalità
- Supporto della nuova implementazione di
PlayServicesStorage
, che consente di utilizzareAppSearch
su dispositivi meno recenti senza dover sostenere il significativo costo delle dimensioni dell'APK pari aLocalStorage
. Questa implementazione di archiviazione funziona memorizzando i dati dell'app all'interno dell'app Play Services. - Supporto di nuove API su 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 un clic o l'abbandono, 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) - Supportano un controllo più granulare sulle proprietà di un documento nidificato che vengono indicizzate. (Iec30a)
- È ora supportata l'applicazione di filtri 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)
- È ora possibile recuperare solo i risultati per i quali i dati sono stati inseriti in una determinata proprietà. (I7d94f)
- Supporto per il recupero dei contatti aziendali nel profilo personale. (IDd587)
Modifiche alle 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) - Aggiunta di API per ulteriori espressioni di ranking (I5d9f4)
- Aggiunta dell'API
SearchAction
(I54091) - Aggiunge un campo di descrizione per i tipi
AppSearch
(I84762) - Esegui l'onboarding delle API di ranking e query di ricerca di incorporamento in
AppSearch
(I0f6c3) - Rimuove
getDeletionPropagation
(I21192)
Versione 1.1.0-alpha03
24 maggio 2023
Viene rilasciato androidx.appsearch:appsearch-*:1.1.0-alpha03
. 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 Person e
ContactPoint
per eseguire query sul corpus Persona inAppSearch
. (Ia58f9) - Aggiunto nuovo tipo di documento
ImageObject
modellato in base a 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)- Attivare la ricerca globale nella vista di debug. (I51fb2)
Modifiche alle API
- Sono stati rimossi i metodi che restituiscono
ListenableFuture
e non hanno un suffisso asincrono. (I0515f) - Aggiunge la possibilità di configurare le proiezioni per una classe
Document
. (I94576) - Aggiungi campi da
Thing
aAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
ePerson
(Id876c)
Correzioni di bug
- Supporta completamente le funzionalità di Android 13 in appsearch-platform-storage (Ia8e61)
- Sono stati risolti i problemi relativi alla sostituzione dei nomi degli schemi e dei campi privati quando si utilizza l'ereditarietà.
Versione 1.1.0-alpha02
24 agosto 2022
Viene rilasciato androidx.appsearch:appsearch-*:1.1.0-alpha02
. La versione 1.1.0-alpha02 contiene questi commit.
Nuove funzionalità
- Processo di Optimize accelerato utilizzando la compattazione dell'indice anziché ricrearlo da zero
- Tag di logging nativo modificato da "icing" in "AppSearchIcing", registra 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) - Aggiunta di
builtin:Thing
ai tipi integratiAppSearch
(I55427) - Previeni prima i nomi di proprietà vuoti in
GenericDocument
. In precedenza, questa operazione veniva impedita al momento dell'indicizzazione, mentre ora ne viene impedita al momentoGenericDocument.Builder.build()
(I9e780)
Correzioni di bug
- È stata rimossa la formattazione non necessaria delle stringhe per migliorare le prestazioni del punteggio di PERTINENZA
- Impaginazione più efficiente in caso di documenti illeggibili o eliminati
- Implementazione della garbage collection per le query abbandonate
- Correggi il supporto dell'indicizzazione nidificata per Documenti. In precedenza, indexNestedProperties era ignorato. (Iae9a6).
Contributo esterno
- Shea Smith: Correggere il supporto dell'indicizzazione nidificata per Documenti. (Iae9a6).
Versione 1.1.0-alpha01
15 giugno 2022
Viene rilasciato androidx.appsearch:appsearch-*:1.1.0-alpha01
. La versione 1.1.0-alpha01 è stata sviluppata in un ramo privato di pre-release e non ha commit pubblici.
Modifiche alle API
- Tutti i metodi che restituiscono
ListenableFuture
sono stati rinominati con il suffisso asincrono. Ad esempio,getSchema
è stato rinominato ingetSchemaAsync
. Le versioni precedenti sono state deprecate e verranno rimosse in una release futura.
Nuove funzionalità
- Prima release dei tipi integrati appsearch. Questo progetto contiene alcuni tipi integrati basati su schema.org, che i client potrebbero trovare comodo da usare 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
. Non è possibile sostituire o modificare i campi, ma è possibile aggiungerne di nuovi estendendo una classe annotata con@Document
. - Nuova API Observer, che consente ai clienti di registrarsi per ricevere notifiche quando i tipi a cui hanno accesso sono cambiati o quando 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 esaminare le modifiche apportate mentre l'app era interrotta. Di conseguenza, non devi fare affidamento su questa API per la completezza.
- API del parser delle proprietà, che ti consente di gestire e controllare completamente i percorsi delle proprietà restituiti da
MatchInfo#getPropertyPath
. getById
globale e APIgetSchema
globale per recuperare documenti e schemi da altre app che ti hanno concesso visibilità.- Possibilità di recuperare le informazioni sulla visibilità in
getSchema
per i dati a cui hai accesso - Possibilità di concedere visibilità alle app che dispongono di una determinata autorizzazione Android (limitata a un numero limitato di autorizzazioni incluse nella lista consentita)
- Supporta getter in stile
isFoo()
per i campi booleani nel processore di annotazione, oltre al precedente stilehasFoo()
supportato - 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
- Correzione del bug che avrebbe comportato un errore di
SetSchema
durante l'override di un tipo nidificato incompatibile. - Correzioni per supportare completamente
@AutoValue
corsi annotati utilizzati come corsi@Document
di AppSearch - Correzioni di alcuni arresti anomali relativi a elenchi ripetuti di classi di documenti e ad altri problemi
- Correzione di un bug che in determinate circostanze causava l'arresto anomalo della ricerca del prefisso
- Correggi un piccolo bug in
GetStorageInfo
che restituiva valori errati in caso di errori di I/O - Risolvi
BUSADDERR
di problemi durante la lettura di un documento - Correggi il danneggiamento di logcat causato dalla stampa di impronte non formattate
- Correggi gli errori NPE causati da errori di I/O
- Risolvi la 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 API
Modifiche alle API
- Aggiungi SearchResult#getSubmatchRange() e SearchResult#getSubmatch() per fornire ulteriori informazioni su ogni corrispondenza. (I2fef6)
- Chiarisci la documentazione su come generare fingerprint PackageIdentifier per la condivisione dei dati tramite nomePacchetto+certificato
Correzioni di bug
- Correggere l'arresto anomalo se l'utente tentava di recuperare le pagine dei risultati dopo il termine del set di risultati
- Risolvere il problema che causava la query su tutti gli spazi dei nomi se venivano forniti solo spazi dei nomi non validi come filtri di query
- È stato risolto il problema che causava la rimozione di tutti gli spazi dei nomi non validi se venivano forniti solo spazi dei nomi non validi come remove-by-query filtersLo
- Risolvi il problema per cui i dati dei documenti non venivano più indicizzati dopo un determinato momento per documenti di grandi dimensioni
- Correzione del problema per cui la tokenizzazione causava l'eliminazione di segmenti con caratteri numerici non ASCII
- Aggiungi il controllo per tentativi di inizializzazione non riusciti consecutivi per contribuire a evitare potenziali stati non validi che impediscono l'inizializzazione riuscita.
Versione 1.0.0-alpha03
21 luglio 2021
Viene rilasciato androidx.appsearch:appsearch-*:1.0.0-alpha03
. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
- Rilascio del backend di archiviazione della piattaforma per consentire ai client di utilizzare l'API AppSearch con il lancio del nuovo servizio
android.app.appsearch.AppSearchManager
in Android S. Per ulteriori dettagli, visita la guida per gli sviluppatori di AppSearch. - Supporto del processore di annotazioni per AutoValue
- Rimozione del limite di dimensioni massime della proprietà a stringa singola
- Nuovo formato di archiviazione per ridurre la latenza di inizializzazione
- Una migrazione interna una tantum dei dati dal vecchio formato di archiviazione a quello nuovo
Correzioni di bug
- Applica correttamente il limite massimo di documenti all'inserimento di nuovi documenti
- È stato corretto l'arresto anomalo durante la creazione di AppSearchSession
- Sono stati corretti i bug in SetSchema che non rilevavano alcuni casi di incompatibilità con versioni precedenti e degli indici
Versione 1.0.0-alpha02
30 giugno 2021
Vengono rilasciate le funzionalità 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
. 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 del builder
- Miglioramenti a
toString()
di determinati oggetti per semplificare il debug - Miglioramenti alla documentazione Javadoc
Modifiche alle API
SearchResult#getMatches
rinominato inSearchResult#getMatchInfos
@Document.Int64Property
rinominato in@Document.LongProperty
Correzioni di bug
- Miglioramenti e correzioni al calcolo degli snippet dei risultati
- Correzioni ai bug nell'inizializzazione di AppSearchSession
Versione 1.0.0-alpha01
5 maggio 2021
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
AppSearch è una libreria di ricerca per la gestione di dati strutturati archiviati localmente, con API per l'indicizzazione dei dati e il recupero dei dati tramite la ricerca a testo intero. Utilizzala per creare funzionalità di ricerca in-app personalizzate per i tuoi utenti. Questa release iniziale è 1.0.0-alpha01
.