App-Suche

AppSearch ist eine On-Device-Suchbibliothek zur Verwaltung lokal gespeicherter strukturierter Daten mit APIs zum Indexieren von Daten und Abrufen von Daten über die Volltextsuche. Sie können damit benutzerdefinierte In-App-Suchfunktionen für Ihre Nutzer erstellen.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
24. Mai 2023 - - - 1.1.0-alpha03

Abhängigkeiten deklarieren

Zum Hinzufügen einer Abhängigkeit von AppSearch 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 Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Groovig

dependencies {
    def appsearch_version = "1.1.0-alpha03"

    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-alpha03"

    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

Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.1

Version 1.1.0-alpha03

24. Mai 2023

androidx.appsearch:appsearch-*:1.1.0-alpha03 wird freigegeben. Version 1.1.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Unterstützung einer Advanced Query API, einer Advanced Scoring API und einer numerischen Suche. (I02d48)
  • Fügt die LocalStorage.createGlobalSearchSession API für die Suche in allen Datenbanken im lokalen Speicher einer einzelnen Anwendung hinzu. (Id3c89)
  • API zum Zusammenführen von Dokumenten nach ID hinzugefügt (Iaecfa)
  • Die Unterstützung von Property-Gewichtungen zum Markieren bestimmter Eigenschaften ist bei Verwendung von RANKING_STRATEGY_RELEVANCE_SCORING wichtiger. (I069b9)
  • Fügen Sie „Person“ und ContactPoint hinzu, um den Personenkorpus in AppSearch abzufragen. (Ia58f9)
  • Neuer Dokumenttyp ImageObject hinzugefügt, der nach http://schema.org/ImageObject modelliert ist. (I6a0c0)
  • Fügen Sie einen VERBATIM-Tokenizer hinzu, der das Hinzufügen von Attributen ohne Interpretation durch AppSearch ermöglicht. (I47bc0)
  • RFC822_TOKENIZATION als Tokenizer-Typ hinzugefügt, der die Tokenisierung von E-Mail-Adressen ermöglicht. (I8a390)
  • Globale Suche in der Fehlerbehebungsansicht aktivieren. (I51fb2)

API-Änderungen

  • Entfernte Methoden, die ListenableFuture zurückgeben und kein asynchrones Suffix haben. (I0515f)
  • Bietet die Möglichkeit, Projektionen nach einer Document-Klasse zu konfigurieren. (I94576)
  • Felder von Thing bis Alarm, AlarmInstance, Timer, Stopwatch, StopwatchLap, ContactPoint und Person (Id876c) hinzufügen

Fehlerkorrekturen

  • Vollständige Unterstützung von Android 13-Funktionen in appsearch-platform-storage (Ia8e61)
  • Probleme beim Überschreiben von Schemanamen und privaten Feldern bei der Übernahme beheben

Version 1.1.0-alpha02

24. August 2022

androidx.appsearch:appsearch-*:1.1.0-alpha02 wird freigegeben. Version 1.1.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Der Optimize-Prozess wurde durch die Indexverdichtung beschleunigt, anstatt den Index von Grund auf neu zu erstellen.
  • Tag für natives Logging wurde von „icing“ zu „AppSearchIcing“ geändert; INFO-Nachrichten werden standardmäßig protokolliert

API-Änderungen

  • Fügt ein neues PropertyPath-Objekt zum Arbeiten mit Pfaden und neue addProjection-Methoden zum Akzeptieren von PropertyPath hinzu. (I45588)
  • builtin:Thing wurde den integrierten AppSearch-Typen hinzugefügt (I55427)
  • Leere Property-Namen in GenericDocument früher verhindern – zuvor wurden sie bei der Indexierung verhindert, jetzt werden sie um GenericDocument.Builder.build() verhindert (I9e780)

Fehlerkorrekturen

  • Unnötige Stringformatierung wurde entfernt, um die RELEVANCE-Bewertungsleistung zu verbessern
  • Effizientere Paginierung bei nicht lesbaren oder gelöschten Dokumenten
  • Automatische Speicherbereinigung für abgebrochene Abfragen implementiert
  • Die Unterstützung verschachtelter Indexierung für Dokumente wurde korrigiert. Zuvor wurde indexNestedProperties ignoriert. (Iae9a6)

Externer Beitrag

  • Shea Smith: Unterstützung für die verschachtelte Indexierung von Dokumenten korrigiert. (Iae9a6)

Version 1.1.0-alpha01

15. Juni 2022

androidx.appsearch:appsearch-*:1.1.0-alpha01 wird freigegeben. Version 1.1.0-alpha01 wurde in einem privaten Zweig für Vorabveröffentlichungen entwickelt und verfügt über keine öffentlichen Commits.

API-Änderungen

  • Alle Methoden, die ListenableFuture zurückgeben, wurden in das asynchrone Suffix umbenannt. getSchema wurde beispielsweise in getSchemaAsync umbenannt. Die vorherigen Versionen wurden eingestellt und werden in einem zukünftigen Release entfernt.

Neue Funktionen

  • Erste Version der integrierten AppSearch-Typen Dieses Projekt enthält einige integrierte Typen, die auf schema.org basieren und die für Clients möglicherweise bequem zu verwenden sind, anstatt eigene Typen für allgemeine Objekte zu definieren. In zukünftigen Versionen werden weitere Typen hinzugefügt.
  • Möglichkeit zur Verwendung von ShortcutAdapter zum Konvertieren eines AppSearch-Dokuments in ein ShortcutInfoCompat. Dadurch haben Kunden die Möglichkeit, AppSearch Dokumente über die Bibliothek „Google-Verknüpfungen“ für Google freizugeben
  • Möglichkeit, die Übernahme mit @Document-Klassen zu verwenden. Felder können nicht ersetzt oder geändert werden, aber Sie können neue Felder hinzufügen, indem Sie eine mit @Document annotierte Klasse erweitern.
  • Neue Observer API, mit der sich Clients für Benachrichtigungen registrieren können, wenn sich Typen geändert 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 ausgeführt wird. Derzeit gibt es keine Möglichkeit, Änderungen zu prüfen, die aufgetreten sind, als Ihre App angehalten wurde. Daher sollten Sie sich hinsichtlich der Vollständigkeit 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.
  • Globales getById und globale getSchema API zum Abrufen von Dokumenten und Schemas aus anderen Apps, die Ihnen Sichtbarkeit gewährt haben.
  • Für Daten, auf die Sie Zugriff haben, können Sie in getSchema Sichtbarkeitsinformationen abrufen
  • Sichtbarkeit für Apps mit einer bestimmten Android-Berechtigung gewähren (beschränkt auf eine begrenzte Anzahl von Berechtigungen auf der Zulassungsliste)
  • Unterstützung von Gettern im isFoo()-Stil für boolesche Felder im Annotationsprozessor zusätzlich zum zuvor unterstützten hasFoo()-Stil
  • Unterstützung neuer Funktionen, die hinter @RequiresFeature geschützt sind. Verwenden Sie AppSearchSession#getFeatures, um festzustellen, was das aktuelle Back-End unterstützt.
  • Entfernen Sie die Beschränkung von ca. 13.000 Tokens für einzelne Dokumente
  • Abgleich von nicht-ASCII- und nicht alphanumerischen Zeichen, z. B. Emojis, zulassen

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, bei dem SetSchema beim Überschreiben eines verschachtelten inkompatiblen Typs fehlgeschlagen ist.
  • Korrekturen zur vollständigen Unterstützung von @AutoValue-annotierten Klassen als AppSearch-@Document-Klassen
  • Fehlerkorrekturen für einige Abstürze im Zusammenhang mit wiederholten Listen von Dokumentklassen und andere Probleme
  • Behebung eines Fehlers, der unter bestimmten Umständen zum Absturz der Präfixsuche führte
  • Kleinere Fehler in GetStorageInfo behoben, der bei E/A-Fehlern falsche Werte zurückgibt
  • BUSADDERR Probleme beim Lesen eines Dokuments beheben
  • Logcat-Beschädigung durch das Drucken eines unformatierten Fingerabdrucks beheben
  • Durch E/A-Fehler verursachte NPE beheben
  • Speicherleck in GetSchemaType, Get, Delete, DeleteByNamespace und DeleteBySchemaType beheben

Version 1.0.0

Version 1.0.0-alpha04

3. November 2021

androidx.appsearch:appsearch-*:1.0.0-alpha04 wird freigegeben. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Guava ListenableFuture-Abhängigkeit wird automatisch als API-Abhängigkeit eingeführt

API-Änderungen

  • Fügen Sie SearchResult#getSubmatchRange() und SearchResult#getSubmatch() hinzu, um weitere Informationen über jede Übereinstimmung bereitzustellen. (I2fef6)
  • Die Dokumentation zum Generieren von PackageIdentifier-Fingerabdrücken für die Weitergabe von Daten nach Paketname und Zertifikat wurde klarer formuliert.

Fehlerkorrekturen

  • Behebung eines Absturzes, wenn der Nutzer versucht, Ergebnisseiten nach dem Ende des Ergebnissatzes 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 "remove by query filterLo" angegeben wurden
  • Problem behoben, bei dem Dokumentdaten bei sehr großen Dokumenten nach einem bestimmten Zeitpunkt nicht mehr indexiert wurden
  • Problem behoben, bei dem bei der Tokenisierung Segmente mit numerischen Zeichen gelöscht wurden, die keine ASCII-Zeichen sind
  • Prüfung auf aufeinanderfolgende fehlgeschlagene Initialisierungsversuche hinzufügen, um einen potenziellen fehlerhaften Zustand zu beseitigen, der eine erfolgreiche Initialisierung verhindert.

Version 1.0.0-alpha03

21. Juli 2021

androidx.appsearch:appsearch-*:1.0.0-alpha03 wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Release 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 Annotationsprozessor für AutoValue
  • Maximale Größenbeschränkung einer Einzelstring-Property wurde entfernt
  • Neues Speicherformat zur Reduzierung der Initialisierungslatenz
  • Eine einmalige interne Datenmigration vom alten Speicherformat zum neuen Speicherformat

Fehlerkorrekturen

  • Die maximale Anzahl von Dokumenten wird beim Einfügen neuer Dokumente korrekt erzwungen.
  • Absturz beim Erstellen einer AppSearchSession wurde behoben.
  • Es wurden Fehler in SetSchema behoben, bei denen einige Fälle von Abwärts- und Indexinkompatibilität nicht erkannt wurden.

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 wurden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Vollständige Unterstützung der Sprachen Chinesisch/Japanisch/Koreanisch/Thai
  • Größe von androidx.appsearch:appsearch-local-storage reduziert
  • Entfernung der Größenbeschränkung für wiederholte Eigenschaften
  • Wiederverwendung von Builder-Klassen zulassen
  • Verbesserungen bei toString() bestimmter Objekte zur einfacheren Fehlerbehebung
  • Verbesserungen der Javadoc-Dokumentation

API-Änderungen

  • SearchResult#getMatches umbenannt in SearchResult#getMatchInfos
  • @Document.Int64Property umbenannt in @Document.LongProperty

Fehlerkorrekturen

  • Verbesserungen und Fehlerbehebungen bei der Berechnung von Ergebnis-Snippets
  • Fehlerkorrekturen bei der AppSearchSession-Initialisierung

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 wurden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

AppSearch ist eine Suchbibliothek zur Verwaltung lokal gespeicherter strukturierter Daten mit APIs für die Indexierung von Daten und das Abrufen von Daten über die Volltextsuche. Sie können damit benutzerdefinierte In-App-Suchfunktionen für Ihre Nutzer erstellen. Dieser erste Release ist 1.0.0-alpha01.