REST Resource: projects.locations.collections.dataStores

Resource: DataStore

DataStore captures global settings and configs at the DataStore level.

JSON representation
{
  "name": string,
  "displayName": string,
  "industryVertical": enum (IndustryVertical),
  "solutionTypes": [
    enum (SolutionType)
  ],
  "defaultSchemaId": string,
  "contentConfig": enum (ContentConfig),
  "createTime": string,
  "advancedSiteSearchConfig": {
    object (AdvancedSiteSearchConfig)
  },
  "languageInfo": {
    object (LanguageInfo)
  },
  "naturalLanguageQueryUnderstandingConfig": {
    object (NaturalLanguageQueryUnderstandingConfig)
  },
  "kmsKeyName": string,
  "cmekConfig": {
    object (CmekConfig)
  },
  "billingEstimation": {
    object (BillingEstimation)
  },
  "workspaceConfig": {
    object (WorkspaceConfig)
  },
  "documentProcessingConfig": {
    object (DocumentProcessingConfig)
  },
  "startingSchema": {
    object (Schema)
  },
  "servingConfigDataStore": {
    object (ServingConfigDataStore)
  }
}
Fields
name

string

Immutable. The full resource name of the data store. Format: projects/{project}/locations/{location}/collections/{collectionId}/dataStores/{dataStoreId}.

This field must be a UTF-8 encoded string with a length limit of 1024 characters.

displayName

string

Required. The data store display name.

This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.

industryVertical

enum (IndustryVertical)

Immutable. The industry vertical that the data store registers.

solutionTypes[]

enum (SolutionType)

The solutions that the data store enrolls. Available solutions for each industryVertical:

  • MEDIA: SOLUTION_TYPE_RECOMMENDATION and SOLUTION_TYPE_SEARCH.
  • SITE_SEARCH: SOLUTION_TYPE_SEARCH is automatically enrolled. Other solutions cannot be enrolled.
defaultSchemaId

string

Output only. The id of the default Schema asscociated to this data store.

contentConfig

enum (ContentConfig)

Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.

createTime

string (Timestamp format)

Output only. Timestamp the DataStore was created at.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

advancedSiteSearchConfig

object (AdvancedSiteSearchConfig)

Optional. Configuration for advanced site search.

languageInfo

object (LanguageInfo)

Language info for DataStore.

naturalLanguageQueryUnderstandingConfig

object (NaturalLanguageQueryUnderstandingConfig)

Optional. Configuration for Natural Language Query Understanding.

kmsKeyName

string

Input only. The KMS key to be used to protect this DataStore at creation time.

Must be set for requests that need to comply with CMEK Org Policy protections.

If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmekConfig field.

cmekConfig

object (CmekConfig)

Output only. CMEK-related information for the DataStore.

billingEstimation

object (BillingEstimation)

Output only. data size estimation for billing.

workspaceConfig

object (WorkspaceConfig)

Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE.

documentProcessingConfig

object (DocumentProcessingConfig)

Configuration for Document understanding and enrichment.

startingSchema

object (Schema)

The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used.

This field is only used by dataStores.create API, and will be ignored if used in other APIs. This field will be omitted from all API responses including dataStores.create API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead.

The provided schema will be validated against certain rules on schema. Learn more from this doc.

servingConfigDataStore

object (ServingConfigDataStore)

Optional. Stores serving config at DataStore level.

ContentConfig

Content config of the data store.

Enums
CONTENT_CONFIG_UNSPECIFIED Default value.
NO_CONTENT Only contains documents without any Document.content.
CONTENT_REQUIRED Only contains documents with Document.content.
PUBLIC_WEBSITE The data store is used for public website search.
GOOGLE_WORKSPACE The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig.

AdvancedSiteSearchConfig

This type has no fields.

Configuration data for advance site search.

LanguageInfo

Language info for DataStore.

JSON representation
{
  "languageCode": string,
  "normalizedLanguageCode": string,
  "language": string,
  "region": string
}
Fields
languageCode

string

The language code for the DataStore.

normalizedLanguageCode

string

