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
SearchSpec.Builder.setMaxSnippetSize
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,
TextMatchInfo.getFullText()returns "A commonly used fake word is foo. Another nonsense word that’s used a lot is bar."TextMatchInfo.getExactMatchRange()returns [29, 32]TextMatchInfo.getExactMatch()returns "foo"TextMatchInfo.getSubmatchRange()returns [29, 32]TextMatchInfo.getSubmatch()returns "foo"TextMatchInfo.getSnippetRange()returns [26, 33]TextMatchInfo.getSnippet()returns "is foo."
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 SearchSpec.getMaxSnippetSize is 10. We will have 2 matches:
Match-1
TextMatchInfo.getFullText()returns "Test Name Jr."TextMatchInfo.getExactMatchRange()returns [0, 4]TextMatchInfo.getExactMatch()returns "Test"TextMatchInfo.getSubmatchRange()returns [0, 4]TextMatchInfo.getSubmatch()returns "Test"TextMatchInfo.getSnippetRange()returns [0, 9]TextMatchInfo.getSnippet()returns "Test Name"
Match-2
TextMatchInfo.getFullText()returns "Testing 1 2 3"TextMatchInfo.getExactMatchRange()returns [0, 7]TextMatchInfo.getExactMatch()returns "Testing"TextMatchInfo.getSubmatchRange()returns [0, 4]TextMatchInfo.getSubmatch()returns "Test"TextMatchInfo.getSnippetRange()returns [0, 9]TextMatchInfo.getSnippet()returns "Testing 1"
Summary
| Inherited constants | |
|---|---|
| Public constructors | |
|---|---|
TextMatchInfo(exactMatchRange: SearchResult.MatchRange, submatchRange: SearchResult.MatchRange, snippetRange: SearchResult.MatchRange)Creates a new immutable TextMatchInfo. |
|
| Public methods | |
|---|---|
| Int | |
| CharSequence |
Gets the exact term of the given entry that matched the query. |
| SearchResult.MatchRange |
Gets the |
| String |
Gets the full text corresponding to the given entry. |
| CharSequence |
Gets the snippet corresponding to the given entry. |
| SearchResult.MatchRange |
Gets the snippet |
| CharSequence |
Gets the exact term subsequence of the given entry that matched the query. |
| SearchResult.MatchRange |
Gets the |
| 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
describeContents
fun describeContents(): Int
| Return | |
|---|---|
Int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or
|
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 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 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 the following:
|
Properties
CREATOR
static val CREATOR: Parcelable.Creator<SearchResult.TextMatchInfo!>