Skip to content

Commit 3069546

Browse files
Merge pull request #103098 from HeidiSteen/heidist-toc
Heidist toc
2 parents bf3a158 + ad3da39 commit 3069546

7 files changed

+56
-251
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2300,6 +2300,11 @@
23002300
"redirect_url": "/azure/cosmos-db/sql-api-get-started",
23012301
"redirect_document_id": false
23022302
},
2303+
{
2304+
"source_path": "articles/search/preview-api-resetskills.md",
2305+
"redirect_url": "/rest/api/searchservice/2019-05-06-preview/reset-skills",
2306+
"redirect_document_id": false
2307+
},
23032308
{
23042309
"source_path": "articles/search/knowledge-store-howto.md",
23052310
"redirect_url": "/azure/search/knowledge-store-create-rest",

articles/search/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,8 +345,8 @@
345345
items:
346346
- name: Search 2019-05-06
347347
href: /rest/api/searchservice
348-
- name: Reset Skills (api-version=2019-05-06-Preview)
349-
href: preview-api-resetskills.md
348+
- name: Search 2019-05-06-Preview
349+
href: /rest/api/searchservice/index-2019-05-06-preview
350350
- name: Management 2015-08-15
351351
href: /rest/api/searchmanagement
352352
- name: Management 2019-10-01-Preview

articles/search/cognitive-search-incremental-indexing-conceptual.md

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ PUT https://customerdemos.search.windows.net/datasources/callcenter-ds?api-versi
9494

9595
The purpose of the cache is to avoid unnecessary processing, but suppose you make a change to a skill that the indexer doesn't detect (for example, changing something in external code, such as a custom skill).
9696

97-
In this case, you can use the [Reset Skills](preview-api-resetskills.md) to force reprocessing of a particular skill, including any downstream skills that have a dependency on that skill's output. This API accepts a POST request with a list of skills that should be invalidated and marked for reprocessing. After Reset Skills, run the indexer to invoke the pipeline.
97+
In this case, you can use the [Reset Skills](https://docs.microsoft.com/rest/api/searchservice/2019-05-06-preview/reset-skills) to force reprocessing of a particular skill, including any downstream skills that have a dependency on that skill's output. This API accepts a POST request with a list of skills that should be invalidated and marked for reprocessing. After Reset Skills, run the indexer to invoke the pipeline.
9898

9999
## Change detection
100100

@@ -133,39 +133,27 @@ Incremental processing evaluates your skillset definition and determines which s
133133
* Changes to the knowledge store projections, results in reprojecting documents
134134
* Output field mappings changed on an indexer results in reprojecting documents to the index
135135

136-
## API reference content for incremental enrichment
136+
## API reference
137137

138-
REST `api-version=2019-05-06-Preview` provides the APIs for incremental enrichment, with additions to indexers, skillsets, and data sources. [Official reference documentation](https://docs.microsoft.com/rest/api/searchservice/) is for generally available APIs and does not cover preview features. The following section provides the reference content for impacted APIs.
138+
REST API version `2019-05-06-Preview` provides incremental enrichment through additional properties on indexers, skillsets, and data sources. In addition to the reference documentation, see [Configure caching for incremental enrichment](search-howto-incremental-index.md) for details on how to call the APIs.
139139

140-
Usage information and examples can be found in [Configure caching for incremental enrichment](search-howto-incremental-index.md).
140+
+ [Create Indexer (api-version=2019-05-06-Preview)](https://docs.microsoft.com/rest/api/searchservice/2019-05-06-preview/create-indexer)
141141

142-
### Indexers
142+
+ [Update Indexer (api-version=2019-05-06-Preview)](https://docs.microsoft.com/rest/api/searchservice/2019-05-06-preview/update-indexer)
143143

144-
[Create Indexer](https://docs.microsoft.com/rest/api/searchservice/create-indexer) and [Update Indexer](https://docs.microsoft.com/rest/api/searchservice/update-indexer) will now expose new properties relating to the cache:
144+
+ [Update Skillset (api-version=2019-05-06-Preview)](https://docs.microsoft.com/rest/api/searchservice/2019-05-06-preview/update-skillset) (New URI parameter on the request)
145145

146-
+ `StorageAccountConnectionString`: The connection string to the storage account that will be used to cache the intermediate results.
146+
+ [Reset Skills (api-version=2019-05-06-Preview)](https://docs.microsoft.com/rest/api/searchservice/2019-05-06-preview/reset-skills)
147147

148-
+ `EnableReprocessing`: Set to `true` by default, when set to `false`, documents will continue to be written to the cache, but no existing documents will be reprocessed based on the cache data.
148+
+ Database indexers (Azure SQL, Cosmos DB). Some indexers retrieve data through queries. For queries that retrieve data, [Update Data Source](https://docs.microsoft.com/rest/api/searchservice/update-data-source) supports a new parameter on a request **ignoreResetRequirement**, which should be set to `true` when your update action should not invalidate the cache.
149149

150-
+ `ID` (read-only): The `ID` is the identifier of the container within the `annotationCache` storage account that will be used as the cache for this indexer. This cache will be unique to this indexer and if the indexer is deleted and recreated with the same name, the `ID` will be regenerated. The `ID` cannot be set, it is always generated by the service.
151-
152-
### Skillsets
153-
154-
+ [Update Skillset](https://docs.microsoft.com/rest/api/searchservice/update-skillset) supports a new parameter on the request: `disableCacheReprocessingChangeDetection`, which should be set to `true` when you want no updates to existing documents based on the current action.
155-
156-
+ [Reset Skills](preview-api-resetskills.md) is a new operation used to invalidate a skillset.
157-
158-
### Datasources
159-
160-
+ Some indexers retrieve data through queries. For queries that retrieve data, [Update Data Source](https://docs.microsoft.com/rest/api/searchservice/update-data-source) supports a new parameter on a request `ignoreResetRequirement`, which should be set to `true` when your update action should not invalidate the cache.
161-
162-
Use the `ignoreResetRequirement` sparingly as it could lead to unintended inconsistency in your data that will not be detected easily.
150+
Use **ignoreResetRequirement** sparingly as it could lead to unintended inconsistency in your data that will not be detected easily.
163151

164152
## Next steps
165153

166-
Incremental enrichment is a powerful feature that extends change tracking to skillsets and AI enrichment. As skillsets evolve, incremental enrichment ensures the least possible work is done while still driving your documents to eventual consistency.
154+
Incremental enrichment is a powerful feature that extends change tracking to skillsets and AI enrichment. AIncremental enrichment enables reuse of existing processed content as you iterate over skillset design.
167155

168-
Get started by adding a cache to an existing indexer or add the cache when defining a new indexer.
156+
As a next step, enable caching on an existing indexer or add a cache when defining a new indexer.
169157

170158
> [!div class="nextstepaction"]
171159
> [Configure caching for incremental enrichment](search-howto-incremental-index.md)

articles/search/knowledge-store-concept-intro.md

Lines changed: 3 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -130,147 +130,11 @@ Once the enrichments exist in storage, any tool or technology that connects to A
130130

131131
## API reference
132132

133-
This section is a version of the [Create Skillset (REST API)](https://docs.microsoft.com/rest/api/searchservice/create-skillset) reference doc, modified to include a `knowledgeStore` definition.
133+
REST API version `2019-05-06-Preview` provides knowledge store through additional definitions on skillsets. In addition to the reference, see [Create a knowledge store using Postman](knowledge-store-create-rest.md) for details on how to call the APIs.
134134

135-
### Example - knowledgeStore embedded in a Skillset
135+
+ [Create Skillset (api-version=2019-05-06-Preview)](https://docs.microsoft.com/rest/api/searchservice/2019-05-06-preview/create-skillset)
136+
+ [Update Skillset (api-version=2019-05-06-Preview)](https://docs.microsoft.com/rest/api/searchservice/2019-05-06-preview/update-skillset)
136137

137-
The following example shows `knowledgeStore` at the bottom of a skillset definition.
138-
139-
* Use **POST** or **PUT** to formulate the request.
140-
* Use the `api-version=2019-05-06-Preview` version of the REST API to access knowledge store functionality.
141-
142-
```http
143-
POST https://[servicename].search.windows.net/skillsets?api-version=2019-05-06-Preview
144-
api-key: [admin key]
145-
Content-Type: application/json
146-
```
147-
148-
The body of request is a JSON document that defines a skillset, which includes `knowledgeStore`.
149-
150-
```json
151-
{
152-
"name": "my-skillset-name",
153-
"description": "Extract organization entities and generate a positive-negative sentiment score from each document.",
154-
"skills":
155-
[
156-
{
157-
"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
158-
"categories": [ "Organization" ],
159-
"defaultLanguageCode": "en",
160-
"inputs": [
161-
{
162-
"name": "text",
163-
"source": "/document/content"
164-
}
165-
],
166-
"outputs": [
167-
{
168-
"name": "organizations",
169-
"targetName": "organizations"
170-
}
171-
]
172-
},
173-
{
174-
"@odata.type": "#Microsoft.Skills.Text.SentimentSkill",
175-
"inputs": [
176-
{
177-
"name": "text",
178-
"source": "/document/content"
179-
}
180-
],
181-
"outputs": [
182-
{
183-
"name": "score",
184-
"targetName": "mySentiment"
185-
}
186-
]
187-
},
188-
],
189-
"cognitiveServices":
190-
{
191-
"@odata.type": "#Microsoft.Azure.Search.CognitiveServicesByKey",
192-
"description": "mycogsvcs resource in West US 2",
193-
"key": "<YOUR-COGNITIVE-SERVICES-KEY>"
194-
},
195-
"knowledgeStore": {
196-
"storageConnectionString": "<YOUR-AZURE-STORAGE-ACCOUNT-CONNECTION-STRING>",
197-
"projections": [
198-
{
199-
"tables": [
200-
{ "tableName": "Organizations", "generatedKeyName": "OrganizationId", "source": "/document/organizations*"},
201-
{ "tableName": "Sentiment", "generatedKeyName": "SentimentId", "source": "/document/mySentiment"}
202-
],
203-
"objects": [ ],
204-
"files": [ ]
205-
}
206-
]
207-
}
208-
}
209-
```
210-
211-
### Request body syntax
212-
213-
The following JSON specifies a `knowledgeStore`, which is part of a [`skillset`](https://docs.microsoft.com/rest/api/searchservice/create-skillset), which is invoked by an `indexer` (not shown). If you are already familiar with AI enrichment, a skillset determines the composition of an enriched document. A skillset must contain at least one skill, most likely a Shaper skill if you are modulating data structures.
214-
215-
The syntax for structuring the request payload is as follows.
216-
217-
```json
218-
{
219-
"name" : "Required for POST, optional for PUT requests which sets the name on the URI",
220-
"description" : "Optional. Anything you want, or null",
221-
"skills" : "Required. An array of skills. Each skill has an odata.type, name, input and output parameters",
222-
"cognitiveServices": "A key to Cognitive Services, used for billing.",
223-
"knowledgeStore": {
224-
"storageConnectionString": "<YOUR-AZURE-STORAGE-ACCOUNT-CONNECTION-STRING>",
225-
"projections": [
226-
{
227-
"tables": [
228-
{ "tableName": "<NAME>", "generatedKeyName": "<FIELD-NAME>", "source": "<DOCUMENT-PATH>" },
229-
{ "tableName": "<NAME>", "generatedKeyName": "<FIELD-NAME>", "source": "<DOCUMENT-PATH>" },
230-
. . .
231-
],
232-
"objects": [
233-
{
234-
"storageContainer": "<BLOB-CONTAINER-NAME>",
235-
"source": "<DOCUMENT-PATH>",
236-
}
237-
],
238-
"files": [
239-
{
240-
"storageContainer": "<BLOB-CONTAINER-NAME>",
241-
"source": "/document/normalized_images/*"
242-
}
243-
]
244-
},
245-
{
246-
"tables": [ ],
247-
"objects": [ ],
248-
"files": [ ]
249-
}
250-
]
251-
}
252-
}
253-
```
254-
255-
A `knowledgeStore` has two properties: a `storageConnectionString` to an Azure Storage account, and `projections` that defines physical storage. You can use any storage account, but it's cost-effective to use services in the same region.
256-
257-
A `projections` collection contains projection objects. Each projection object must have `tables`, `objects`, `files` (one of each), which are either specified or null. The syntax above shows two objects, one fully specified and the other fully null. Within a projection object, once it is expressed in storage, any relationships among the data, if detected, are preserved.
258-
259-
Create as many projection objects as you need to support isolation and specific scenarios (for example, data structures used for exploration, versus those needed in a data science workload). You can get isolation and customization for specific scenarios by setting `source` and `storageContainer` or `table` to different values within an object. For more information and examples, see [Working with projections in a knowledge store](knowledge-store-projection-overview.md).
260-
261-
|Property | Applies to | Description|
262-
|--------------|------------|------------|
263-
|`storageConnectionString`| `knowledgeStore` | Required. In this format: `DefaultEndpointsProtocol=https;AccountName=<ACCOUNT-NAME>;AccountKey=<ACCOUNT-KEY>;EndpointSuffix=core.windows.net`|
264-
|`projections`| `knowledgeStore` | Required. A collection of property objects consisting of `tables`, `objects`, `files` and their respective properties. Unused projections can be set to null.|
265-
|`source`| All projections| The path to the node of the enrichment tree that is the root of the projection. This node is the output of any of the skills in the skillset. Paths start with `/document/`, representing the enriched document but can be extended to `/document/content/` or to nodes within the document tree. Examples: `/document/countries/*` (all countries), or `/document/countries/*/states/*` (all states in all countries). For more information on document paths, see [Skillset concepts and composition](cognitive-search-working-with-skillsets.md).|
266-
|`tableName`| `tables`| A table to create in Azure Table storage. |
267-
|`storageContainer`| `objects`, `files`| Name of a container to create in Azure Blob storage. |
268-
|`generatedKeyName`| `tables`| A column created in the table that uniquely identifies a document. The enrichment pipeline populates this column with generated values.|
269-
270-
271-
### Response
272-
273-
For a successful request, you should see status code "201 Created". By default, the response body will contain the JSON for the skillset definition that was created. Recall that the knowledge store is not created until you invoke an indexer that references this skillset.
274138

275139
## Next steps
276140

articles/search/preview-api-resetskills.md

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)