Wyszukiwanie aplikacji

AppSearch to biblioteka wyszukiwania na urządzeniu do zarządzania lokalnie przechowywanych danych strukturalnych z interfejsami API do indeksowania i pobierania danych wyszukiwanie pełnotekstowe. Pozwala na tworzenie niestandardowych funkcji wyszukiwania w aplikacji użytkowników.
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
4 września 2024 r. - - - 1.1.0-alfa05

Deklarowanie zależności

Aby dodać zależność w AppSearch, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .

Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle aplikacji lub modułu:

Odlotowe

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")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.

Tworzenie nowego numeru

Zobacz dokumentację narzędzia Issue Tracker. .

Wersja 1.1

Wersja 1.1.0-alpha05

4 września 2024 r.

Usługa androidx.appsearch:appsearch-*:1.1.0-alpha05 została zwolniona. Wersja 1.1.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Wycofuje niepotrzebne setEmbeddingSearchEnabled i getEmbeddingSearchEnabled. Usuwa setListFilterTokenizeFunctionEnabled i getListFilterTokenizeFunctionEnabled. Usunięto „tokenize” zapytania. Zastąpiono funkcją zapytania getSearchStringParameter i funkcją addSearchStringParameter. (I09f5a)
  • Zmień nazwę Alarm#getComputingDevice na getOriginatingDevice. (I63121)

Wersja 1.1.0-alfa04

7 sierpnia 2024 r.

Usługa androidx.appsearch:appsearch-*:1.1.0-alpha04 została zwolniona. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa nowej implementacji PlayServicesStorage, która umożliwia korzystanie z programu AppSearch na starszych urządzeniach bez generowania znacznego kosztu pakietu APK, który wynosi LocalStorage. Przechowywanie danych polega na przechowywaniu danych aplikacji w aplikacji Usługi Google Play.
  • Obsługa nowych interfejsów API na urządzeniach z Androidem 15.
  • Obsługa wyszukiwania bazy danych za pomocą wektorów dystrybucyjnych, co umożliwia dopasowanie przybliżone. (I2b41b)
  • Obsługuj typy nadrzędne i polimorfizm w modelu schematu AppSearch. (I06118).
  • Obsługuj interfejs API TakenAction, który umożliwia aplikacjom zgłaszanie, kiedy wyniki zostały kliknięte lub porzucone, aby polepszyć jakość wyników podczas kolejnych wyszukiwań. (I54091)
  • Obsługuj klasy z konstruktorami w procesorze adnotacji przez wprowadzenie nowej adnotacji @Document.BuilderProducer. (Iec30a).
  • Umożliwia bardziej szczegółową kontrolę nad tym, które właściwości zagnieżdżonego dokumentu są indeksowane. (Iec30a).
  • Obsługa filtrowania wyszukiwań według określonych właściwości dokumentu. (IB2659)
  • Aby ustawić bardziej szczegółowe ustawienia widoczności, włącz operator LUB oraz I. (I0274B)
  • Obsługa zapewniania widoczności danych wszystkim aplikacjom, które mogą sprawdzić istnienie aplikacji będącej ich właścicielem (widoczność publiczna). (I992e4).
  • Obsługa pobierania tylko tych wyników, które zawierają dane w określonej usłudze. (I7d94f)
  • Obsługa pobierania kontaktów firmowych z profilu osobistego. (IdD587).

Zmiany interfejsu API

  • Dodaj parametry adnotacji indexableNestedPropertiesList i inheritIndexableNestedPropertiesFromSuperclass do adnotacji Document.DocumentProperty w AppSearch, aby umożliwić indeksowanie określonych ścieżek właściwości zagnieżdżonych. (Iec30a).
  • Konstruktor kreatora pomocy do tworzenia instancji kreatora w procesorze adnotacji AppSearch (I265c9)
  • Zaktualizuj procesor adnotacji AppSearch, aby obsługiwał ustawianie typów nadrzędnych polimorfizmu (I06118)
  • Dodaje metodę GetSchemaRequest do czyszczenia ustawień widoczności (I38379)
  • Wesprzyj addParentType w AppSearch for polimorphism (Ida14a)
  • Dodaj interfejsy API dla dodatkowych wyrażeń rankingowych (I5d9f4)
  • Dodaj interfejs API SearchAction (I54091)
  • Dodaje pole opisu dla typów AppSearch (I84762)
  • Rejestrowanie interfejsów API zapytań i rankingu w zakresie dodawania do AppSearch (I0f6c3)
  • Usuwa getDeletionPropagation (I21192)

