Ricerca App

AppSearch è una libreria di ricerca on-device per la gestione archiviati localmente, con API per l'indicizzazione dei dati e il recupero dei dati la ricerca a testo intero. Utilizzala per sviluppare funzionalità di ricerca in-app personalizzate per il tuo utenti.
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:

trendy

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.

Crea un nuovo numero

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 utilizzare AppSearch su dispositivi meno recenti senza dover sostenere il significativo costo delle dimensioni dell'APK pari a LocalStorage. 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 e inheritIndexableNestedPropertiesFromSuperclass all'annotazione Document.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 in AppSearch. (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 di AppSearch. (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 a Alarm, AlarmInstance, Timer, Stopwatch, StopwatchLap, ContactPoint e Person (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 metodi addProjection per accettare PropertyPath. (I45588)
  • Aggiunta di builtin:Thing ai tipi integrati AppSearch (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 momento GenericDocument.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 in getSchemaAsync. 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 documento AppSearch in un documento ShortcutInfoCompat. In questo modo i client possono condividere i documenti AppSearch 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 API getSchema 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 stile hasFoo() supportato
  • Supporto per le nuove funzionalità protette da @RequiresFeature. Usa AppSearchSession#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 e DeleteBySchemaType

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 in SearchResult#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.