AppSearch
Letzte Aktualisierung | Stabile Version | Release Candidate | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
16. Oktober 2024 | - | – | - | 1.1.0-alpha06 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von AppSearch hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:
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") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.1
Version 1.1.0-alpha06
16. Oktober 2024
androidx.appsearch:appsearch-*:1.1.0-alpha06
wird veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.
API-Änderungen
- Knoten für die Abfragefunktion
PropertyDefined
hinzugefügt (I1aeaf) - Fügen Sie Knoten hinzu, um die numerische Suche und die Property-Einschränkung darzustellen. (I963a9)
- Fügen Sie einen Knoten für die Abfragefunktion
GetSearchStringParameter
hinzu. (I4f99b) - Fügen Sie einen Knoten hinzu, der die Abfragefunktion
HasProperty
darstellt. (I9c1c5) - Es wurde eine Schnittstelle zur Implementierung von Funktionen in AST hinzugefügt. (I9d42e)
- Fügen Sie AND- und OR-Operatoren hinzu. (Iaa442)
- Fügen Sie
NegationNode
hinzu, um die logische Negation von Abfragen im AST darzustellen. (Ia855a) - Fügen Sie
AppSearch
die Knotenschnittstelle hinzu, um Knoten zu definieren. (If42fb) - Fügen Sie eine Anmerkung für die experimentelle API für
AppSearch
hinzu. (I3e57c)
Fehlerkorrekturen
- Fügen Sie
TextNodes
für Haltebedingungen hinzu. (Iefd02)
Sicherheitsfix
- Seit dieser Änderung wird androidx mit protobuf 4.28.2 kompiliert, um CVE-2024-7254 zu beheben. Aktualisieren Sie die Abhängigkeit von
androidx.appsearch:appsearch-external-protobuf
auf die neueste Version 1.1.0-alpha06, um das Sicherheitsrisiko zu beheben.
Version 1.1.0-alpha05
4. September 2024
androidx.appsearch:appsearch-*:1.1.0-alpha05
wird veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.
API-Änderungen
- Stellt unnötige
setEmbeddingSearchEnabled
undgetEmbeddingSearchEnabled
ein. LöschtsetListFilterTokenizeFunctionEnabled
undgetListFilterTokenizeFunctionEnabled
. Die Abfragefunktion „tokenize“ wurde gelöscht. Ersetzt durch die AbfragefunktiongetSearchStringParameter
und die FunktionaddSearchStringParameter
. (I09f5a) - Benennen Sie
Alarm#getComputingDevice
ingetOriginatingDevice
um. (I63121)
Version 1.1.0-alpha04
7. August 2024
androidx.appsearch:appsearch-*:1.1.0-alpha04
wird veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.
Neue Funktionen
- Unterstützung für die neue
PlayServicesStorage
-Implementierung, mit derAppSearch
auf älteren Geräten verwendet werden kann, ohne dass die erheblichen Apk-Größenkosten vonLocalStorage
anfallen. Bei dieser Speicherimplementierung werden App-Daten in der Play-Dienste App gespeichert. - Unterstützung neuer APIs auf Geräten mit Android 15
- Unterstützung für die Suche in der Datenbank durch Einbetten von Vektoren, was eine ungefähre Übereinstimmung ermöglicht. (I2b41b)
- Elterntypen und Polymorphismus im
AppSearch
-Schemamodell unterstützen (I06118) - Unterstützung der
TakenAction
API, mit der Apps melden können, wenn auf Ergebnisse geklickt oder sie verlassen wurden, um die Qualität bei nachfolgenden Suchanfragen zu verbessern. (I54091) - Unterstützung von Klassen mit Buildern im Anmerkungs-Prozessor durch Einführung der neuen Anmerkung
@Document.BuilderProducer
. (Iec30a) - Sie können eine genauere Kontrolle darüber haben, welche Attribute eines verschachtelten Dokuments indexiert werden. (Iec30a)
- Unterstützung für die Filterung von Suchanfragen nach bestimmten Dokumenteigenschaften (Ib2659)
- Sie können detailliertere Sichtbarkeitseinstellungen unterstützen, indem Sie ODER und UND von Sichtbarkeitseinstellungen zulassen. (I0274b)
- Unterstützung für die Sichtbarkeit von Daten für alle Apps, die die Existenz der zugehörigen App sehen können (öffentliche Sichtbarkeit). (I992e4)
- Es können nur Ergebnisse abgerufen werden, für die Daten in einer bestimmten Property vorhanden sind. (I7d94f)
- Unterstützung für das Abrufen von geschäftlichen Kontakten im privaten Profil. (Idd587)
API-Änderungen
- Fügen Sie der
Document.DocumentProperty
-Anmerkung von AppSearch die AnmerkungsparameterindexableNestedPropertiesList
undinheritIndexableNestedPropertiesFromSuperclass
hinzu, um bestimmte verschachtelte Property-Pfade zu indexieren. (Iec30a) - Unterstützung des Builder-Konstruktors zum Erstellen von Builder-Instanzen im
AppSearch
-Anmerkungs-Prozessor (I265c9) - Der
AppSearch
-Anmerkungs-Prozessor wurde aktualisiert, um die Einstellung von übergeordneten Typen für Polymorphismus zu unterstützen (I06118) - Es wurde die Methode
GetSchemaRequest
zum Löschen der Sichtbarkeitseinstellungen hinzugefügt (I38379). - Unterstützung von
addParentType
in AppSearch für Polymorphismus (Ida14a) - APIs für zusätzliche Ranking-Ausdrücke hinzufügen (I5d9f4)
SearchAction
API hinzufügen (I54091)- Beschreibungsfeld für
AppSearch
-Typen hinzugefügt (I84762) - Einbettung von Suchanfragen und Ranking-APIs in
AppSearch
einrichten (I0f6c3) - Entfernt
getDeletionPropagation
(I21192)
Version 1.1.0-alpha03
24. Mai 2023
androidx.appsearch:appsearch-*:1.1.0-alpha03
wird veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Unterstützung für eine erweiterte Abfrage-API, eine erweiterte Bewertungs-API und die numerische Suche. (I02d48)
- Fügt die
LocalStorage.createGlobalSearchSession
API hinzu, um in allen Datenbanken im lokalen Speicher einer einzelnen Anwendung zu suchen (Id3c89). - API zum Zusammenführen von Dokumenten nach ID hinzugefügt (Iaecfa)
- Unterstützung von Property-Gewichten, um bestimmte Properties bei der Verwendung von
RANKING_STRATEGY_RELEVANCE_SCORING
als wichtiger zu kennzeichnen (I069b9) - Fügen Sie „Person“ und
ContactPoint
hinzu, um den Personenkorpus inAppSearch
abzufragen. (Ia58f9) - Neuer Dokumenttyp
ImageObject
hinzugefügt, der auf http://schema.org/ImageObject basiert. (I6a0c0) - Fügen Sie einen
VERBATIM
-Tokenizer hinzu, der das Hinzufügen von Attributen ohne Interpretation durchAppSearch
ermöglicht. (I47bc0) RFC822_TOKENIZATION
wurde als Tokenizer-Typ hinzugefügt, der die Tokenisierung von E-Mail-Adressen ermöglicht. (I8a390)- Aktivieren Sie die globale Suche in der Debug-Ansicht. (I51fb2)
API-Änderungen
- Methoden entfernt, die
ListenableFuture
zurückgeben und kein Async-Suffix haben (I0515f) - Es ist jetzt möglich, Projektionen nach einer
Document
-Klasse zu konfigurieren. (I94576) - Felder von
Thing
zuAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
undPerson
hinzufügen (Id876c)
Fehlerkorrekturen
- Vollständige Unterstützung von Android 13-Funktionen in appsearch-platform-storage (Ia8e61)
- Probleme mit dem Überschreiben von Schemanamen und privaten Feldern bei Verwendung der Übernahme wurden behoben.
Version 1.1.0-alpha02
24. August 2022
androidx.appsearch:appsearch-*:1.1.0-alpha02
wird veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.
Neue Funktionen
- Der Prozess zur Indexoptimierung wurde beschleunigt, indem der Index komprimiert wird, anstatt ihn von Grund auf neu zu erstellen.
- Natives Logging-Tag von „icing“ zu „AppSearchIcing“ geändert, INFO-Nachrichten werden standardmäßig protokolliert
API-Änderungen
- Es wurde ein neues
PropertyPath
-Objekt für die Arbeit mit Pfaden und neueaddProjection
-Methoden zum Akzeptieren vonPropertyPath
hinzugefügt. (I45588) builtin:Thing
zu den integrierten Typen vonAppSearch
hinzugefügt (I55427)- Leere Property-Namen in
GenericDocument
früher verhindern: Bisher wurden sie bei der Indexierung verhindert, jetzt werden sie beiGenericDocument.Builder.build()
verhindert (I9e780)
Fehlerkorrekturen
- Unnötige Stringformatierung entfernt, um die Leistung der RELEVANZ-Bewertung zu verbessern
- Effizientere Paginierung bei nicht lesbaren oder gelöschten Dokumenten
- Automatische Speicherbereinigung für abgebrochene Abfragen implementiert
- Unterstützung für verschachtelte Indexierung für Google Docs korrigiert. Bisher wurde „indexNestedProperties“ ignoriert. (Iae9a6)
Externer Beitrag
- Shea Smith: Probleme mit der verschachtelten Indexierung für Dokumente beheben (Iae9a6)
Version 1.1.0-alpha01
15. Juni 2022
androidx.appsearch:appsearch-*:1.1.0-alpha01
wird veröffentlicht. Version 1.1.0-alpha01 wurde in einem privaten Pre-Release-Branch entwickelt und hat keine öffentlichen Commits.
API-Änderungen
- Alle Methoden, die
ListenableFuture
zurückgeben, wurden in „Async“ umbenannt. Beispiel:getSchema
wurde ingetSchemaAsync
umbenannt. Die vorherigen Versionen wurden eingestellt und werden in einem zukünftigen Release entfernt.
Neue Funktionen
- Erste Version von „appsearch-builtin-types“. Dieses Projekt enthält einige integrierte Typen, die auf schema.org basieren und die Kunden verwenden können, anstatt eigene Typen für gängige Objekte zu definieren. In zukünftigen Releases werden weitere Typen hinzugefügt.
- Möglichkeit, mit
ShortcutAdapter
einAppSearch
-Dokument in einShortcutInfoCompat
-Dokument umzuwandeln. So können KundenAppSearch
-Dokumente über die core-google-shortcuts-Bibliothek für Google freigeben. - Berechtigung zur Verwendung der Übernahme mit
@Document
-Klassen. Felder können nicht ersetzt oder geändert werden, aber neue Felder können hinzugefügt werden, indem Sie eine mit@Document
annotierte Klasse erweitern. - Neue Observer API, mit der sich Clients für Benachrichtigungen registrieren können, wenn sich Typen ändern, auf die sie Zugriff haben, oder wenn Dokumente dieser Typen hinzugefügt, geändert oder entfernt werden. WICHTIG: Bei der aktuellen Implementierung werden Benachrichtigungen nur gesendet, wenn Ihre App aktiv ist. Derzeit gibt es keine Möglichkeit, Änderungen zu prüfen, die vorgenommen wurden, während Ihre Anwendung beendet wurde. Daher sollten Sie sich nicht auf diese API verlassen.
- Property-Parser-API, mit der Sie von
MatchInfo#getPropertyPath
zurückgegebene Property-Pfade vollständig verarbeiten und prüfen können. - Globale
getById
und globalegetSchema
API zum Abrufen von Dokumenten und Schemas aus anderen Apps, die Ihnen Zugriff gewährt haben. - Möglichkeit, in
getSchema
Informationen zur Sichtbarkeit von Daten abzurufen, auf die Sie Zugriff haben - Möglichkeit, Apps mit einer bestimmten Android-Berechtigung Sichtbarkeit zu gewähren (eingeschränkt auf eine kleine Gruppe von Berechtigungen auf der Zulassungsliste)
- Unterstützung von
isFoo()
-Gettern für boolesche Felder im Annotations-Prozessor zusätzlich zum bisher unterstützten StilhasFoo()
- Unterstützung für neue Funktionen, die durch
@RequiresFeature
geschützt sind. MitAppSearchSession#getFeatures
kannst du herausfinden, was das aktuelle Backend unterstützt. - Entfernen des Tokenslimits von etwa 13.000 für einzelne Dokumente
- Abgleich von nicht ASCII- und nicht alphanumerischen Zeichen, z. B. Emojis, zulassen
Fehlerkorrekturen
- Fehler behoben, durch den
SetSchema
fehlgeschlagen ist, wenn ein verschachtelter inkompatibler Typ überschrieben wurde. - Korrekturen zur vollständigen Unterstützung von
@AutoValue
-annotierten Klassen, die als AppSearch-@Document
-Klassen verwendet werden - Fehlerkorrekturen für einige Abstürze im Zusammenhang mit wiederholten Listen von Dokumentklassen und andere Probleme
- Behebung eines Fehlers, der unter bestimmten Umständen die Suche mit dem Präfix abstürzte
- Behebung eines kleinen Fehlers in
GetStorageInfo
, bei dem bei I/O-Fehlern falsche Werte zurückgegeben wurden - Probleme beim Lesen von Dokumenten mit
BUSADDERR
beheben - Behebung von Logcat-Beschädigungen, die durch das Drucken eines nicht formatierten Fingerabdrucks verursacht wurden
- NPE aufgrund von E/A-Fehlern beheben
- Behebung eines Speicherlecks in
GetSchemaType
,Get
,Delete
,DeleteByNamespace
undDeleteBySchemaType
Version 1.0.0
Version 1.0.0-alpha04
3. November 2021
androidx.appsearch:appsearch-*:1.0.0-alpha04
wird veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
Neue Funktionen
- Guava ListenableFuture-Abhängigkeit, die automatisch als API-Abhängigkeit eingebunden wird
API-Änderungen
- Fügen Sie SearchResult#getSubmatchRange() und SearchResult#getSubmatch() hinzu, um weitere Informationen zu den einzelnen Übereinstimmungen bereitzustellen. (I2fef6)
- Erläuterung in der Dokumentation zur Generierung von PackageIdentifier-Fingerabdrücken für die Freigabe von Daten nach Paketname + Zertifikat
Fehlerkorrekturen
- Absturz behoben, der auftrat, wenn der Nutzer versucht, Ergebnisseiten nach dem Ende der Ergebnisse abzurufen
- Problem behoben, bei dem alle Namespaces abgefragt wurden, wenn nur ungültige Namespaces als Abfragefilter angegeben wurden
- Problem behoben, bei dem alle Namespaces entfernt wurden, wenn nur ungültige Namespaces als Filter für das Entfernen nach Abfrage angegeben wurden
- Problem behoben, bei dem Dokumentdaten bei sehr großen Dokumenten nach einem bestimmten Punkt nicht mehr indexiert wurden
- Behoben: Bei der Tokenisierung wurden Segmente mit nicht-ASCII-Zahlenzeichen entfernt.
- Fügen Sie eine Prüfung für aufeinanderfolgende fehlgeschlagene Initialisierungsversuche hinzu, um einen potenziellen fehlerhaften Status zu vermeiden, der eine erfolgreiche Initialisierung verhindert.
Version 1.0.0-alpha03
21. Juli 2021
androidx.appsearch:appsearch-*:1.0.0-alpha03
wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Neue Funktionen
- Veröffentlichung des Plattformspeicher-Back-Ends, damit Clients die AppSearch API mit dem neuen
android.app.appsearch.AppSearchManager
-Dienst verwenden können, der in Android S eingeführt wird. Weitere Informationen finden Sie im AppSearch-Entwicklerleitfaden. - Unterstützung des Annotationsprozessors für AutoValue
- Entfernung des maximalen Größenlimits für einzelne String-Properties
- Neues Speicherformat zur Verringerung der Initialisierungslatenz
- Eine einmalige interne Datenmigration vom alten Speicherformat zum neuen Speicherformat
Fehlerkorrekturen
- Beim Einfügen neuer Dokumente wird das maximale Dokumentlimit korrekt erzwungen
- Absturz beim Erstellen einer AppSearchSession behoben
- Es wurden Fehler in SetSchema behoben, die einige Fälle von Abwärts- und Indexinkompatibilität nicht erkannten.
Version 1.0.0-alpha02
30. Juni 2021
androidx.appsearch:appsearch:1.0.0-alpha02
, androidx.appsearch:appsearch-compiler:1.0.0-alpha02
und androidx.appsearch:appsearch-local-storage:1.0.0-alpha02
werden losgelassen. Version 1.0.0-alpha02 enthält diese Commits.
Neue Funktionen
- Vollständige Unterstützung der Sprachen Chinesisch, Japanisch, Koreanisch und Thai
- Verringerte Größe von
androidx.appsearch:appsearch-local-storage
- Entfernung der maximalen Größe für wiederholte Properties
- Wiederverwendung von Builder-Klassen zulassen
- Verbesserungen bei
toString()
bestimmter Objekte für eine einfachere Fehlerbehebung - Verbesserungen an der Javadoc-Dokumentation
API-Änderungen
SearchResult#getMatches
inSearchResult#getMatchInfos
umbenannt@Document.Int64Property
in@Document.LongProperty
umbenannt
Fehlerkorrekturen
- Verbesserungen und Fehlerkorrekturen bei der Berechnung von Ergebnis-Snippets
- Fehlerkorrekturen bei der Initialisierung von AppSearchSession
Version 1.0.0-alpha01
5. Mai 2021
androidx.appsearch:appsearch:1.0.0-alpha01
, androidx.appsearch:appsearch-compiler:1.0.0-alpha01
und androidx.appsearch:appsearch-local-storage:1.0.0-alpha01
werden losgelassen. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
AppSearch ist eine Suchbibliothek zur Verwaltung lokal gespeicherter strukturierter Daten mit APIs zum Indexieren von Daten und zum Abrufen von Daten über die Volltextsuche. Sie können damit benutzerdefinierte In-App-Suchfunktionen für Ihre Nutzer erstellen. Diese erste Version ist 1.0.0-alpha01
.