SearchResult

public final class SearchResult
extends Object implements Parcelable

java.lang.Object
   ↳ android.app.appsearch.SearchResult


This class represents one of the results obtained from an AppSearch query.

This allows clients to obtain:

  • The document which matched, using getGenericDocument()
  • Information about which properties in the document matched, and "snippet" information containing textual summaries of the document's matches, using getMatchInfos()

"Snippet" refers to a substring of text from the content of document that is returned as a part of search result.

See also:

Summary

Nested classes

class SearchResult.Builder

Builder for SearchResult objects. 

class SearchResult.MatchInfo

This class represents match objects for any snippets that might be present in SearchResults from a query. 

class SearchResult.MatchRange

Class providing the position range of matching information. 

Inherited constants

Fields

public static final Creator<SearchResult> CREATOR

Public methods

String getDatabaseName()

Contains the database name that stored the GenericDocument.

GenericDocument getGenericDocument()

Contains the matching GenericDocument.

List<SearchResult> getJoinedResults()

Gets a list of SearchResult joined from the join operation.

List<SearchResult.MatchInfo> getMatchInfos()

Returns a list of MatchInfos providing information about how the document in getGenericDocument() matched the query.

String getPackageName()

Contains the package name of the app that stored the GenericDocument.

double getRankingSignal()

Returns the ranking signal of the GenericDocument, according to the ranking strategy set in SearchSpec.Builder#setRankingStrategy(int).

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Fields

CREATOR

public static final Creator<SearchResult> CREATOR

Public methods

getDatabaseName

Added in API level 31
public String getDatabaseName ()

Contains the database name that stored the GenericDocument.

Returns
String Name of the database within which the document is stored This value cannot be null.

getGenericDocument

Added in API level 31
public GenericDocument getGenericDocument ()

Contains the matching GenericDocument.

Returns
GenericDocument Document object which matched the query. This value cannot be null.

getJoinedResults

Added in API level 34
public List<SearchResult> getJoinedResults ()

Gets a list of SearchResult joined from the join operation.

These joined documents match the outer document as specified in the JoinSpec with parentPropertyExpression and childPropertyExpression. They are ordered according to the JoinSpec#getNestedSearchSpec, and as many SearchResults as specified by JoinSpec.getMaxJoinedResultCount() will be returned. If no JoinSpec was specified, this returns an empty list.

This method is inefficient to call repeatedly, as new SearchResult objects are created each time.

Returns
List<SearchResult> a List of SearchResults containing joined documents. This value cannot be null.

getMatchInfos

Added in API level 31
public List<SearchResult.MatchInfo> getMatchInfos ()

Returns a list of MatchInfos providing information about how the document in getGenericDocument() matched the query.

Returns
List<SearchResult.MatchInfo> List of matches based on SearchSpec. If snippeting is disabled using SearchSpec.Builder.setSnippetCount(int) or SearchSpec.Builder.setSnippetCountPerProperty(int), for all results after that value, this method returns an empty list. This value cannot be null.

getPackageName

Added in API level 31
public String getPackageName ()

Contains the package name of the app that stored the GenericDocument.

Returns
String Package name that stored the document This value cannot be null.

getRankingSignal

Added in API level 31
public double getRankingSignal ()

Returns the ranking signal of the GenericDocument, according to the ranking strategy set in SearchSpec.Builder#setRankingStrategy(int).

The meaning of the ranking signal and its value is determined by the selected ranking strategy:

Returns
double Ranking signal of the document

writeToParcel

public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES