AppSearchSchema.StringPropertyConfig
public final class AppSearchSchema.StringPropertyConfig extends AppSearchSchema.PropertyConfig
| java.lang.Object | ||
| ↳ | androidx.appsearch.app.AppSearchSchema.PropertyConfig | |
| ↳ | androidx.appsearch.app.AppSearchSchema.StringPropertyConfig |
Configuration for a property of type String in a Document.
Summary
Nested types |
|---|
public final class AppSearchSchema.StringPropertyConfig.BuilderBuilder for |
Constants |
|
|---|---|
static final int |
Content in this property should only be returned for queries matching the exact tokens appearing in this property. |
static final int |
Content in this property will not be tokenized or indexed. |
static final int |
Content in this property should be returned for queries that are either exact matches or query matches of the tokens appearing in this property. |
static final int |
Content in this property is not joinable. |
static final int |
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.JOIN_SPEC_AND_QUALIFIED_ID)Content in this string property will be used as a qualified id to join documents. |
static final int |
This value indicates that no tokens should be extracted from this property. |
static final int |
Tokenization for plain text. |
static final int |
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.TOKENIZER_TYPE_RFC822)Tokenization for emails. |
static final int |
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.VERBATIM_SEARCH)This value indicates that no normalization or segmentation should be applied to string values that are tokenized using this type. |
Public methods |
|
|---|---|
int |
Returns how the property is indexed. |
int |
Returns how this property is going to be used to join documents from other schema types. |
int |
Returns how this property is tokenized (split into words). |
Inherited Constants |
||||||
|---|---|---|---|---|---|---|
|
Inherited methods |
|---|
Constants
INDEXING_TYPE_EXACT_TERMS
public static final int INDEXING_TYPE_EXACT_TERMS = 1
Content in this property should only be returned for queries matching the exact tokens appearing in this property.
For example, a property with "fool" should NOT match a query for "foo".
INDEXING_TYPE_NONE
public static final int INDEXING_TYPE_NONE = 0
Content in this property will not be tokenized or indexed.
INDEXING_TYPE_PREFIXES
public static final int INDEXING_TYPE_PREFIXES = 2
Content in this property should be returned for queries that are either exact matches or query matches of the tokens appearing in this property.
For example, a property with "fool" should match a query for "foo".
JOINABLE_VALUE_TYPE_NONE
public static final int JOINABLE_VALUE_TYPE_NONE = 0
Content in this property is not joinable.
JOINABLE_VALUE_TYPE_QUALIFIED_ID
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.JOIN_SPEC_AND_QUALIFIED_ID)
public static final int JOINABLE_VALUE_TYPE_QUALIFIED_ID = 1
Content in this string property will be used as a qualified id to join documents.
- Qualified id: a unique identifier for a document, and this joinable value type is similar to primary and foreign key in relational database. See
androidx.appsearch.util.DocumentIdUtilfor more details. - Currently we only support single string joining, so it should only be used with
CARDINALITY_OPTIONALandCARDINALITY_REQUIRED.
TOKENIZER_TYPE_NONE
public static final int TOKENIZER_TYPE_NONE = 0
This value indicates that no tokens should be extracted from this property.
It is only valid for tokenizer_type to be 'NONE' if getIndexingType is INDEXING_TYPE_NONE.
TOKENIZER_TYPE_PLAIN
public static final int TOKENIZER_TYPE_PLAIN = 1
Tokenization for plain text. This value indicates that tokens should be extracted from this property based on word breaks. Segments of whitespace and punctuation are not considered tokens.
For example, a property with "foo bar. baz." will produce tokens for "foo", "bar" and "baz". The segments " " and "." will not be considered tokens.
It is only valid for tokenizer_type to be 'PLAIN' if getIndexingType is INDEXING_TYPE_EXACT_TERMS or INDEXING_TYPE_PREFIXES.
TOKENIZER_TYPE_RFC822
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.TOKENIZER_TYPE_RFC822)
public static final int TOKENIZER_TYPE_RFC822 = 3
Tokenization for emails. This value indicates that tokens should be extracted from this property based on email structure.
For example, a property with "alex.sav@google.com" will produce tokens for "alex", "sav", "alex.sav", "google", "com", and "alexsav@google.com"
It is only valid for tokenizer_type to be 'RFC822' if getIndexingType is INDEXING_TYPE_EXACT_TERMS or INDEXING_TYPE_PREFIXES.
TOKENIZER_TYPE_VERBATIM
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.VERBATIM_SEARCH)
public static final int TOKENIZER_TYPE_VERBATIM = 2
This value indicates that no normalization or segmentation should be applied to string values that are tokenized using this type. Therefore, the output token is equivalent to the raw string value.
For example, a property with "Hello, world!" will produce the token "Hello, world!", preserving punctuation and capitalization, and not creating separate tokens between the space.
It is only valid for tokenizer_type to be 'VERBATIM' if getIndexingType is INDEXING_TYPE_EXACT_TERMS or INDEXING_TYPE_PREFIXES.
Public methods
getJoinableValueType
public int getJoinableValueType()
Returns how this property is going to be used to join documents from other schema types.
getTokenizerType
public int getTokenizerType()
Returns how this property is tokenized (split into words).