Implement information extraction solutions 5.1 Build retrieval and grounding pipelines

An indexer uses an enrichment cache (preview).

Study guide skill: Implement enrichment by using custom or built-in skills for text, images, and layout

Question B7-022

An indexer uses an enrichment cache (preview). You redeploy a custom skill's Azure Function to a new URL with a new access key, and the skill's output doesn't change. You don't want the indexer to reprocess documents that are already cached. What should you do?

Select one answer.

  • A Update the skillset with the disableCacheReprocessingChangeDetection=true parameter ✓ Correct answer
  • B Update the skillset normally; the cache ignores changes to a skill's URI and key
  • C Delete the ms-az-search-indexercache container so the indexer builds a new cache
  • D Set the indexer's cache property to null while you update the skill

Answer: A

Changing a skill usually triggers reprocessing of that skill, but for superficial changes such as a new location or access key, you can set disableCacheReprocessingChangeDetection=true on Update Skillset. Then only the definition is committed and the change isn't evaluated against the cache. The cache is an internal component you must not modify, and setting cache to null removes it from the indexer.

Deep dive

How it works

With an enrichment cache (incremental enrichment, preview), the indexer tracks skillset changes. When you modify a skill, it normally reprocesses that skill, and anything downstream, for every cached document, so outputs stay valid for the new definition.

Some changes don't affect output, though. The cache docs give these examples: deploying a custom skill to a new location or with a new access key. Those are peripheral changes, and reprocessing would waste time and money.

For them, bypass skill evaluation:

  1. Call Update Skillset with the modified definition (the new URI and key).
  2. Append disableCacheReprocessingChangeDetection=true to the request.
  3. Submit. Only the skillset definition is committed, and the change isn't evaluated against the existing cache.

This needs a preview API version, 2020-06-30-Preview or later. Use it only when you're sure output doesn't change; otherwise cached enrichments go stale.

The other options, and when you'd use them

  • Update normally; the cache ignores URI and key: It doesn't. Modifying a skill usually goes hand in hand with reprocessing it. You have to opt out with the parameter.
  • Delete the ms-az-search-indexercache container: The enrichment cache is an internal component managed by the search service that you must not modify. Deleting it also throws away what you want to keep.
  • Set cache to null during the update: Setting the cache property to null disassociates the cache from the indexer. You'd lose incremental enrichment, not preserve it.

Exam tip

Cosmetic skill change (new URL or key) with an enrichment cache = Update Skillset with disableCacheReprocessingChangeDetection=true. Never touch the cache container.

References

Last reviewed:

Ready to test yourself? The quiz asks this and every other AI-103 question, with instant feedback. Practice this in a quiz →

All Information extraction questions · AI-103 study guide

Thanks for your feedback!