# AppSearchSchema.EmbeddingPropertyConfig.Builder

Artifact: [androidx.appsearch:appsearch](https://developer.android.com/jetpack/androidx/releases/appsearch) [View Source](https://cs.android.com/search?q=file:androidx/appsearch/app/AppSearchSchema.java+class:androidx.appsearch.app.AppSearchSchema.EmbeddingPropertyConfig.Builder) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

*** ** * ** ***


```
public final class AppSearchSchema.EmbeddingPropertyConfig.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder#Builder(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html propertyName)` Creates a new `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder`. |

| ### Public methods |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig` | `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder#build()()` Constructs a new `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig` from the contents of this builder. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder` | `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder#setCardinality(int)(int cardinality)` Sets the cardinality of the property (whether it is optional, required or repeated). |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder` | `@https://developer.android.com/reference/androidx/annotation/RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = https://developer.android.com/reference/androidx/appsearch/app/Features.SCHEMA_SET_DESCRIPTION) @https://developer.android.com/reference/androidx/appsearch/app/ExperimentalAppSearchApi https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder#setDescription(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html description)` Sets a natural language description of this property. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder` | `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder#setIndexingType(int)(int indexingType)` Configures how a property should be indexed so that it can be retrieved by queries. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder` | `@https://developer.android.com/reference/androidx/appsearch/app/ExperimentalAppSearchApi @https://developer.android.com/reference/androidx/annotation/RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = https://developer.android.com/reference/androidx/appsearch/app/Features.SCHEMA_EMBEDDING_QUANTIZATION) https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder#setQuantizationType(int)(int quantizationType)` Configures whether the vector contents of this property should be quantized. |

## Public constructors

### Builder

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
public Builder(@NonNull String propertyName)
```

Creates a new `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig.Builder`.

## Public methods

### build

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
public @NonNull AppSearchSchema.EmbeddingPropertyConfig build()
```

Constructs a new `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig` from the contents of this builder.

### setCardinality

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
public @NonNull AppSearchSchema.EmbeddingPropertyConfig.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 `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.PropertyConfig#CARDINALITY_OPTIONAL()`.

### setDescription

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.SCHEMA_SET_DESCRIPTION)
@ExperimentalAppSearchApi
public @NonNull AppSearchSchema.EmbeddingPropertyConfig.Builder setDescription(@NonNull String description)
```

Sets a natural language description of this property.

For more details about the description field, see `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.PropertyConfig#getDescription()`.

### setIndexingType

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
public @NonNull AppSearchSchema.EmbeddingPropertyConfig.Builder setIndexingType(int indexingType)
```

Configures how a property should be indexed so that it can be retrieved by queries.

If this method is not called, the default indexing type is `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig#INDEXING_TYPE_NONE()`, so that it will not be indexed and cannot be matched by queries.

### setQuantizationType

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
@ExperimentalAppSearchApi
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.SCHEMA_EMBEDDING_QUANTIZATION)
public @NonNull AppSearchSchema.EmbeddingPropertyConfig.Builder setQuantizationType(int quantizationType)
```

Configures whether the vector contents of this property should be quantized.

Quantization can reduce the size of the embedding search index, potentially leading to faster embedding search due to lower I/O bandwidth. Quantization is usually very reliable and in most cases will have a negligible impact on recall. Using quantization is strongly recommended.

If this method is not called, the default quantization type is `https://developer.android.com/reference/androidx/appsearch/app/AppSearchSchema.EmbeddingPropertyConfig#QUANTIZATION_TYPE_NONE()`.