EnterpriseGlobalSearchSession
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.ENTERPRISE_GLOBAL_SEARCH_SESSION)
interface EnterpriseGlobalSearchSession
Provides a connection to all enterprise (work profile) AppSearch databases the querying application has been granted access to.
This session can be created from any user profile but will only properly return results when created from the main profile. If the user is not the main profile or an associated work profile does not exist, queries will still successfully complete but with empty results.
Schemas must be explicitly tagged enterprise and may require additional permissions to be visible from an enterprise session. Retrieved documents may also have certain fields restricted or modified unlike if they were retrieved directly from GlobalSearchSession on the work profile.
All implementations of this interface must be thread safe.
| See also | |
|---|---|
GlobalSearchSession |
Summary
Public functions |
|
|---|---|
ListenableFuture<AppSearchBatchResult<String!, GenericDocument!>!> |
getByDocumentIdAsync(Retrieves |
Features |
Returns the |
ListenableFuture<GetSchemaResponse!> |
getSchemaAsync(packageName: String, databaseName: String)Retrieves the collection of schemas most recently successfully provided to |
SearchResults |
search(queryExpression: String, searchSpec: SearchSpec)Retrieves documents from all enterprise (work profile) AppSearch databases that the querying application has access to. |
Public functions
getByDocumentIdAsync
fun getByDocumentIdAsync(
packageName: String,
databaseName: String,
request: GetByDocumentIdRequest
): ListenableFuture<AppSearchBatchResult<String!, GenericDocument!>!>
Retrieves GenericDocument documents, belonging to the specified package name and database name and identified by the namespace and ids in the request, from the EnterpriseGlobalSearchSession database. When a call is successful, the result will be returned in the successes section of the AppSearchBatchResult object in the callback. If the package doesn't exist, database doesn't exist, or if the calling package doesn't have access, these failures will be reflected as AppSearchResult objects with a RESULT_NOT_FOUND status code in the failures section of the AppSearchBatchResult object.
| Parameters | |
|---|---|
packageName: String |
the name of the package to get from |
databaseName: String |
the name of the database to get from |
request: GetByDocumentIdRequest |
a request containing a namespace and IDs of the documents to retrieve. |
getFeatures
fun getFeatures(): Features
Returns the Features to check for the availability of certain features for this session.
getSchemaAsync
fun getSchemaAsync(packageName: String, databaseName: String): ListenableFuture<GetSchemaResponse!>
Retrieves the collection of schemas most recently successfully provided to setSchemaAsync for any types belonging to the requested package and database that the caller has been granted access to.
If the requested package/database combination does not exist or the caller has not been granted access to it, then an empty GetSchemaResponse will be returned.
| Parameters | |
|---|---|
packageName: String |
the package that owns the requested |
databaseName: String |
the database that owns the requested |
| Returns | |
|---|---|
ListenableFuture<GetSchemaResponse!> |
The pending |
search
fun search(queryExpression: String, searchSpec: SearchSpec): SearchResults
Retrieves documents from all enterprise (work profile) AppSearch databases that the querying application has access to.
Applications can be granted access to documents by specifying setSchemaTypeVisibilityForPackage, or setDocumentClassVisibilityForPackage when building a schema.
Document access can also be granted to system UIs by specifying setSchemaTypeDisplayedBySystem, or setDocumentClassDisplayedBySystem when building a schema.
See search for a detailed explanation on forming a query string.
This method is lightweight. The heavy work will be done in getNextPageAsync.
| Parameters | |
|---|---|
queryExpression: String |
query string to search. |
searchSpec: SearchSpec |
spec for setting document filters, adding projection, setting term match type, etc. |
| Returns | |
|---|---|
SearchResults |
a |