ImpressionAction
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.JOIN_SPEC_AND_QUALIFIED_ID)
@Document(name = "builtin:ImpressionAction")
@ExperimentalAppSearchApi
public class ImpressionAction extends TakenAction
| java.lang.Object | ||
| ↳ | androidx.appsearch.usagereporting.TakenAction | |
| ↳ | androidx.appsearch.usagereporting.ImpressionAction |
ImpressionAction is a built-in AppSearch document type that contains different metrics. Clients can report the user's impression actions on a androidx.appsearch.app.SearchResult document.
- Different from
androidx.appsearch.usagereporting.ClickAction, impression action means the user showed impression and took actions (other than click) on the result document, such as hovering the result preview. - If the user clicked on the result document, then it is recommended to use
androidx.appsearch.usagereporting.ClickActioninstead. Still the caller can decide to report bothandroidx.appsearch.usagereporting.ClickActionandImpressionActionfor a single result document at the same time, depending on their use cases for the action signals (e.g. boost ranking).
In order to use this document type, the client must explicitly set this schema type via addDocumentClasses.
Impression actions can be used as signals to boost ranking via androidx.appsearch.app.JoinSpec API in future search requests.
Since ImpressionAction is an AppSearch document, the client can handle deletion via removeAsync or document time-to-live (TTL). The default TTL is 60 days.
Summary
Nested types |
|---|
@Document.BuilderProducerBuilder for |
Public methods |
|
|---|---|
@Nullable String |
getQuery()Returns the user-entered search input (without any operators or rewriting) that yielded the |
@Nullable String |
Returns the qualified id of the |
int |
Returns the global rank of the |
int |
Returns the rank of the |
Inherited methods |
||||||||
|---|---|---|---|---|---|---|---|---|
|
Public methods
getQuery
public @Nullable String getQuery()
Returns the user-entered search input (without any operators or rewriting) that yielded the androidx.appsearch.app.SearchResult which impressed the user.
getReferencedQualifiedId
public @Nullable String getReferencedQualifiedId()
Returns the qualified id of the androidx.appsearch.app.SearchResult document that impressed the user.
A qualified id is a string generated by package, database, namespace, and document id. See createQualifiedId for more details.
getResultRankGlobal
public int getResultRankGlobal()
Returns the global rank of the androidx.appsearch.app.SearchResult document.
Global rank reflects the order of androidx.appsearch.app.SearchResult documents returned by AppSearch.
For example, AppSearch returns 2 pages with 10 androidx.appsearch.app.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.
If unset, then the global rank of the androidx.appsearch.app.SearchResult document will be set to -1 to mark invalid.
getResultRankInBlock
public int getResultRankInBlock()
Returns the rank of the androidx.appsearch.app.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 getResultRankGlobal.
If unset, then the block rank of the androidx.appsearch.app.SearchResult document will be set to -1 to mark invalid.