Output only. This is the normalized form of languageCode. E.g.: languageCode of en-GB, en_GB, en-UK or en-gb will have normalizedLanguageCode of en-GB.

language

string

Output only. Language part of normalizedLanguageCode. E.g.: en-US -> en, zh-Hans-HK -> zh, en -> en.

region

string

Output only. Region part of normalizedLanguageCode, if present. E.g.: en-US -> US, zh-Hans-HK -> HK, en -> ``.

NaturalLanguageQueryUnderstandingConfig

Configuration for Natural Language Query Understanding.

JSON representation
{
  "mode": enum (Mode)
}
Fields
mode

enum (Mode)

Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.

Mode

Mode of Natural Language Query Understanding. When the NaturalLanguageQueryUnderstandingConfig.Mode is ENABLED, the natural language understanding capabilities will be enabled for a search request if the NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition in the SearchRequest is ENABLED.

Enums
MODE_UNSPECIFIED Default value.
DISABLED Natural Language Query Understanding is disabled.
ENABLED Natural Language Query Understanding is enabled.

CmekConfig

Configurations used to enable CMEK data encryption with Cloud KMS keys.

JSON representation
{
  "name": string,
  "kmsKey": string,
  "kmsKeyVersion": string,
  "state": enum (State),
  "isDefault": boolean,
  "lastRotationTimestampMicros": string
}
Fields
name

string

Required. name of the CmekConfig, of the form projects/{project}/locations/{location}/cmekConfig or projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}.

kmsKey

string

Kms key resource name which will be used to encrypt resources projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}.

kmsKeyVersion

string

Kms key version resource name which will be used to encrypt resources <kmsKey>/cryptoKeyVersions/{keyVersion}.

state

enum (State)

Output only. state of the CmekConfig.

isDefault

boolean

Output only. The default CmekConfig for the Customer.

lastRotationTimestampMicros

string (int64 format)

Output only. The timestamp of the last key rotation.

State

States of the CmekConfig.

Enums
STATE_UNSPECIFIED The CmekConfig state is unknown.
CREATING The CmekConfig is creating.
ACTIVE The CmekConfig can be used with DataStores.
KEY_ISSUE The CmekConfig is unavailable, most likely due to the KMS Key being revoked.
DELETING The CmekConfig is deleting.
UNUSABLE The CmekConfig is not usable, most likely due to some internal issue.
ACTIVE_ROTATING The KMS key version is being rotated.

BillingEstimation

Estimation of data size per data store.

JSON representation
{
  "structuredDataSize": string,
  "unstructuredDataSize": string,
  "websiteDataSize": string,
  "structuredDataUpdateTime": string,
  "unstructuredDataUpdateTime": string,
  "websiteDataUpdateTime": string
}
Fields
structuredDataSize

string (int64 format)

data size for structured data in terms of bytes.

unstructuredDataSize

string (int64 format)

data size for unstructured data in terms of bytes.

websiteDataSize

string (int64 format)

data size for websites in terms of bytes.

structuredDataUpdateTime

string (Timestamp format)

Last updated timestamp for structured data.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

unstructuredDataUpdateTime

string (Timestamp format)

Last updated timestamp for unstructured data.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

websiteDataUpdateTime

string (Timestamp format)

Last updated timestamp for websites.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

WorkspaceConfig

Config to store data store type configuration for workspace data

JSON representation
{
  "type": enum (Type),
  "dasherCustomerId": string,
  "superAdminServiceAccount": string,
  "superAdminEmailAddress": string
}
Fields
type

enum (Type)

The Google Workspace data source.

dasherCustomerId

string

Obfuscated Dasher customer id.

superAdminServiceAccount

string

Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.

superAdminEmailAddress

string

Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.

Type

Specifies the type of Workspace App supported by this DataStore

Enums
TYPE_UNSPECIFIED Defaults to an unspecified Workspace type.
GOOGLE_DRIVE Workspace data Store contains Drive data
GOOGLE_MAIL Workspace data Store contains mail data
GOOGLE_SITES Workspace data Store contains Sites data
GOOGLE_CALENDAR Workspace data Store contains Calendar data
GOOGLE_CHAT Workspace data Store contains Chat data
GOOGLE_GROUPS Workspace data Store contains Groups data
GOOGLE_KEEP Workspace data Store contains Keep data

