diff --git a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/examples/SearchServiceCreateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/examples/SearchServiceCreateSkillset.json index e3335335eeba..c81b171f3c3d 100644 --- a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/examples/SearchServiceCreateSkillset.json +++ b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/examples/SearchServiceCreateSkillset.json @@ -109,7 +109,53 @@ ], "httpHeaders": {} } - ] + ], + "knowledgeStore": { + "storageConnectionString": "DefaultEndpointsProtocol=https;AccountName=myStorage;AccountKey=myStorageKey;EndpointSuffix=core.windows.net", + "projections": [ + { + "tables": [ + { + "tableName": "Reviews", + "generatedKeyName": "ReviewId", + "source": "/document/Review", + "sourceContext": null, + "inputs": [] + }, + { + "tableName": "Sentences", + "generatedKeyName": "SentenceId", + "source": "/document/Review/Sentences/*", + "sourceContext": null, + "inputs": [] + }, + { + "tableName": "KeyPhrases", + "generatedKeyName": "KeyPhraseId", + "source": "/document/Review/Sentences/*/KeyPhrases", + "sourceContext": null, + "inputs": [] + }, + { + "tableName": "Entities", + "generatedKeyName": "EntityId", + "source": "/document/Review/Sentences/*/Entities/*", + "sourceContext": null, + "inputs": [] + } + ] + }, + { + "objects": [ + { + "storageContainer": "Reviews", + "source": "/document/Review", + "generatedKeyName": "/document/Review/Id" + } + ] + } + ] + } } }, "responses": { diff --git a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json index b38d48f31401..46360f2b226b 100644 --- a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json +++ b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json @@ -6822,6 +6822,10 @@ "$ref": "#/definitions/CognitiveServicesAccount", "description": "Details about cognitive services to be used when running skills." }, + "knowledgeStore": { + "$ref": "#/definitions/SearchIndexerKnowledgeStore", + "description": "Definition of additional projections to azure blob, table, or files, of enriched data." + }, "@odata.etag": { "x-ms-client-name": "ETag", "type": "string", @@ -6881,6 +6885,138 @@ "key" ] }, + "SearchIndexerKnowledgeStore": { + "properties": { + "storageConnectionString": { + "type": "string", + "description": "The connection string to the storage account projections will be stored in." + }, + "projections": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreProjection", + "x-nullable": false + }, + "description": "A list of additional projections to perform during indexing." + } + }, + "required": [ + "storageConnectionString", + "projections" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/knowledge-store-projection-overview" + }, + "description": "Definition of additional projections to azure blob, table, or files, of enriched data." + }, + "SearchIndexerKnowledgeStoreProjection": { + "properties": { + "tables": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreTableProjectionSelector", + "x-nullable": false + }, + "description": "Projections to Azure Table storage." + }, + "objects": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreObjectProjectionSelector", + "x-nullable": false + }, + "description": "Projections to Azure Blob storage." + }, + "files": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreFileProjectionSelector", + "x-nullable": false + }, + "description": "Projections to Azure File storage." + } + }, + "description": "Container object for various projection selectors." + }, + "SearchIndexerKnowledgeStoreProjectionSelector": { + "properties": { + "referenceKeyName": { + "type": "string", + "description": "Name of reference key to different projection." + }, + "generatedKeyName": { + "type": "string", + "description": "Name of generated key to store projection under." + }, + "source": { + "type": "string", + "description": "Source data to project." + }, + "sourceContext": { + "type": "string", + "description": "Source context for complex projections." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/InputFieldMappingEntry" + }, + "description": "Nested inputs for complex projections." + } + }, + "description": "Abstract class to share properties between concrete selectors." + }, + "SearchIndexerKnowledgeStoreBlobProjectionSelector": { + "properties": { + "storageContainer": { + "type": "string", + "description": "Blob container to store projections in." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreProjectionSelector" + } + ], + "required": [ + "storageContainer" + ], + "description": "Abstract class to share properties between concrete selectors." + }, + "SearchIndexerKnowledgeStoreTableProjectionSelector": { + "properties": { + "tableName": { + "type": "string", + "description": "Name of the Azure table to store projected data in." + } + }, + "required": [ + "generatedKeyName", + "tableName" + ], + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreProjectionSelector" + } + ], + "description": "Description for what data to store in Azure Tables." + }, + "SearchIndexerKnowledgeStoreObjectProjectionSelector": { + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreBlobProjectionSelector" + } + ], + "description": "Projection definition for what data to store in Azure Blob." + }, + "SearchIndexerKnowledgeStoreFileProjectionSelector": { + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreBlobProjectionSelector" + } + ], + "description": "Projection definition for what data to store in Azure Files." + }, "SearchIndexerSkill": { "discriminator": "@odata.type", "properties": { diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json index f5add28c77ae..04824a8cff6c 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json @@ -110,6 +110,52 @@ "httpHeaders": {} } ], + "knowledgeStore": { + "storageConnectionString": "DefaultEndpointsProtocol=https;AccountName=myStorage;AccountKey=myStorageKey;EndpointSuffix=core.windows.net", + "projections": [ + { + "tables": [ + { + "tableName": "Reviews", + "generatedKeyName": "ReviewId", + "source": "/document/Review", + "sourceContext": null, + "inputs": [] + }, + { + "tableName": "Sentences", + "generatedKeyName": "SentenceId", + "source": "/document/Review/Sentences/*", + "sourceContext": null, + "inputs": [] + }, + { + "tableName": "KeyPhrases", + "generatedKeyName": "KeyPhraseId", + "source": "/document/Review/Sentences/*/KeyPhrases", + "sourceContext": null, + "inputs": [] + }, + { + "tableName": "Entities", + "generatedKeyName": "EntityId", + "source": "/document/Review/Sentences/*/Entities/*", + "sourceContext": null, + "inputs": [] + } + ] + }, + { + "objects": [ + { + "storageContainer": "Reviews", + "source": "/document/Review", + "generatedKeyName": "/document/Review/Id" + } + ] + } + ] + }, "encryptionKey": { "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json index b92738e00a76..410f7d059457 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json @@ -7215,6 +7215,10 @@ "$ref": "#/definitions/CognitiveServicesAccount", "description": "Details about cognitive services to be used when running skills." }, + "knowledgeStore": { + "$ref": "#/definitions/SearchIndexerKnowledgeStore", + "description": "Definition of additional projections to azure blob, table, or files, of enriched data." + }, "@odata.etag": { "x-ms-client-name": "ETag", "type": "string", @@ -7255,6 +7259,138 @@ ], "description": "Base type for describing any cognitive service resource attached to a skillset." }, + "SearchIndexerKnowledgeStore": { + "properties": { + "storageConnectionString": { + "type": "string", + "description": "The connection string to the storage account projections will be stored in." + }, + "projections": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreProjection", + "x-nullable": false + }, + "description": "A list of additional projections to perform during indexing." + } + }, + "required": [ + "storageConnectionString", + "projections" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/knowledge-store-projection-overview" + }, + "description": "Definition of additional projections to azure blob, table, or files, of enriched data." + }, + "SearchIndexerKnowledgeStoreProjection": { + "properties": { + "tables": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreTableProjectionSelector", + "x-nullable": false + }, + "description": "Projections to Azure Table storage." + }, + "objects": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreObjectProjectionSelector", + "x-nullable": false + }, + "description": "Projections to Azure Blob storage." + }, + "files": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreFileProjectionSelector", + "x-nullable": false + }, + "description": "Projections to Azure File storage." + } + }, + "description": "Container object for various projection selectors." + }, + "SearchIndexerKnowledgeStoreProjectionSelector": { + "properties": { + "referenceKeyName": { + "type": "string", + "description": "Name of reference key to different projection." + }, + "generatedKeyName": { + "type": "string", + "description": "Name of generated key to store projection under." + }, + "source": { + "type": "string", + "description": "Source data to project." + }, + "sourceContext": { + "type": "string", + "description": "Source context for complex projections." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/InputFieldMappingEntry" + }, + "description": "Nested inputs for complex projections." + } + }, + "description": "Abstract class to share properties between concrete selectors." + }, + "SearchIndexerKnowledgeStoreBlobProjectionSelector": { + "properties": { + "storageContainer": { + "type": "string", + "description": "Blob container to store projections in." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreProjectionSelector" + } + ], + "required": [ + "storageContainer" + ], + "description": "Abstract class to share properties between concrete selectors." + }, + "SearchIndexerKnowledgeStoreTableProjectionSelector": { + "properties": { + "tableName": { + "type": "string", + "description": "Name of the Azure table to store projected data in." + } + }, + "required": [ + "generatedKeyName", + "tableName" + ], + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreProjectionSelector" + } + ], + "description": "Description for what data to store in Azure Tables." + }, + "SearchIndexerKnowledgeStoreObjectProjectionSelector": { + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreBlobProjectionSelector" + } + ], + "description": "Projection definition for what data to store in Azure Blob." + }, + "SearchIndexerKnowledgeStoreFileProjectionSelector": { + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreBlobProjectionSelector" + } + ], + "description": "Projection definition for what data to store in Azure Files." + }, "DefaultCognitiveServicesAccount": { "description": "An empty object that represents the default cognitive service resource for a skillset.", "x-ms-discriminator-value": "#Microsoft.Azure.Search.DefaultCognitiveServices", diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json index bc539fd71f3e..b729782f4025 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json @@ -110,6 +110,52 @@ "httpHeaders": {} } ], + "knowledgeStore": { + "storageConnectionString": "DefaultEndpointsProtocol=https;AccountName=myStorage;AccountKey=myStorageKey;EndpointSuffix=core.windows.net", + "projections": [ + { + "tables": [ + { + "tableName": "Reviews", + "generatedKeyName": "ReviewId", + "source": "/document/Review", + "sourceContext": null, + "inputs": [] + }, + { + "tableName": "Sentences", + "generatedKeyName": "SentenceId", + "source": "/document/Review/Sentences/*", + "sourceContext": null, + "inputs": [] + }, + { + "tableName": "KeyPhrases", + "generatedKeyName": "KeyPhraseId", + "source": "/document/Review/Sentences/*/KeyPhrases", + "sourceContext": null, + "inputs": [] + }, + { + "tableName": "Entities", + "generatedKeyName": "EntityId", + "source": "/document/Review/Sentences/*/Entities/*", + "sourceContext": null, + "inputs": [] + } + ] + }, + { + "objects": [ + { + "storageContainer": "Reviews", + "source": "/document/Review", + "generatedKeyName": "/document/Review/Id" + } + ] + } + ] + }, "encryptionKey": { "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json index 2a83a87ab347..b682594bdfd1 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json @@ -7102,6 +7102,10 @@ "$ref": "#/definitions/CognitiveServicesAccount", "description": "Details about cognitive services to be used when running skills." }, + "knowledgeStore": { + "$ref": "#/definitions/SearchIndexerKnowledgeStore", + "description": "Definition of additional projections to azure blob, table, or files, of enriched data." + }, "@odata.etag": { "x-ms-client-name": "ETag", "type": "string", @@ -7142,6 +7146,138 @@ ], "description": "Base type for describing any cognitive service resource attached to a skillset." }, + "SearchIndexerKnowledgeStore": { + "properties": { + "storageConnectionString": { + "type": "string", + "description": "The connection string to the storage account projections will be stored in." + }, + "projections": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreProjection", + "x-nullable": false + }, + "description": "A list of additional projections to perform during indexing." + } + }, + "required": [ + "storageConnectionString", + "projections" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/knowledge-store-projection-overview" + }, + "description": "Definition of additional projections to azure blob, table, or files, of enriched data." + }, + "SearchIndexerKnowledgeStoreProjection": { + "properties": { + "tables": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreTableProjectionSelector", + "x-nullable": false + }, + "description": "Projections to Azure Table storage." + }, + "objects": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreObjectProjectionSelector", + "x-nullable": false + }, + "description": "Projections to Azure Blob storage." + }, + "files": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreFileProjectionSelector", + "x-nullable": false + }, + "description": "Projections to Azure File storage." + } + }, + "description": "Container object for various projection selectors." + }, + "SearchIndexerKnowledgeStoreProjectionSelector": { + "properties": { + "referenceKeyName": { + "type": "string", + "description": "Name of reference key to different projection." + }, + "generatedKeyName": { + "type": "string", + "description": "Name of generated key to store projection under." + }, + "source": { + "type": "string", + "description": "Source data to project." + }, + "sourceContext": { + "type": "string", + "description": "Source context for complex projections." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/InputFieldMappingEntry" + }, + "description": "Nested inputs for complex projections." + } + }, + "description": "Abstract class to share properties between concrete selectors." + }, + "SearchIndexerKnowledgeStoreBlobProjectionSelector": { + "properties": { + "storageContainer": { + "type": "string", + "description": "Blob container to store projections in." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreProjectionSelector" + } + ], + "required": [ + "storageContainer" + ], + "description": "Abstract class to share properties between concrete selectors." + }, + "SearchIndexerKnowledgeStoreTableProjectionSelector": { + "properties": { + "tableName": { + "type": "string", + "description": "Name of the Azure table to store projected data in." + } + }, + "required": [ + "generatedKeyName", + "tableName" + ], + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreProjectionSelector" + } + ], + "description": "Description for what data to store in Azure Tables." + }, + "SearchIndexerKnowledgeStoreObjectProjectionSelector": { + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreBlobProjectionSelector" + } + ], + "description": "Projection definition for what data to store in Azure Blob." + }, + "SearchIndexerKnowledgeStoreFileProjectionSelector": { + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerKnowledgeStoreBlobProjectionSelector" + } + ], + "description": "Projection definition for what data to store in Azure Files." + }, "DefaultCognitiveServicesAccount": { "description": "An empty object that represents the default cognitive service resource for a skillset.", "x-ms-discriminator-value": "#Microsoft.Azure.Search.DefaultCognitiveServices",