TextMatchInfo


class TextMatchInfo : Parcelable
kotlin.Any
   ↳ android.app.appsearch.SearchResult.TextMatchInfo

This class represents match objects for any text match snippets that might be present in SearchResults from a string query. Using this class, you can get:

  • the full text - all of the text in that String property
  • the exact term match - the 'term' (full word) that matched the query
  • the subterm match - the portion of the matched term that appears in the query
  • a suggested text snippet - a portion of the full text surrounding the exact term match, set to term boundaries. The size of the snippet is specified in android.app.appsearch.SearchSpec.Builder#setMaxSnippetSize
for each text match in the document.

Class Example 1:

A document contains the following text in property "subject":

"A commonly used fake word is foo. Another nonsense word that’s used a lot is bar."

If the queryExpression is "foo" and SearchSpec.getMaxSnippetSize is 10,

Class Example 2:

A document contains one property named "subject" and one property named "sender" which contains a "name" property.

In this case, we will have 2 property paths: sender.name and subject.

Let sender.name = "Test Name Jr." and subject = "Testing 1 2 3"

If the queryExpression is "Test" with SearchSpec.TERM_MATCH_PREFIX and android.app.appsearch.SearchSpec#getMaxSnippetSize is 10. We will have 2 matches:

Match-1

Match-2

Summary

Inherited constants
Public constructors
TextMatchInfo(exactMatchRange: SearchResult.MatchRange, submatchRange: SearchResult.MatchRange, snippetRange: SearchResult.MatchRange)

Creates a new immutable TextMatchInfo.

Public methods
CharSequence

Gets the exact term of the given entry that matched the query.

SearchResult.MatchRange

Gets the MatchRange of the exact term of the given entry that matched the query.

String

Gets the full text corresponding to the given entry.

CharSequence

Gets the snippet corresponding to the given entry.

SearchResult.MatchRange

Gets the snippet TextMatchInfo corresponding to the given entry.

CharSequence

Gets the exact term subsequence of the given entry that matched the query.

SearchResult.MatchRange

Gets the MatchRange of the exact term subsequence of the given entry that matched the query.

Unit
writeToParcel(dest: Parcel, flags: Int)

Flatten this object in to a Parcel.

Properties
static Parcelable.Creator<SearchResult.TextMatchInfo!>

Public constructors

TextMatchInfo

TextMatchInfo(
    exactMatchRange: SearchResult.MatchRange,
    submatchRange: SearchResult.MatchRange,
    snippetRange: SearchResult.MatchRange)

Creates a new immutable TextMatchInfo.

Parameters
exactMatchRange SearchResult.MatchRange: the exact MatchRange for the entry. This value cannot be null.
submatchRange SearchResult.MatchRange: the sub-match MatchRange for the entry. This value cannot be null.
snippetRange SearchResult.MatchRange: the snippet MatchRange for the entry. This value cannot be null.

Public methods

getExactMatch

fun getExactMatch(): CharSequence

Gets the exact term of the given entry that matched the query.

Class example 1: this returns "foo".

Class example 2: for the first TextMatchInfo, this returns "Test" and, for the second TextMatchInfo, this returns "Testing".

Return
CharSequence This value cannot be null.

getExactMatchRange

fun getExactMatchRange(): SearchResult.MatchRange

Gets the MatchRange of the exact term of the given entry that matched the query.

Class example 1: this returns [29, 32].

Class example 2: for the first TextMatchInfo, this returns [0, 4] and, for the second TextMatchInfo, this returns [0, 7].

Return
SearchResult.MatchRange This value cannot be null.

getFullText

fun getFullText(): String

Gets the full text corresponding to the given entry.

Class example 1: this returns "A commonly used fake word is foo. Another nonsense word that's used a lot is bar."

Class example 2: for the first TextMatchInfo, this returns "Test Name Jr." and, for the second TextMatchInfo, this returns "Testing 1 2 3".

Return
String This value cannot be null.

getSnippet

fun getSnippet(): CharSequence

Gets the snippet corresponding to the given entry.

Snippet - Provides a subset of the content to display. Only populated when requested maxSnippetSize > 0. The size of this content can be changed by android.app.appsearch.SearchSpec.Builder#setMaxSnippetSize. Windowing is centered around the middle of the matched token with content on either side clipped to token boundaries.

Class example 1: this returns "foo. Another".

Class example 2: for the first TextMatchInfo, this returns "Test Name" and, for the second TextMatchInfo, this returns "Testing 1 2 3".

Return
CharSequence This value cannot be null.

getSnippetRange

fun getSnippetRange(): SearchResult.MatchRange

Gets the snippet TextMatchInfo corresponding to the given entry.

Only populated when set maxSnippetSize > 0 in android.app.appsearch.SearchSpec.Builder#setMaxSnippetSize.

Class example 1: this returns [29, 41].

Class example 2: for the first TextMatchInfo, this returns [0, 9] and, for the second TextMatchInfo, this returns [0, 13].

Return
SearchResult.MatchRange This value cannot be null.

getSubmatch

fun getSubmatch(): CharSequence

Gets the exact term subsequence of the given entry that matched the query.

Class example 1: this returns "foo".

Class example 2: for the first TextMatchInfo, this returns "Test" and, for the second TextMatchInfo, this returns "Test".

Return
CharSequence This value cannot be null.

getSubmatchRange

fun getSubmatchRange(): SearchResult.MatchRange

Gets the MatchRange of the exact term subsequence of the given entry that matched the query.

Class example 1: this returns [29, 32].

Class example 2: for the first TextMatchInfo, this returns [0, 4] and, for the second TextMatchInfo, this returns [0, 4].

Return
SearchResult.MatchRange This value cannot be null.

writeToParcel

fun writeToParcel(
    dest: Parcel,
    flags: Int
): Unit

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_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Properties

CREATOR

static val CREATOR: Parcelable.Creator<SearchResult.TextMatchInfo!>