DocumentProcessingConfig

A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.

JSON representation
{
  "name": string,
  "chunkingConfig": {
    object (ChunkingConfig)
  },
  "defaultParsingConfig": {
    object (ParsingConfig)
  },
  "parsingConfigOverrides": {
    string: {
      object (ParsingConfig)
    },
    ...
  }
}
Fields
name

string

The full resource name of the Document Processing Config. Format: projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig.

chunkingConfig

object (ChunkingConfig)

Whether chunking mode is enabled.

defaultParsingConfig

object (ParsingConfig)

Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing.

parsingConfigOverrides

map (key: string, value: object (ParsingConfig))

Map from file type to override the default parsing configuration based on the file type. Supported keys:

  • pdf: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported.
  • html: Override parsing config for HTML files, only digital parsing and layout parsing are supported.
  • docx: Override parsing config for DOCX files, only digital parsing and layout parsing are supported.
  • pptx: Override parsing config for PPTX files, only digital parsing and layout parsing are supported.
  • xlsm: Override parsing config for XLSM files, only digital parsing and layout parsing are supported.
  • xlsx: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.

ChunkingConfig

Configuration for chunking config.

JSON representation
{

  // Union field chunk_mode can be only one of the following:
  "layoutBasedChunkingConfig": {
    object (LayoutBasedChunkingConfig)
  }
  // End of list of possible types for union field chunk_mode.
}
Fields
Union field chunk_mode. Additional configs that defines the behavior of the chunking. chunk_mode can be only one of the following:
layoutBasedChunkingConfig

object (LayoutBasedChunkingConfig)

Configuration for the layout based chunking.

LayoutBasedChunkingConfig

Configuration for the layout based chunking.

JSON representation
{
  "chunkSize": integer,
  "includeAncestorHeadings": boolean
}
Fields
chunkSize

integer

The token size limit for each chunk.

Supported values: 100-500 (inclusive). Default value: 500.

includeAncestorHeadings

boolean

Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss.

Default value: False.

ParsingConfig

Related configurations applied to a specific type of document parser.

JSON representation
{

  // Union field type_dedicated_config can be only one of the following:
  "digitalParsingConfig": {
    object (DigitalParsingConfig)
  },
  "ocrParsingConfig": {
    object (OcrParsingConfig)
  },
  "layoutParsingConfig": {
    object (LayoutParsingConfig)
  }
  // End of list of possible types for union field type_dedicated_config.
}
Fields
Union field type_dedicated_config. Configs for document processing types. type_dedicated_config can be only one of the following:
digitalParsingConfig

object (DigitalParsingConfig)

Configurations applied to digital parser.

ocrParsingConfig

object (OcrParsingConfig)

Configurations applied to OCR parser. Currently it only applies to PDFs.

layoutParsingConfig

object (LayoutParsingConfig)

Configurations applied to layout parser.

DigitalParsingConfig

This type has no fields.

The digital parsing configurations for documents.

OcrParsingConfig

The OCR parsing configurations for documents.

JSON representation
{
  "enhancedDocumentElements": [
    string
  ],
  "useNativeText": boolean
}
Fields
enhancedDocumentElements[]
(deprecated)

string

[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to layoutParsingConfig.

useNativeText

boolean

If true, will use native text instead of OCR text on pages containing native text.

LayoutParsingConfig

This type has no fields.

The layout parsing configurations for documents.

ServingConfigDataStore

Stores information regarding the serving configurations at DataStore level.

JSON representation
{
  "disabledForServing": boolean
}
Fields
disabledForServing

boolean

If set true, the DataStore will not be available for serving search requests.

Methods

completeQuery

Completes the specified user input with keyword suggestions.

create

Creates a DataStore.

delete

Deletes a DataStore.

get

Gets a DataStore.

getSiteSearchEngine

Gets the SiteSearchEngine.

list

Lists all the DataStores associated with the project.

patch

Updates a DataStore

trainCustomModel

Trains a custom model.