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 |
PutDocumentsRequest.Builder
|
addGenericDocuments(Collection<? extends GenericDocument> documents)
Adds a collection of |
PutDocumentsRequest.Builder
|
addTakenActionGenericDocuments(Collection<? extends GenericDocument> takenActionGenericDocuments)
Adds a collection of |
PutDocumentsRequest.Builder
|
addTakenActionGenericDocuments(GenericDocument... takenActionGenericDocuments)
Adds one or more |
PutDocumentsRequest
|
build()
Creates a new |
Inherited methods | |
---|---|
Public constructors
Public methods
addGenericDocuments
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
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.
It is recommended to use taken action document classes in Jetpack library to construct taken action documents.
The document creation timestamp of the GenericDocument
should be set to the
actual action timestamp via GenericDocument.Builder.setCreationTimestampMillis
.
Clients should report search and click actions together sorted by GenericDocument.getCreationTimestampMillis()
in chronological order.
For example, if there are 2 search actions, with 1 click action associated with the first and 2 click actions associated with the second, then clients should report [searchAction1, clickAction1, searchAction2, clickAction2, clickAction3].
Different types of taken actions and metrics to be collected by AppSearch:
- Search action
- actionType: LONG, the enum value of the action type.
Requires to be
1
for search actions. - query: STRING, the user-entered search input (without any operators or rewriting).
- fetchedResultCount: LONG, the number of
SearchResult
documents fetched from AppSearch in this search action.
- actionType: LONG, the enum value of the action type.
- Click action
- actionType: LONG, the enum value of the action type.
Requires to be
2
for click actions. - query: STRING, the user-entered search input (without any operators or
rewriting) that yielded the
SearchResult
on which the user took action. - 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. - resultRankInBlock: LONG, the rank of the
SearchResult
document among the user-defined block.The client can define its own custom definition for block, for example, 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.
- actionType: LONG, the enum value of the action type.
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
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. |