PutDocumentsRequest.Builder

public static final class PutDocumentsRequest.Builder
extends Object

java.lang.Object
   ↳ android.app.appsearch.PutDocumentsRequest.Builder


Builder for PutDocumentsRequest objects.

Summary

Public constructors

Builder()

Public methods

PutDocumentsRequest.Builder addGenericDocuments(GenericDocument... documents)

Adds one or more GenericDocument objects to the request.

PutDocumentsRequest.Builder addGenericDocuments(Collection<? extends GenericDocument> documents)

Adds a collection of GenericDocument objects to the request.

PutDocumentsRequest.Builder addTakenActionGenericDocuments(Collection<? extends GenericDocument> takenActionGenericDocuments)

Adds a collection of GenericDocument objects containing taken action metrics to the request.

PutDocumentsRequest.Builder addTakenActionGenericDocuments(GenericDocument... takenActionGenericDocuments)

Adds one or more GenericDocument objects containing taken action metrics to the request.

PutDocumentsRequest build()

Creates a new PutDocumentsRequest object.

Inherited methods

Public constructors

Builder

Added in API level 31
public Builder ()

Public methods

addGenericDocuments

Added in API level 31
public PutDocumentsRequest.Builder addGenericDocuments (GenericDocument... documents)

Adds one or more GenericDocument objects to the request.

Parameters
documents GenericDocument: This value cannot be null.

Returns
PutDocumentsRequest.Builder This value cannot be null.

addGenericDocuments

Added in API level 31
public PutDocumentsRequest.Builder addGenericDocuments (Collection<? extends GenericDocument> documents)

Adds a collection of GenericDocument objects to the request.

Parameters
documents Collection: This value cannot be null.

Returns
PutDocumentsRequest.Builder This value cannot be null.

addTakenActionGenericDocuments

public PutDocumentsRequest.Builder addTakenActionGenericDocuments (Collection<? extends GenericDocument> takenActionGenericDocuments)

Adds a collection of GenericDocument objects containing taken action metrics to the request.

Parameters
takenActionGenericDocuments Collection: a collection of GenericDocument objects containing taken action metric fields. This value cannot be null.

Returns
PutDocumentsRequest.Builder This value cannot be null.

Throws
AppSearchException

addTakenActionGenericDocuments

public PutDocumentsRequest.Builder addTakenActionGenericDocuments (GenericDocument... takenActionGenericDocuments)

Adds one or more GenericDocument objects containing taken action metrics to the request.

Metrics to be collected by AppSearch:

  • name: STRING, the name of the taken action.

    Name is an optional custom field that allows the client to tag and categorize taken action GenericDocument.

  • referencedQualifiedId: STRING, the qualified id of the SearchResult document that the user takes action on.

    A qualified id is a string generated by package, database, namespace, and document id. See DocumentIdUtil.createQualifiedId(String, String, GenericDocument) for more details.

  • previousQueries: REPEATED STRING, the list of all previous user-entered search inputs, without any operators or rewriting, collected during this search session in chronological order.
  • finalQuery: STRING, the final user-entered search input (without any operators or rewriting) that yielded the SearchResult on which the user took action.
  • resultRankInBlock: LONG, the rank of the SearchResult document among the user-defined block.

    The client can define its own custom definition for block, e.g. corpus name, group, etc.

    For example, a client defines the block as corpus, and AppSearch returns 5 documents with corpus = ["corpus1", "corpus1", "corpus2", "corpus3", "corpus2"]. Then the block ranks of them = [1, 2, 1, 1, 2].

    If the client is not presenting the results in multiple blocks, they should set this value to match resultRankGlobal.

  • resultRankGlobal: LONG, the global rank of the SearchResult document.

    Global rank reflects the order of SearchResult documents returned by AppSearch.

    For example, AppSearch returns 2 pages with 10 SearchResult documents for each page. Then the global ranks of them will be 1 to 10 for the first page, and 11 to 20 for the second page.

  • timeStayOnResultMillis: LONG, the time in milliseconds that user stays on the SearchResult document after clicking it.

Certain anonymized information about actions reported using this API may be uploaded using statsd and may be used to improve the quality of the search algorithms. Most of the information in this class is already non-identifiable, such as durations and its position in the result set. Identifiable information which you choose to provide, such as the query string, will be anonymized using techniques like Federated Analytics to ensure only the most frequently searched terms across the whole user population are retained and available for study.

You can alternatively use the addGenericDocuments(android.app.appsearch.GenericDocument) API to retain the benefits of joining and using it on-device, without triggering any of the anonymized stats uploading described above.

Parameters
takenActionGenericDocuments GenericDocument: one or more GenericDocument objects containing taken action metric fields. This value cannot be null.

Returns
PutDocumentsRequest.Builder This value cannot be null.

Throws
AppSearchException

build

Added in API level 31
public PutDocumentsRequest build ()

Creates a new PutDocumentsRequest object.

Returns
PutDocumentsRequest This value cannot be null.

Throws
IllegalArgumentException if there is any id collision between normal and action documents.