Wersja 1.1.0-alfa03

24 maja 2023 r.

Usługa androidx.appsearch:appsearch-*:1.1.0-alpha03 została zwolniona. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa zaawansowanego interfejsu API zapytań, zaawansowanego punktowania API i wyszukiwania liczbowego. (I02d48)
  • Dodaje interfejs API LocalStorage.createGlobalSearchSession umożliwiający przeszukiwanie wszystkich baz danych w pamięci lokalnej danej aplikacji. (Id3c89).
  • Dodano interfejs API do łączenia dokumentów według identyfikatora (Iaecfa).
  • Obsługa wag właściwości w celu oznaczenia niektórych właściwości jest ważniejsze, gdy używasz RANKING_STRATEGY_RELEVANCE_SCORING. (I069b9)
  • Dodaj osoby i ContactPoint w celu wysyłania zapytań dotyczących korpusu osoby w AppSearch. (Ia58f9).
  • Dodano nowy typ dokumentu ImageObject modelowany na podstawie http://schema.org/ImageObject. (I6a0c0).
  • Dodaj tokenizer VERBATIM, który umożliwia dodawanie właściwości bez interpretacji przez AppSearch. (I47bc0)
  • Dodano RFC822_TOKENIZATION jako typ tokenizacji, co umożliwia tokenizację adresów e-mail. (I8a390)
  • Włącz wyszukiwanie globalne w widoku debugowania. (I51fb2)

Zmiany interfejsu API

  • Usunięto metody, które zwracają wartość ListenableFuture i nie mają sufiksu asynchronicznego. (I0515f)
  • Dodaje możliwość konfigurowania prognoz za pomocą klasy Document. (I94576)
  • Dodaj pola od Thing do Alarm, AlarmInstance, Timer, Stopwatch, StopwatchLap, ContactPoint i Person (Id876c)

Poprawki błędów

  • Pełna obsługa funkcji Androida 13 w usłudze appsearch-platform-storage (Ia8e61)
  • Rozwiąż problemy z zastępowaniem nazw schematów i pól prywatnych podczas korzystania z dziedziczenia.

Wersja 1.1.0-alfa02

24 sierpnia 2022 r.

Usługa androidx.appsearch:appsearch-*:1.1.0-alpha02 została zwolniona. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Przyspieszono proces Optimize za pomocą kompresowania indeksu zamiast odbudowywania indeksu od zera
  • Zmieniono tag logowania natywnego z „icing” do „AppSearchIcing”, domyślnie rejestruj komunikaty INFO

Zmiany interfejsu API

  • Dodaje nowy obiekt PropertyPath do pracy ze ścieżkami oraz nowe metody addProjection, aby akceptować PropertyPath. (I45588)
  • Dodano builtin:Thing do AppSearch typów wbudowanych (I55427)
  • Szybciej zapobiegaj pustym nazwom właściwości w usłudze GenericDocument – wcześniej były one blokowane podczas indeksowania, a teraz są blokowane o GenericDocument.Builder.build() czasie (I9e780)

Poprawki błędów

  • Usunięto zbędne formatowanie ciągów znaków, aby poprawić wyniki punktacji RELEVANCE
  • Bardziej wydajny podział na strony podczas spotkania z nieczytelnymi lub usuniętymi dokumentami
  • Implementacja czyszczenia pamięci dla porzuconych zapytań
  • Napraw obsługę zagnieżdżonego indeksowania w Dokumentach. Wcześniej był ignorowany. (IAE9a6).

Treści tłumaczone przez użytkowników zewnętrznych

  • Shea Smith: napraw obsługę zagnieżdżonego indeksowania dokumentów. (IAE9a6).

Wersja 1.1.0-alpha01

15 czerwca 2022 r.

Usługa androidx.appsearch:appsearch-*:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alfa01 została opracowana w prywatnej gałęzi przedpremierowej i nie ma żadnych zatwierdzeń publicznych.

