The 120 PDFs of Nordlicht Reisen GmbH lie in the blob container dokumente, and part of them changes every quarter (R-03); in addition come photos, receipt scans, voice messages and calls (R-04). Lesson 2.2 assumed the index reisebedingungen as given. Here the path to it is built: how content gets into the index and how you notice that it is healthy. Lessons 5.2 to 5.4 follow with search methods, enrichment and evidence.
Prior knowledge. Why you cut texts into chunks and how a hash rewrites only what changed is in "AI track, lesson T4.3"; vector stores and Azure AI Search as a store in "T4.4"; hybrid search in "T5.4"; Bicep and managed identity in K3. Indexer status, maxFailedItems and "running" versus "up to date" are treated by lesson 1.3; here it becomes a rule in code.
New in this lesson (changes no R number). Search service srch-nordlicht with data source ds-dokumente, indexer ixr-reise and skillset ss-reise. Every PDF carries the blob metadata sprache (de or en). The index has the fields chunk_id (key), parent_id, title, chunk, source_url, sprache, ziele and chunk_vector; 2.2 uses title, chunk and source_url of them.
The requirement
All numbers are assumptions of the task.
| No. | Requirement | Type | Measure | Weight | Source |
|---|---|---|---|---|---|
| 5.1-01 | All PDFs from dokumente are searchable as chunks. |
F | 120 of 120 documents | Must | R-03 |
| 5.1-02 | New and changed PDFs appear without a code change. | Q | within 1 hour | Must | R-03 |
| 5.1-03 | Deleted PDFs disappear from the index. | R | 0 orphaned chunks | Must | Business unit |
| 5.1-04 | A defective PDF does not stop the run. | Q | up to 5 errors per run | Must | Operations |
| 5.1-05 | The indexer accesses the storage without a key. | R | 0 keys | Must | R-07 |
| 5.1-06 | The ingestion reports when it is outdated. | Q | last success at most 24 h old | Must | 1.3-05 |
| 5.1-07 | For every input type (R-04) a path is chosen. | F | 5 types | Should | Editorial team |
| 5.1-08 | All resources are in the EU. | R | parameter location |
Must | R-06 |