#rag 11 articles
"Search finds nothing here" is usually a site missing from the index — not a permissions problem gotchas / search Three queries tell you whether the site is in the index at all, before you debug a query that was never wrong A library with NoCrawl returns nothing from Search — and silently blinds anything built on Search gotchas / search Excluded containers return 0 with HTTP 200 and no log, so Search-backed AI never sees them; provisioning that excludes data lists must not inherit that onto content libraries; reindex can't be forced over REST… A library your app provisions inherits the web's write permissions — and that is how an AI grounding source gets poisoned gotchas / security Any member can upload over REST and poison an AI grounded on that library; WriteSecurity: 4 does not fix it (Edit includes Manage Lists and bypasses item-level settings) — only unique permissions on the library do An unparenthesized OR in your KQL query silently escapes the scope filter gotchas / search KQL AND binds tighter than OR; wrapping the query in parens is necessary but NOT sufficient (text can break out of them), and an empty custom path list must not fall back to the whole tenant Azure OpenAI 429 on a single request is a TPM ceiling, not a busy service — measure size, not frequency gotchas / azure-functions One request whose prompt exceeds the deployment's TPM allowance can never fit the window, so retrying is futile — a sub-second rejection means "over the ceiling", not "busy"; separate the two with a small/large request… Graph Search returns 0 hits — you passed the user's question as the queryString gotchas / search Translate question→keywords; "what's new" is a listing (* + default date sort, custom sort = 400); per-entity KQL only as documented Markdown vs DOCX vs site pages: choosing a knowledge format for RAG on SharePoint guides Markdown vs DOCX vs site pages vs list items — extraction quality, token economics, and the author-here-publish-Markdown pattern RAG finds nothing that SharePoint Search finds — the reasoning model spent the whole token cap thinking gotchas / search GPT-5/o-series count hidden reasoning in max_completion_tokens; a small cap on the query-generator call returns empty text (HTTP 200), and a raw-question fallback ANDs every word in KQL SharePoint Search cannot see text inside images — and what that does to RAG gotchas / search The crawler indexes the text layer only, so a value that exists only in an embedded flyer or a scan can never be found by keyword: a search-then-read pipeline is in a closed loop, the LLM re-ranker drops such documents… SharePoint Search finds nothing for a question in an inflected language — add prefix-wildcard stems, and never turn zero hits into "latest documents" gotchas / search KQL is implicit AND and matches exact word forms, so Czech inflected forms miss; add a stem* variant in code, relax before giving up, and never serve a date-sorted inventory as sources for a specific question What each format costs the model: tokens for the same content as .md, .docx, .pdf and a SharePoint page guides Real numbers: the same article as .md/.docx/.pdf/a SharePoint page — why extraction, not format, drives the token bill; plus a CZ-vs-EN language tax and a reproducible harness