Page Summary
-
AppSearchSchema.DocumentPropertyConfig.Builderis used to build configurations for document properties within an AppSearch schema. -
You can specify which nested properties within a document property should be indexed using
addIndexableNestedPropertiesoraddIndexableNestedPropertyPaths. -
The cardinality and a natural language description of the document property can be set using
setCardinalityandsetDescriptionrespectively. -
setShouldIndexNestedPropertiesdetermines if the properties in the nested document are indexed based on their own schema, which is mutually exclusive with adding specific indexable nested properties. -
The final
AppSearchSchema.DocumentPropertyConfigobject is created using thebuildmethod.
Builder for
AppSearchSchema.DocumentPropertyConfig.
Public Constructor Summary
|
Builder(String
propertyName, String schemaType)
Creates a new
AppSearchSchema.DocumentPropertyConfig.Builder.
|
Public Method Summary
| AppSearchSchema.DocumentPropertyConfig.Builder |
addIndexableNestedProperties(String...
indexableNestedProperties)
Adds one or more properties for indexing from the nested document property.
|
| AppSearchSchema.DocumentPropertyConfig.Builder |
addIndexableNestedProperties(Collection<String>
indexableNestedProperties)
Adds one or more properties for indexing from the nested document.
|
| AppSearchSchema.DocumentPropertyConfig.Builder |
addIndexableNestedPropertyPaths(Collection<PropertyPath>
indexableNestedPropertyPaths)
Adds one or more property paths for indexing from the nested document property.
|
| AppSearchSchema.DocumentPropertyConfig.Builder |
addIndexableNestedPropertyPaths(PropertyPath...
indexableNestedPropertyPaths)
Adds one or more property paths for indexing from the nested document property.
|
| AppSearchSchema.DocumentPropertyConfig |
build()
Constructs a new
AppSearchSchema.PropertyConfig from the contents of this builder.
|
| AppSearchSchema.DocumentPropertyConfig.Builder |
setCardinality(int cardinality)
Sets the cardinality of the property (whether it is optional, required or
repeated).
|
| AppSearchSchema.DocumentPropertyConfig.Builder | |
| AppSearchSchema.DocumentPropertyConfig.Builder |
setShouldIndexNestedProperties(boolean indexNestedProperties)
Configures whether properties in the nested document should be indexed
according to that document's schema.
|
Inherited Method Summary
Public Constructors
public Builder (String propertyName, String schemaType)
Creates a new
AppSearchSchema.DocumentPropertyConfig.Builder.
Parameters
| propertyName | The logical name of the property in the schema, which will be used as the key
for this property in
GenericDocument.Builder.setPropertyDocument(String,
GenericDocument...). |
|---|---|
| schemaType | The type of documents which will be stored in this property. Documents of different types cannot be mixed into a single property. |
Public Methods
public AppSearchSchema.DocumentPropertyConfig.Builder addIndexableNestedProperties (String... indexableNestedProperties)
Adds one or more properties for indexing from the nested document property.
public AppSearchSchema.DocumentPropertyConfig.Builder addIndexableNestedProperties (Collection<String> indexableNestedProperties)
Adds one or more properties for indexing from the nested document. The added property will be indexed according to that property's indexing configurations in the document's schema definition. All properties in this list will consume a sectionId regardless of its actual indexing config -- this includes properties added that do not actually exist, as well as properties that are not set as indexable in the nested schema type.
Input strings should follow the format of the property path for the nested property, with '.' as the path separator. This nested document's property name should not be included in the property path.
Ex. Consider an 'Organization' schema type which defines a nested document property 'address' (Address schema type), where Address has a nested document property 'country' (Country schema type with string 'name' property), and a string 'street' property. The 'street' and 'country's name' properties from the 'address' document property can be indexed for the 'Organization' schema type by calling:
OrganizationSchema.addProperty(
new DocumentPropertyConfig.Builder("address", "Address")
.addIndexableNestedProperties("street", "country.name")
.build()).
setShouldIndexNestedProperties(boolean) is required to be false if any
indexable nested property is added this way for the document property. Attempting to
build a DocumentPropertyConfig when this is not true throws IllegalArgumentException.
public AppSearchSchema.DocumentPropertyConfig.Builder addIndexableNestedPropertyPaths (Collection<PropertyPath> indexableNestedPropertyPaths)
Adds one or more property paths for indexing from the nested document property.
public AppSearchSchema.DocumentPropertyConfig.Builder addIndexableNestedPropertyPaths (PropertyPath... indexableNestedPropertyPaths)
Adds one or more property paths for indexing from the nested document property.
public AppSearchSchema.DocumentPropertyConfig build ()
Constructs a new
AppSearchSchema.PropertyConfig from the contents of this builder.
Throws
| IllegalArgumentException | if the provided PropertyConfig sets
AppSearchSchema.DocumentPropertyConfig.shouldIndexNestedProperties() to
true and has one or more properties defined using
addIndexableNestedProperties(Collection). |
|---|
public AppSearchSchema.DocumentPropertyConfig.Builder setCardinality (int cardinality)
Sets the cardinality of the property (whether it is optional, required or repeated).
If this method is not called, the default cardinality is
AppSearchSchema.PropertyConfig.CARDINALITY_OPTIONAL.
public AppSearchSchema.DocumentPropertyConfig.Builder setDescription (String description)
Sets a natural language description of this property.
For more details about the description field, see
AppSearchSchema.PropertyConfig.getDescription().
public AppSearchSchema.DocumentPropertyConfig.Builder setShouldIndexNestedProperties (boolean indexNestedProperties)
Configures whether properties in the nested document should be indexed according to that document's schema.
If false, the nested document's properties are not indexed regardless of its own schema.
To index a subset of properties from the nested document, set this to false and use
addIndexableNestedProperties(Collection).