Zmiany interfejsu API

  • Nazwy wszystkich metod zwracających wartość ListenableFuture zostały zmienione tak, aby miały sufiks asynchroniczny. Na przykład nazwa getSchema została zmieniona na getSchemaAsync. Poprzednie wersje zostały wycofane i zostaną usunięte w przyszłej wersji.

Nowe funkcje

  • Pierwsza wersja wbudowanych typów usług appsearch. Ten projekt zawiera kilka wbudowanych typów opartych na schema.org, które dla klientów mogą być wygodne w użyciu zamiast definiowania własnych typów dla popularnych obiektów. W kolejnych wersjach dodamy więcej typów.
  • Możliwość użycia narzędzia ShortcutAdapter do konwertowania dokumentu AppSearch na format ShortcutInfoCompat. Dzięki temu klienci mogą udostępniać Google dokumenty w usłudze AppSearch za pomocą biblioteki Core-google-shortcuts
  • Możliwość używania dziedziczenia z klasami @Document. Pola nie można zastępować ani modyfikować, ale można dodawać nowe pola przez rozszerzenie klasy oznaczonej adnotacją @Document.
  • Nowy interfejs Observer API, który umożliwia klientom rejestrowanie powiadomień, gdy typy dokumentów, do których mają dostęp, uległy zmianie lub gdy dokumenty tych typów zostały dodane, zmodyfikowane albo usunięte. WAŻNE: bieżąca implementacja wyświetla powiadomienia tylko wtedy, gdy aplikacja jest uruchomiona. Obecnie nie można sprawdzić zmian, które nastąpiły, gdy aplikacja była zatrzymana. W związku z tym nie należy polegać na tym interfejsie API w pełni.
  • Interfejs API parsera usług, który umożliwia pełną obsługę i sprawdzanie ścieżek właściwości zwracanych przez funkcję MatchInfo#getPropertyPath.
  • Globalny getById i globalny interfejs API getSchema do pobierania dokumentów i schematów z innych aplikacji, które przyznały Ci widoczność.
  • Możliwość pobierania informacji o widoczności w usłudze getSchema w przypadku danych, do których masz dostęp
  • Możliwość przyznawania widoczności aplikacjom z określonymi uprawnieniami Androida (ograniczonymi do wąskiego zestawu uprawnień z listy dozwolonych).
  • Obsługa pobierania w stylu isFoo() dla pól wartości logicznych w procesorze adnotacji oprócz poprzedniego obsługiwanego stylu hasFoo()
  • Obsługa nowych funkcji jest dostępna tylko w @RequiresFeature. Użyj metody AppSearchSession#getFeatures, aby określić funkcje obsługiwane przez bieżący backend.
  • usunąć limit ok. 13 tys. tokenów w pojedynczych dokumentach,
  • Zezwalaj na dopasowanie do znaków spoza zestawu ASCII+, np. emotikonów

Poprawki błędów

  • Napraw błąd, który powodował nieprawidłowe działanie parametru SetSchema przy zastępowaniu zagnieżdżonego niezgodnego typu.
  • Poprawki, aby w pełni obsługiwać klasy z adnotacjami @AutoValue używane jako klasy AppSearch @Document
  • Poprawki niektórych awarii związanych z powtarzającymi się listami klas dokumentów i innymi problemami
  • Poprawka błędu, który w pewnych okolicznościach ulegał awarii wyszukiwania prefiksu
  • Naprawianie drobnego błędu w GetStorageInfo, który zwracał nieprawidłowe wartości w przypadku błędów zamówienia reklamowego
  • Rozwiązywanie problemów z czytaniem dokumentu (BUSADDERR)
  • Naprawianie uszkodzenia logcat przez drukowanie niesformatowanego odcisku palca
  • Napraw NPE wywołane przez błędy wejścia-wyjścia
  • Napraw wyciek pamięci w: GetSchemaType, Get, Delete, DeleteByNamespace i DeleteBySchemaType

Wersja 1.0.0

Wersja 1.0.0-alpha04

3 listopada 2021 r.

Usługa androidx.appsearch:appsearch-*:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • Zależność Guava ListenableFuture automatycznie wprowadzona jako zależność interfejsu API

Zmiany interfejsu API

  • Aby uzyskać więcej informacji o każdym dopasowaniu, dodaj wynik SearchResult#getSubmatchRange() i SearchResult#getSubmatch(). (I2fef6)
  • Doprecyzowanie dokumentacji dotyczącej generowania odcisków cyfrowych identyfikatora PackageIdentifier na potrzeby udostępniania danych według nazwy pakietu i certyfikatu

Poprawki błędów

  • Naprawianie błędu, który pojawia się, gdy użytkownik próbuje pobrać strony z wynikami po zakończeniu zestawu wyników
  • Rozwiązanie problemu ze wszystkimi przestrzeniami nazw, których dotyczy zapytanie, jeśli jako filtry zapytań podano tylko nieprawidłowe przestrzenie nazw
  • Rozwiązanie problemu polegającego na usuwaniu wszystkich przestrzeni nazw, w przypadku których jako filtry usuwania według zapytania zostały podane tylko nieprawidłowe przestrzenie nazw
  • Rozwiązanie problemu polegającego na tym, że w przypadku bardzo dużych dokumentów po pewnym czasie dane dokumentów przestały być indeksowane
  • Rozwiązanie problemu, który powodował, że tokenizacja pomijała segmenty ze znakami liczbowymi innymi niż ASCII
  • Dodaj kontrolę kolejnych nieudanych prób inicjowania, aby ułatwić wyjście z potencjalnie niewłaściwego stanu, który uniemożliwia udaną inicjalizację.

Wersja 1.0.0-alpha03

21 lipca 2021 r.

Usługa androidx.appsearch:appsearch-*:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • Wersja backendu usługi Platform Storage Backend, która umożliwia klientom korzystanie z interfejsu AppSearch API z nową usługą android.app.appsearch.AppSearchManager uruchamianą w Androidzie S. Więcej informacji znajdziesz w przewodniku dla programistów AppSearch.
  • Obsługa procesora adnotacji na potrzeby wartości automatycznej
  • Usunięcie limitu maksymalnego rozmiaru pojedynczej właściwości ciągu
  • Nowy format pamięci masowej, aby skrócić czas oczekiwania na inicjalizację
  • Jednorazowa wewnętrzna migracja danych ze starego formatu pamięci masowej do nowego

Poprawki błędów

  • Prawidłowo egzekwuje limit maksymalnej liczby dokumentów podczas wstawiania nowych dokumentów
  • Usunięto awarię, która wystąpiła podczas tworzenia sesji AppSearchSession
  • Naprawiliśmy błędy w SetSchema, które nie wykrywały niektórych przypadków niekompatybilności wstecznej i niezgodności indeksu.

Wersja 1.0.0-alpha02

30 czerwca 2021 r.

androidx.appsearch:appsearch:1.0.0-alpha02, androidx.appsearch:appsearch-compiler:1.0.0-alpha02 i androidx.appsearch:appsearch-local-storage:1.0.0-alpha02 zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Pełna obsługa języków chińskiego, japońskiego, koreańskiego i tajskiego
  • Zmniejszono rozmiar: androidx.appsearch:appsearch-local-storage
  • Usunięcie limitu maksymalnego rozmiaru powtarzających się właściwości
  • Zezwalaj na ponowne używanie klas konstruktora
  • Ulepszenia toString() niektórych obiektów w celu ułatwienia debugowania
  • Ulepszenia dokumentacji Javadoc

Zmiany interfejsu API

  • Zmieniono nazwę z SearchResult#getMatches na SearchResult#getMatchInfos
  • Zmieniono nazwę z @Document.Int64Property na @Document.LongProperty

Poprawki błędów

  • Ulepszenia i poprawki w obliczaniu fragmentów wyników
  • Poprawki błędów podczas inicjowania AppSearchSession

Wersja 1.0.0-alpha01

5 maja 2021 roku

androidx.appsearch:appsearch:1.0.0-alpha01, androidx.appsearch:appsearch-compiler:1.0.0-alpha01 i androidx.appsearch:appsearch-local-storage:1.0.0-alpha01 zostały udostępnione. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

AppSearch to biblioteka wyszukiwania do zarządzania lokalnie przechowywanymi uporządkowanymi danymi oraz interfejsami API do indeksowania danych i pobierania danych przy użyciu wyszukiwania pełnotekstowego. Wykorzystaj je, aby tworzyć dla użytkowników niestandardowe funkcje wyszukiwania w aplikacji. Ta początkowa wersja to 1.0.0-alpha01.