AppSearchManager クラス

定義

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

[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
継承
AppSearchManager
属性

注釈

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

AppSearch は、以下を特徴とする構造化データを管理するためのオフラインのオンデバイス検索ライブラリです。

<ul><li>API を使用して、フルテキスト検索を使用してデータのインデックスを作成および取得します。 <li>アプリケーションがデータの読み取りアクセス許可を他のアプリケーションに明示的に付与するための API。 <b>See: SetSchemaRequest.Builder#setSchemaTypeVisibilityForPackage</b><li>システム指定グローバル クエリによってシステム UI サーフェイスにデータを表示することをオプトインまたはオプトアウトするためのアプリケーション用 API。 <b>See: SetSchemaRequest.Builder#setSchemaTypeDisplayedBySystem</b></ul>

アプリケーションは、 AppSearchSessionを開いてデータベースを作成します。

例:

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();
            });

セッションを開いた後、データの組織構造を定義するためにスキーマを設定する必要があります。 スキーマは、 AppSearchSession#setSchemaを呼び出すことによって設定されます。 スキーマは AppSearchSchema オブジェクトのコレクションで構成され、それぞれが一意のデータ型を定義します。

例:

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.
                 }
            });

AppSearch のデータの基本単位は、ID、名前空間、有効期間、スコア、およびプロパティを含む GenericDocument オブジェクトとして表されます。 名前空間は、ドキュメントの論理グループを整理します。 たとえば、アカウントごとにドキュメントをグループ化する名前空間を作成できます。 ID は、名前空間内の 1 つのドキュメントを識別します。 名前空間と ID の組み合わせは、データベース内の GenericDocument を一意に識別します。

スキーマが設定されたら、 GenericDocument オブジェクトをデータベースに格納し、 AppSearchSession#putを呼び出してインデックスを作成できます。

例:

// 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.
                 }
            });

データベース内で検索を行うには、 AppSearchSession#search を呼び出し、検索するクエリ文字列と SearchSpecを指定します。

または、 AppSearchSession#getByDocumentId を呼び出して、名前空間と ID でドキュメントを取得することもできます。

ドキュメントの削除は、有効期限が切れるか、明示的に削除操作を呼び出すことによって行われます。 削除操作は、 AppSearchSession#remove(RemoveByDocumentIdRequest, Executor, BatchResultCallback)経由の名前空間と ID、または AppSearchSession#remove(String, SearchSpec, Executor, Consumer) を使用したクエリによって実行できます。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
AppSearchManager(IntPtr, JniHandleOwnership)

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
JniPeerMembers

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

ThresholdType

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

メソッド

名前 説明
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
CreateEnterpriseGlobalSearchSession(IExecutor, IConsumer)

新しいファイルを作成します。 EnterpriseGlobalSearchSession

CreateGlobalSearchSession(IExecutor, IConsumer)

新しい GlobalSearchSessionを作成します。

CreateSearchSession(AppSearchManager+SearchContext, IExecutor, IConsumer)

新しい AppSearchSessionを作成します。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
Equals(Object)

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
IJavaPeerable.Finalized()

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

システムによって管理される一元化された AppSearch インデックスへのアクセスを提供します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象