Sprache

AppSearchManager Klasse

Definition

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

[Android.Runtime.Register("android/app/appsearch/AppSearchManager", ApiSince=31, DoNotGenerateAcw=true)]
public class AppSearchManager : Java.Lang.Object
[<Android.Runtime.Register("android/app/appsearch/AppSearchManager", ApiSince=31, DoNotGenerateAcw=true)>]
type AppSearchManager = class
    inherit Object
Vererbung
AppSearchManager
Attribute

Hinweise

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

AppSearch ist eine Offline-, Gerätesuchbibliothek zum Verwalten strukturierter Daten mit:

<ul><li>APIs zum Indizieren und Abrufen von Daten über die Volltextsuche. <li>Eine API für Anwendungen, die explizit Lesezugriffsberechtigungen für ihre Daten für andere Anwendungen erteilen. <b>Siehe: SetSchemaRequest.Builder#setSchemaTypeVisibilityForPackage</b><li>Eine API für Anwendungen, die ihre Daten auf System-UI-Oberflächen von der vom System festgelegten globalen Querier angezeigt oder nicht angezeigt werden sollen. <b>Siehe: SetSchemaRequest.Builder#setSchemaTypeDisplayedBySystem</b></ul>

Anwendungen erstellen eine Datenbank durch Öffnen einer AppSearchSession.

Beispiel:

AppSearchManager appSearchManager = context.getSystemService(AppSearchManager.class);

            AppSearchManager.SearchContext searchContext = new AppSearchManager.SearchContext.Builder().
               setDatabaseName(dbName).build());
            appSearchManager.createSearchSession(searchContext, mExecutor, appSearchSessionResult -&gt; {
                 mAppSearchSession = appSearchSessionResult.getResultValue();
            });

Nach dem Öffnen der Sitzung muss ein Schema festgelegt werden, um die Organisationsstruktur der Daten zu definieren. Das Schema wird durch Aufrufen AppSearchSession#setSchemafestgelegt. Das Schema besteht aus einer Auflistung von AppSearchSchema Objekten, die jeweils einen eindeutigen Datentyp definieren.

Beispiel:

AppSearchSchema emailSchemaType = new AppSearchSchema.Builder("Email")
                .addProperty(new StringPropertyConfig.Builder("subject")
                   .setCardinality(PropertyConfig.CARDINALITY_OPTIONAL)
                   .setIndexingType(PropertyConfig.INDEXING_TYPE_PREFIXES)
                   .setTokenizerType(PropertyConfig.TOKENIZER_TYPE_PLAIN)
               .build()
            ).build();

            SetSchemaRequest request = new SetSchemaRequest.Builder().addSchema(emailSchemaType).build();
            mAppSearchSession.set(request, mExecutor, appSearchResult -&gt; {
                 if (appSearchResult.isSuccess()) {
                      // Schema has been successfully set.
                 }
            });

Die Grundlegende Dateneinheit in AppSearch wird als GenericDocument Objekt dargestellt, das eine ID, einen Namespace, eine Zeit-zu-Live-Bewertung und -Eigenschaften enthält. Ein Namespace organisiert eine logische Gruppe von Dokumenten. Beispielsweise kann ein Namespace erstellt werden, um Dokumente pro Konto zu gruppieren. Eine ID identifiziert ein einzelnes Dokument in einem Namespace. Die Kombination aus Namespace und ID identifiziert eine GenericDocument in der Datenbank eindeutig.

Nachdem das Schema festgelegt wurde, GenericDocument können Objekte in die Datenbank eingefügt und durch Aufrufen AppSearchSession#putindiziert werden.

Beispiel:

// Although for this example we use GenericDocument directly, we recommend extending
            // GenericDocument to create specific types (i.e. Email) with specific setters/getters.
            GenericDocument email = new GenericDocument.Builder<>(NAMESPACE, ID, EMAIL_SCHEMA_TYPE)
                .setPropertyString(“subject”, EMAIL_SUBJECT)
                .setScore(EMAIL_SCORE)
                .build();

            PutDocumentsRequest request = new PutDocumentsRequest.Builder().addGenericDocuments(email)
                .build();
            mAppSearchSession.put(request, mExecutor, appSearchBatchResult -&gt; {
                 if (appSearchBatchResult.isSuccess()) {
                      // All documents have been successfully indexed.
                 }
            });

Die Suche innerhalb der Datenbank erfolgt durch Aufrufen AppSearchSession#search und Bereitstellen der abfragezeichenfolge, nach der gesucht werden soll, sowie einer SearchSpec.

AppSearchSession#getByDocumentId Alternativ können Dokumente nach Namespace und ID abgerufen werden.

Das Entfernen von Dokumenten erfolgt entweder nach Ablaufzeit oder explizitem Aufrufen eines Entfernungsvorgangs. Entfernte Vorgänge können durch Namespace und ID über AppSearchSession#remove(RemoveByDocumentIdRequest, Executor, BatchResultCallback)oder durch Abfrage erfolgen AppSearchSession#remove(String, SearchSpec, Executor, Consumer).

Java Dokumentation für android.app.appsearch.AppSearchManager.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
AppSearchManager(IntPtr, JniHandleOwnership)

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

Eigenschaften

Name Beschreibung
Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
JniPeerMembers

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Object)
ThresholdClass

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

ThresholdType

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

Methoden

Name Beschreibung
Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
CreateEnterpriseGlobalSearchSession(IExecutor, IConsumer)

Erstellt eine neue EnterpriseGlobalSearchSession

CreateGlobalSearchSession(IExecutor, IConsumer)

Erstellt ein neues GlobalSearchSession.

CreateSearchSession(AppSearchManager+SearchContext, IExecutor, IConsumer)

Erstellt ein neues AppSearchSession.

Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
DisposeUnlessReferenced()

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
Equals(Object)

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
JavaFinalize()
Veraltet.

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

(Geerbt von JavaObject)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Bietet Zugriff auf den zentralisierten AppSearch-Index, der vom System verwaltet wird.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: