Contents
  1. Information needs and retrieval stages
  2. Searchable records and retrieval units
  3. Query analysis and matching conditions
  4. Inverted indexes and lexical lookup
  5. Lexical relevance and BM25
  6. Dense retrieval and representation compatibility
  7. Exact search and approximate vector indexes
  8. Hybrid candidates and rank fusion
  9. Reranking and bounded scoring inputs
  10. Relevance judgments and test collections
  11. Coverage and ordering at explicit cutoffs
  12. Controlled comparisons and failure localization
  13. Permissions across retrieval and disclosure
  14. Revisions, deletion, and searchable visibility
  15. Latency, capacity, and bounded degradation
  16. The ranked retrieval response
  17. Check understanding
  18. Open questions
  19. Selected talks
  20. References
  21. Talk library
← All topics

Search and Retrieval

Search and retrieval turns a request into an ordered set of useful records. The central problem is broader than matching words or vectors: useful information must survive representation, enter the candidate set, receive appropriate priority, and remain accessible under the request’s permissions, source-validity requirements, and deadline.

Information needs and retrieval stages

A corpus is the collection being searched. A query expresses an information need: what someone wants to find or understand. Relevance means usefulness for that need. The wording alone may omit important context, such as the desired revision or the requester’s access. NIST’s retrieval terminology separates needs, queries, documents, and judgments.

A constructed documentation corpus contains procedure P, historical revision r1, current revision r2, an ERR-42 glossary, and an operators-only recovery guide. Mira can read shared documentation; Leon can also read the guide. Revision r2 specifies a 30-second retry wait, with an adjacent exception prohibiting retries during migration. Revision r1 specifies 10 seconds.

Preparation and request paths

Final selection is bounded by candidate membership.

Preparation derives an index. Request execution uses it to select, rescore, and return records. An omitted candidate cannot reappear through reranking.
Read the diagram as text
  • Source records.
  • Prepared index.
  • Query and eligibility.
  • Generate candidates.
  • Scored shortlist. Candidate depth bounds membership.
  • Rerank shortlist.
  • Selected results. Returned count is a separate limit.
  • Source recordsPrepared index: Preparation: derive representations.
  • Prepared indexGenerate candidates: Data: searchable representations.
  • Query and eligibilityGenerate candidates: Control: matching conditions.
  • Generate candidatesScored shortlist: Data: candidate identities and scores.
  • Scored shortlistRerank shortlist: Data: supplied candidates only.
  • Rerank shortlistSelected results: Data: reordered subset.
  • Known-item lookupFinding the ERR-42 glossary entry depends on preserving its identifier, even if another entry has a similar description.
  • Specific information seekingFinding the current retry procedure requires its applicable exception as well as the matching instruction.
  • ExplorationSurveying recovery approaches may require several distinct sources. A short ranked list does not establish exhaustive coverage.

Eligibility determines which records may participate; ranking expresses preferences among eligible records. A high score cannot compensate for a failed mandatory filter. Similarity measures resemblance under a representation; relevance concerns the need. Factual correctness concerns truth, while authority concerns the source’s standing. Even a passage supporting a statement can itself be wrong.

An index helps locate records. Candidate generation produces a shortlist, often with initial scores. A reranker scores that existing shortlist again before final selection. Retrieve-and-rerank bounds expensive comparisons; candidate depth and returned-result count are separate controls.

A completed search can find nothing useful. If the corpus contains no instructions for ERR-900, its nearest passages still have an ordering. Returning those passages merely because they occupy the first positions confuses relative closeness with evidence that the information exists.

Searchable records and retrieval units

A search document can be an article, procedure, or database record. A derived search record needs its own identity and a connection to its source revision. Generated chunk keys may change during updates; they should not substitute for durable source identity.

An illustrative passage record
FieldExamplePurpose
Source and revisionP / r2Identify the originating procedure and version.
Chunk and parentA / P-r2Distinguish a searchable passage from its parent.
Location and structureRecovery → Retry stepsReconnect the passage to its original context.
ContentRetry after 30 secondsStore the actual searchable material.
Permission metadataShared-document readersCarry restrictions for enforcement at query time.

A passage retains source connections

Example

Local matches can depend on neighboring material.

Procedure P-r2 yields separately searchable steps, an exception, and table rows. Shared headings and repeated headers preserve local meaning; source links permit broader lookup.
Read the diagram as text
  • Procedure P-r2.
  • Recovery heading.
  • A: retry steps. Wait 30 seconds.
  • B: migration exception. No retries during migration.
  • Table headers. Condition; action.
  • Searchable table rows.
  • Procedure P-r2Recovery heading: Contains.
  • Procedure P-r2A: retry steps: Source of.
  • Procedure P-r2B: migration exception: Source of.
  • Recovery headingA: retry steps: Inherited context.
  • Recovery headingB: migration exception: Inherited context.
  • A: retry stepsB: migration exception: Adjacent qualification.
  • Procedure P-r2Table headers: Contains.
  • Table headersSearchable table rows: Repeated with each fragment.

A chunk is a selected portion of content. Smaller chunks can isolate a match but separate it from qualifications. Larger units preserve more surroundings while asking one representation to cover more subjects. Overlap repeats neighboring content; it preserves continuity at the cost of additional indexed text and potentially redundant candidates.

Retrieval unitUseful propertyMain tradeoff
Whole documentKeeps broad context together.A match identifies a large, potentially mixed-topic object.
Fixed-size passagePredictable size.A boundary may split a qualification or relationship.
Structural sectionPreserves headings and local organization.Important dependencies can still cross sections.

The matching unit and the returned unit need not coincide. Passage A can locate procedure P-r2; a parent lookup can then recover its adjacent exception B. This retains specific matching without pretending A contains the entire procedure. Returning the parent increases the material transferred, so expansion should follow the task rather than happen indiscriminately.

Table fragments need their column meanings. Repeating headers is one concrete preservation mechanism, implemented by Docling’s structural chunker. Document Understanding and OCR supplies the structured input; retrieval determines the independently searchable units.

Repeated wording is not necessarily duplicate evidence. A changed number or negation can distinguish consequential revisions. Preserve identity and version before applying duplicate handling. Likewise, five retrieved passages from P-r2 remain five passages from one source revision, not five independent sources.

Query analysis and matching conditions

A text analyzer identifies and transforms searchable terms. Normalization can change case or punctuation; stemming applies rules to word forms; stop-word removal drops listed terms. Lexical terms need not equal a language model’s subword tokens, whose purpose and boundaries belong to Tokenization.

Document and query analysis must be compatible, not necessarily identical. A prefix-search index can store word prefixes while leaving the query intact. Expanding that query into prefixes too can introduce unintended shorter matches. Test the actual emitted terms for the intended matching behavior.

For a current ERR-42 recovery request, each component has a different role.
Request componentRepresentationMeaning
ERR-42Identifier field lookupRequire the intended identifier when exact identity matters.
Retry stepsAnalyzed termsFind lexical occurrences and word-form variants.
An exact phraseTerm positionsRequire the specified arrangement, not just shared words.
Both terms or either termBoolean AND or ORIntersect or union matching sets.
Only current proceduresField and status filtersExclude records failing the stated conditions.

Identifier fields preserve distinctions ordinary text analysis may split. Their configuration still matters: an indexing length limit can leave a source value unavailable for keyword lookup. Presence in the original document does not establish presence in every searchable field.

Removing stop words can erase negation; applying the wrong language’s stemming rules can distort terms. Synonym mappings bridge vocabulary but can introduce ambiguous meanings. These transformations require task-specific tests, especially for short requests and identifiers.

Query expansion adds terms to improve coverage. Pseudo relevance feedback uses leading results as presumed relevant material for reformulation. That assumption can cause query drift: early results about one subtopic redirect a broader search toward it. Preserve the original request when testing expansion, synonyms, or spelling corrections, and assess both recovered evidence and changed intent.

Inverted indexes and lexical lookup

An inverted index maps terms to records containing them. A posting list stores occurrences for one term, including record identifiers and optionally frequencies and positions. Building these lists during ingestion lets queries locate candidates without repeatedly scanning all source text.

A separate three-record example uses the displayed words as its indexed body terms.
RecordBodyretry positionsafter positions
Xretry after delay12
Yafter delay retry31
Zretry retry1, 2

Co-occurrence before phrase matching

Example

Shared terms do not establish adjacency.

Intersection yields X and Y. Only X places after immediately after retry. Z lacks after.
Read the diagram as text
  • retry: X, Y, Z.
  • after: X, Y.
  • AND: X, Y.
  • Check consecutive positions. after position = retry position + 1
  • X: phrase match.
  • Y: phrase rejected.
  • retry: X, Y, ZAND: X, Y: Intersect identities.
  • after: X, YAND: X, Y: Intersect identities.
  • AND: X, YCheck consecutive positions: Inspect stored occurrences.
  • Check consecutive positionsX: phrase match: 2 = 1 + 1.
  • Check consecutive positionsY: phrase rejected: 1 ≠ 3 + 1.

AND intersects posting identities; OR unions them. The phrase retry after additionally requires consecutive positions in that order. Positions describe the analyzed term stream. Character offsets instead locate text for highlighting; they are not interchangeable.

Lexical relevance and BM25

Term frequency counts occurrences within a record. Document frequency counts records containing the term. Inverse document frequency gives rarer terms greater discriminating weight. BM25 combines that weight with diminishing returns from repetition and a correction for document length.

s(q,d)=tq,ft,d>0ln ⁣(Ndft)ft,d(k1+1)ft,d+k1(1b+bLd/L)s(q,d)=\sum_{t\in q,\,f_{t,d}>0}\ln\!\left(\frac{N}{df_t}\right)\frac{f_{t,d}(k_1+1)}{f_{t,d}+k_1(1-b+bL_d/\overline L)} This BM25 variant sums distinct matching query terms; nonmatching terms contribute zero. Require N>0N>0 and L>0\overline L>0. An empty index returns no results without evaluating this formula. NN counts records; dftdf_t, records containing tt; ft,df_{t,d}, term occurrences; LdL_d, record length; L\overline L, average length. k1>0k_1>0 controls saturation; 0b10\le b\le1 controls length normalization.

Diminishing returns from repetition

Example

Frequency saturates; longer records receive a smaller factor.

Two fixed record lengths

Both factors approach 2 as frequency grows.

Scroll sideways if the figure extends beyond the screen.

02.1254.256.3758.500.5251.051.5752.1Term frequency (occurrences)Frequency factor (dimensionless)100 terms200 terms
  • 1. 100 terms
  • 2. 200 terms
Read coordinates and regions as data

X: 08.5 occurrences; Y: 02.1 dimensionless, increasing up. Axes scaled independently; screen angles and distances are not comparable.

100 terms (polyline)

(0, 0); (1, 1); (2, 1.3333); (3, 1.5); (4, 1.6); (6, 1.7143); (8, 1.7778)

200 terms (polyline)

(0, 0); (1, 0.8); (2, 1.1429); (3, 1.3333); (4, 1.4545); (6, 1.6); (8, 1.6842)

The plotted BM25 frequency factor excludes IDF. Set k1=1, b=0.5, and average length=100 terms. Compare lengths 100 and 200 with everything else fixed.
Holding other inputs fixed
ChangeScoring consequence
Term appears in fewer recordsIts rarity weight increases.
Repeat boilerplateFrequency contribution grows with diminishing returns.
Lengthen a field without adding matchesLength normalization can reduce its contribution.

Rechunking changes record counts, term distribution, lengths, and average length, so it changes BM25’s inputs even without changing the source words. Tune parameters on development judgments.

Field weighting can prefer title matches over body matches; a preference still differs from a required filter. Scores express ordering under a configured query and corpus, not probabilities. PostgreSQL’s text-ranking functions illustrate field weights and score transformations, but should not automatically be called BM25. Mapping a score into zero to one does not make it a percentage.

Dense retrieval and representation compatibility

An embedding is a vector representation; an encoder produces it. Dense retrieval compares a query vector with stored passage vectors. A bi-encoder encodes the two inputs separately, allowing passage computation before requests arrive. DPR demonstrates this with separately encoded questions and passages scored by dot product.

The embedding contract binds compatible query and document encoders, preprocessing, instructions, normalization, dimensions, and scoring. Equal dimensions alone are insufficient. Larger cosine or dot-product scores and smaller distances indicate closer matches under their respective rules; comparison scores explains the distinction.

Reusable passage representations

Source text and its derived vector remain distinct.

Passage vectors are prepared offline. A compatible query vector is computed per request. Comparison selects passage identities; vectors do not replace their source text.
Read the diagram as text
  • Passage text.
  • Document encoder.
  • Stored passage vector.
  • Query text.
  • Query encoder.
  • Query vector.
  • Configured comparison.
  • Candidate passage identities.
  • Passage textDocument encoder: Offline input.
  • Document encoderStored passage vector: Produces representation.
  • Query textQuery encoder: Request input.
  • Query encoderQuery vector: Produces representation.
  • Stored passage vectorConfigured comparison: Stored passage vector.
  • Query vectorConfigured comparison: Query vector.
  • Configured comparisonCandidate passage identities: Ranks stored identities.

A request about time between retries may match a passage describing retry intervals without sharing those words. Exact identifiers need a separate test. Also test 10 versus 30 seconds and retry versus do not retry as controlled semantic distinctions. These are requirements for the documentation task, not reported failures of every embedding model.

Nearby vectors can still represent weak evidence. The nearest available result supplies an ordering, not a guarantee that an answer-bearing passage exists. Evaluate the actual corpus and query distribution rather than interpreting similarity as answer confidence.

Learned sparse retrieval instead produces weighted vocabulary terms, including expansions beyond the original wording. Matching remains inspectable through those terms, but broad expansions can increase query work. Sparse learned representations are distinct from both BM25’s occurrence statistics and dense vectors.

Exact search and approximate vector indexes

Nearest neighbors are the best-scoring stored vectors under a chosen comparison. Exhaustive exact search scores every eligible vector. Approximate nearest-neighbor search, or ANN, avoids some comparisons and may miss exact neighbors. Its reference must use the same stored vectors, scoring rule, and eligible records.

HNSW, hierarchical navigable small-world search, organizes vectors into proximity graphs. Sparse upper layers provide long-range navigation; lower layers explore more nearby candidates. More graph connections require storage and construction work. Broader candidate exploration generally spends more query work seeking better neighbor recovery. An omitted graph neighbor and a semantically irrelevant exact neighbor are different failures.

A neighbor outside the probed list

Example

Probing one list misses B.

Exact

All five vectors scored.

Scroll sideways if the figure extends beyond the screen.

-6-3.5-11.54-3-1.501.53Coordinate 1 (dimensionless)Coordinate 2 (dimensionless)Right listLeft listQueryReturnedABCDEQ
  • 1. Right list
  • 2. Left list
  • 3. Query
  • 4. Returned
Read coordinates and regions as data

X: -64 dimensionless; Y: -33 dimensionless, increasing up. Equal scale on both axes.

Right list (points)

(1, 0); (2, 1); (3, -1)

Left list (points)

(-1, 0.5); (-5, 0)

Query (points)

(0, 0)

Returned (points)

(1, 0); (-1, 0.5)

A: (1, 0.35)

B: (-1, 0.85)

C: (2, 1.35)

D: (3, -1.45)

E: (-5, 0.35)

Q: (0, -0.45)

One IVF probe

Only A,C,D scored.

Scroll sideways if the figure extends beyond the screen.

-6-3.5-11.54-3-1.501.53Coordinate 1 (dimensionless)Coordinate 2 (dimensionless)Right listLeft listQueryReturnedAB: missedCDEQ
  • 1. Right list
  • 2. Left list
  • 3. Query
  • 4. Returned
Read coordinates and regions as data

X: -64 dimensionless; Y: -33 dimensionless, increasing up. Equal scale on both axes.

Right list (points)

(1, 0); (2, 1); (3, -1)

Left list (points)

(-1, 0.5); (-5, 0)

Query (points)

(0, 0)

Returned (points)

(1, 0); (2, 1)

A: (1, 0.35)

B: missed: (-1, 0.85)

C: (2, 1.35)

D: (3, -1.45)

E: (-5, 0.35)

Q: (0, -0.45)

Euclidean top-2 search uses fixed vectors. List centers are (2,0) and (-3,0.25). The query probes the nearer right list only, returning A,C instead of exact neighbors A,B.

IVF, an inverted-file vector index, assigns vectors to lists associated with representative centers. A query probes selected lists rather than every vector. More probes increase work. IVFFlat requires partition training; HNSW does not require that training step. Memory, construction, and update behavior remain implementation-dependent.

Filtering a limited unfiltered shortlist can miss eligible neighbors outside it. Azure’s documented modes distinguish filtering during traversal, filtering per-shard candidates, and filtering the global top-k. Restrictive traversal filters may require additional exploration; post-filtering may return fewer results even when qualifying records exist.

Compare index configurations at disclosed neighbor-recovery levels, not speed alone. Record search breadth, memory, build conditions, filtering, and update workload. Identical hardware or defaults can still favor one architecture. A faster configuration that omits more required neighbors answers a different engineering requirement.

Hybrid candidates and rank fusion

Hybrid retrieval combines lexical and vector candidates for one need. In the constructed lists below, lexical retrieval finds A and C; vector retrieval finds B and A. Their identity-based union contains three records. Record D remains unavailable to fusion.

RRF(d)=j:dLj1c+rankj(d)\operatorname{RRF}(d)=\sum_{j:d\in L_j}\frac{1}{c+\operatorname{rank}_j(d)} Reciprocal rank fusion sums contributions from lists LjL_j containing record dd, using one-based ranks. The positive smoothing constant cc is not a result count. Missing-list contributions are zero; raw score gaps are discarded.

Overlap changes candidate count

Example

Two plus two yields three unique records.

A appears in both lists. Fusion combines its contributions before final selection; D is absent from both.
Read the diagram as text
  • Lexical: A, C.
  • Vector: B, A.
  • Union: A, B, C.
  • RRF: A, B, C.
  • Return: A, B.
  • Lexical: A, CUnion: A, B, C: A rank 1; C rank 2.
  • Vector: B, AUnion: A, B, C: B rank 1; A rank 2.
  • Union: A, B, CRRF: A, B, C: Sum rank contributions.
  • RRF: A, B, CReturn: A, B: Final cutoff: 2.
Example rankings use c = 10.
RecordLexical rank / scoreVector rank / scoreRRFWeighted score
A1 / 102 / 0.890.174240.30
BAbsent1 / 0.900.090910.70
C2 / 9Absent0.083330.00

The weighted column independently min-max normalizes each branch, assigns absent records zero, then combines 30% lexical with 70% vector. It ranks B above A, unlike RRF. These are example choices. Normalization bounds, score direction, missing-value policy, and weights all belong to the contract; equal extrema require an explicit rule.

Result-derived normalization changes when retrieved extrema change. A shared numeric range does not establish calibration or relevance. Validate fusion on the intended queries. Candidate counts from each branch and the final returned count remain separate: additional lexical candidates can make a hybrid response larger than the vector branch’s requested count.

Reranking and bounded scoring inputs

A cross-encoder processes the query and candidate together, allowing interactions absent from independent vector comparison. This richer scoring costs query-time computation for each pair, which motivates a bounded shortlist. Increasing candidate count or candidate length increases the work presented to the scorer.

Learning to rank learns ordering from relevance examples. Training examples may describe individual items, preferred pairs, or judged lists. Serving can combine lexical, semantic, and field signals. Freshness should favor the revision appropriate to the task; a historical request should not automatically prefer the latest document.

A scoring-input boundary can lose information that survived retrieval.
BoundaryConstructed procedure example
Retrieved candidateRetry instruction followed by migration exception.
Truncated scoring inputRetry instruction retained; exception omitted.
Diagnostic implicationInspect actual scorer input, not only the original candidate.

Published cross-encoder examples enable truncation and may expose logits as scores. Neither a retained source document nor a numeric output establishes that the scorer saw all qualifications or produced a probability. A separate full-precision vector rescore only recomputes vector comparisons; it is not joint cross-encoder inference.

Improved specificity is a useful but bounded observation. Jonathan Fernandes’s station-help demonstration moved from broadly related advice to a particular assistance location after reranking. That single example illustrates a possible ordering improvement; it does not establish a general quality gain or independently verify the location.

Relevance judgments and test collections

A relevance judgment assesses an item against a stated need. Qrels record query-item judgments; an assessor applies the criteria. A test collection binds these judgments to queries and documents. Pooling selects items for assessment from leading results of several systems, rather than judging every possible document.

Each case should specify the original need, requester context, eligible corpus snapshot, passage or document counting unit, and relevance rubric. Reuse judgment design and independent assessment boundaries. A current procedure and its historical revision can receive different judgments because the requested task differs.

For the documentation fixture, use this explicit passage rubric.
AssessmentFixture labelInterpretation
Directly useful procedure2Substantially answers the procedural need.
Useful qualification1Contributes necessary but incomplete information.
Related but not useful, or irrelevant0Does not help satisfy this need.
Not assessedUnjudgedNo relevance conclusion has been recorded.

Label meanings are local to the task. TREC’s passage benchmark, for example, treats its grade 1 as related but nonrelevant for binary metrics; the fixture above deliberately defines grade 1 differently. Disagreement can reveal an unclear criterion or genuinely partial usefulness. Automated judges require validation against independent judgments.

Unjudged is not an assessor’s negative judgment, even when evaluation software scores it as nonrelevant. Pools may miss discoveries from a new retrieval method. Corpus releases can also remove records or change identifiers. Use judgments matched to the corpus that produced the run, and report assessment coverage.

Coverage and ordering at explicit cutoffs

P=RGR,Recall=RGGP=\frac{|R\cap G|}{|R|},\qquad \operatorname{Recall}=\frac{|R\cap G|}{|G|} Here RR is the returned set and GG the relevant eligible set. Precision measures the useful share returned; recall measures the relevant share recovered. Keep their counting units identical. Empty denominators are undefined and require an explicit reporting convention.

For a fixed Leon snapshot, assess five current passages. A is the retry procedure, B its useful exception, C the merely related glossary, D another relevant recovery procedure, and E an unrelated entry. Set grades to A=2, B=1, C=0, D=2, E=0. Thus the binary relevant set is G={A,B,D}.

The candidate list contains C, A, B, E; D is absent.
RankRecordGradeWithin top 2Within top 4
1C0YesYes
2A2YesYes
3B1NoYes
4E0NoYes
Not retrievedD2NoNo

Use fixed-k Precision@k: divide relevant top-k items by k, treating unfilled positions as nonrelevant. Precision@2 and Precision@4 are both 1/2; Recall@2 is 1/3 and Recall@4 is 2/3. Precision over an actually returned shorter list uses its actual size instead. Candidate Recall@4 caps downstream recovery at 2/3.

Reciprocal rank is 1 divided by the first relevant rank, or zero when none appears before the cutoff. MRR averages this quantity across queries. Here reciprocal rank is 1/2. It rewards reaching useful material early but ignores whether the other relevant records are found.

DCG@k=i=1k2gi1log2(i+1),nDCG@k=DCG@kIDCG@k\operatorname{DCG}@k=\sum_{i=1}^{k}\frac{2^{g_i}-1}{\log_2(i+1)},\qquad \operatorname{nDCG}@k=\frac{\operatorname{DCG}@k}{\operatorname{IDCG}@k} Grade gig_i determines gain; rank discounts it. IDCG uses the ideal ordering of all judged eligible items at the same cutoff. Here nDCG@4 is approximately 2.393/5.393=0.4442.393/5.393=0.444, with ideal grades [2,2,1,0]. Zero ideal gain is reported undefined.

ANN Recall@k uses exact vector neighbors as its reference set, rather than human-relevant passages. Recovering all exact neighbors can coexist with poor relevance. The two measures diagnose different boundaries: approximation quality and usefulness of the representation.

Specify query averaging, tie-breaking, excluded cases, duplicate handling, and judgment coverage. Equal-query means give each included query one vote; they do not automatically represent traffic. For no-positive queries, report the chosen exclusion convention and empty-result behavior separately. Metric boundaries explain why missing denominators cannot silently become success.

Controlled comparisons and failure localization

An ablation changes or removes one component to test its contribution. A query slice groups meaningful cases, such as identifiers, paraphrases, languages, long documents, or restrictive filters. Compare lexical, dense, hybrid, and reranked variants on matched requests and corpus versions, recording both quality and resource use. Retrieval effectiveness does not transfer uniformly across domains.

Inspect the earliest boundary where required information disappears.
ObservationDiscriminating check
Source information absentInspect the eligible source revision before changing retrieval.
Source present; derived record damagedCompare saved normalized content and chunk boundaries with the source.
Record present; candidate missingInspect branch outputs and compare ANN with exact search.
Candidate present; final position poorHold candidates fixed and inspect scorer input and ordering.
Unexpected user or revision resultCheck permission synchronization and searchable update completion.

A controlled replay can restore an omitted qualification while holding the query, candidate identities, scorer, and other settings fixed. An improvement supports that input boundary as a cause; it does not establish a deployable repair. Match length and position where feasible, because changing them introduces additional explanations.

Comparators must share relevant constraints. Kuba Rogut’s code-retrieval experiment separated default reads, windowed reads, and windowed reads plus semantic search. Comparing only the first and third conditions would confound retrieval availability with read-window changes. Its context metrics also do not establish downstream task completion.

Clicks depend on exposure as well as usefulness: a low-ranked result may never be examined. Missing clicks are therefore not explicit negative judgments. Deployed ordering influences the feedback later available for improvement. Controlled comparisons, uncertainty, and live evidence provide the broader experimental framework.

Permissions across retrieval and disclosure

Authentication establishes identity; authorization determines permitted access. A principal is the user or group whose rights matter. A tenant is an organizational isolation scope. An access-control list, or ACL, records access relationships. Authorization boundaries apply to the requester, independently of the indexer’s broader credentials.

Permission metadata must reach each searchable chunk and any separately queryable parent. Synchronization is path-specific: Azure’s SharePoint preview documents permission lag and parent-scope changes that subsequent indexer runs do not automatically capture. Inherited fields alone therefore cannot establish current access.

Content reuse does not reuse permission

Example

Cached candidates still encounter a disclosure gate.

Proposed service policy: trusted identity determines scope. Candidate content, including cached content, passes the required access check before disclosure. Unresolved or denied access terminates without content.
Read the diagram as text
  • Authenticated request.
  • Resolve access scope.
  • Scoped retrieval.
  • Cached candidate content.
  • Disclosure access check.
  • Approved scorer or consumer.
  • Withhold content.
  • Authenticated requestResolve access scope: Control: trusted principal.
  • Resolve access scopeScoped retrieval: Control: allowed scope.
  • Resolve access scopeDisclosure access check: Control: required access state.
  • Scoped retrievalDisclosure access check: Data: candidate content.
  • Cached candidate contentDisclosure access check: Data: cached content.
  • Disclosure access checkApproved scorer or consumer: Allowed: authorized data.
  • Disclosure access checkWithhold content: Denied or unresolved: stop.

Filtering before candidate selection and filtering a bounded shortlist have different coverage effects. Neither placement excuses unauthorized disclosure. Rejected content must not reach an unapproved reranker, snippet, cache consumer, or response. A restrictive post-filter can produce an empty list without proving that no eligible records exist elsewhere.

Visible hits are only one disclosure surface. Elasticsearch documents global statistics in relevance scoring and possible aggregate exposure involving inaccessible documents. Counts, terms, and field names need isolation tests too. Its documented behavior is a product-specific boundary, not a claim that every filtered search system leaks identically.

Content and permission freshness interact. After access is revoked, checking newly added content against an older ACL can disclose it. Zanzibar addresses this with consistency tokens tying authorization freshness to content versions. For this documentation service, the proposed policy withholds disclosure whenever the required authorization freshness cannot be established.

Relevant, authorized text can still contain hostile instructions. Retrieval establishes neither instruction authority nor permission to perform an action described inside a document. Preserve the distinction between content and commands through untrusted-content handling.

Revisions, deletion, and searchable visibility

An indexing acknowledgment need not mean a change is searchable. Refresh makes indexed changes visible to search. Elasticsearch can wait for that visibility or force a refresh; forcing frequent refreshes adds indexing, search, and merge costs. Visibility is a separate completion boundary.

For the fixture, track four distinct facts: when the source changed, when ingestion processed it, when search could retrieve it, and which revision the application declares applicable to the requested period. The last is an explicit documentation rule. A newly ingested historical revision must not automatically replace the current procedure.

Prepared is not yet searchable

Example

Source identity persists while availability changes.

1 / 3 · Existing state

Current search serves r1.

A proposed revision rollout retains both revision identities. Preparation alone leaves r1 current. Completion requires observing r2 in current search and excluding r1 from that view; historical retention is separate.
Read the diagram as text
  • Procedure P.
  • Revision r1.
  • Revision r2.
  • r1 current-search visible.
  • r2 prepared.
  • r2 current-search visible.
  • r1 excluded from current search.
  • Procedure PRevision r1: Has revision.
  • Procedure PRevision r2: Has revision.
  • Revision r1r1 current-search visible: Observed availability.
  • Revision r2r2 prepared: Preparation completed.
  • Revision r2r2 current-search visible: Visibility verified.
  • Revision r1r1 excluded from current search: Exclusion verified.
  1. Existing state. Current search serves r1. Active: Procedure P, Revision r1, r1 current-search visible. New: Procedure P, Revision r1, r1 current-search visible.
  2. Replacement prepared. r2 exists; its search visibility is not established. Active: Procedure P, Revision r1, r1 current-search visible, Revision r2, r2 prepared. New: Revision r2, r2 prepared.
  3. Serving change verified. New availability states replace the prior snapshot. Active: Procedure P, Revision r1, Revision r2, r2 current-search visible, r1 excluded from current search. New: r2 current-search visible, r1 excluded from current search.

Incremental indexing processes detected changes instead of rebuilding everything. Updating a parent can replace its derived chunk identities; cleanup must remove obsolete chunks from the current search view. Change detection and ingestion scheduling do not, by themselves, prove that the serving result has changed.

A tombstone is an observable deletion marker. Removing a source without one can leave indexed records behind. The marker must survive long enough for processing and recovery. Connector restrictions matter: Azure’s documented blob soft-deletion policies exclude one-to-many indexing, which requires explicit deletion of those derived entries.

Reindexing builds replacement searchable representations. A proposed migration prepares and validates the replacement, coordinates its query encoder and index route, verifies live results, and only then retires obsolete derivatives. An index alias can switch targets, but it does not coordinate encoder versions or caches. Alias action error handling also needs explicit configuration.

Correction, revocation, and deletion need separate completion checks. A corrected procedure may remain accessible; a revoked one must become inaccessible to the affected user; a deleted one requires derivative cleanup. Verify serving replicas and caches as well as indexes. Lifecycle fulfillment distinguishes these obligations; searchable absence is not proof of physical erasure.

Latency, capacity, and bounded degradation

The critical path is the dependency chain determining completion time. Fan-out sends work to multiple branches; waiting for every required branch exposes the request to stragglers. Parallel branch durations do not add directly to elapsed time.

Measure end-to-end latency, including queueing before execution. The p95 and p99 are the times within which 95% and 99% of the measured requests finish; stage percentiles cannot simply be added. Operational measurements should retain workload, concurrency, completion status, and version context.

Parallel retrieval within one request

Example timings

The required vector branch delays fusion.

Retrieval request0100 msDuration 100 ms
Queue wait010 msDuration 10 msWithin Retrieval request
Query preparation1020 msDuration 10 msWithin Retrieval request
Lexical retrieval2040 msDuration 20 msWithin Retrieval request
Vector retrieval2065 msDuration 45 msWithin Retrieval request
Fusion6570 msDuration 5 msWithin Retrieval request
Reranking7090 msDuration 20 msWithin Retrieval request
Result materialization90100 msDuration 10 msWithin Retrieval request
This request waits for both retrieval branches. Their overlap reduces elapsed time: the request lasts 100 ms, while its child spans sum to 120 ms. Do not sum overlapping spans as elapsed time. Parentage denotes containment, not dependency.
Read the diagram as text
  • Retrieval request. 0 to 100 ms; duration 100 ms.
  • Queue wait. 0 to 10 ms; duration 10 ms. Parent: Retrieval request.
  • Query preparation. 10 to 20 ms; duration 10 ms. Parent: Retrieval request.
  • Lexical retrieval. 20 to 40 ms; duration 20 ms. Parent: Retrieval request.
  • Vector retrieval. 20 to 65 ms; duration 45 ms. Parent: Retrieval request.
  • Fusion. 65 to 70 ms; duration 5 ms. Parent: Retrieval request.
  • Reranking. 70 to 90 ms; duration 20 ms. Parent: Retrieval request.
  • Result materialization. 90 to 100 ms; duration 10 ms. Parent: Retrieval request.

Branch depth, ANN exploration, reranking count, and scoring-input length consume different resources. A deadline caps waiting, not the amount of relevant information that exists. Compare configurations at matched quality requirements; measure whether extra work recovers evidence or merely increases latency.

Proposed deadline policy for the documentation service
ConditionPermitted response
One retrieval branch failsReturn authorized surviving results only if partial retrieval is allowed; mark the missing branch.
Reranker times outUse the earlier ordering only under an explicit fallback policy; identify reranking as incomplete.
Mandatory access or validity unresolvedWithhold results; the deadline does not relax mandatory requirements.

Cancel unnecessary work after the deadline under the service’s execution policy. Record unfinished branches rather than labeling them empty. Vespa’s coverage and degradation fields illustrate how timeout, missing responses, and matching limits can accompany a returned list. Execution coverage is not relevance recall.

A proposed cache contract keys content reuse by query and filters, corpus snapshot, and representation version, then revalidates requester access before disclosure. A cached ranking cannot grant enduring permission. The exact invalidation and consistency protocol must be established for the deployment; naming these fields does not implement it.

The ranked retrieval response

A usable response preserves ordered content, source and revision identities, chunk locations, structural context, and the meaning of each score. Include corpus and representation versions plus execution status. Keep sensitive permission details out of the public payload. This is an application interface design, not a universal engine response schema.

One possible completed response to Leon’s current recovery request
OrderSource / revisionPassagesPreserved meaning
1P / r2A: steps; B: exception30-second wait, with migration restriction.
2Recovery guide / r1D: additional procedureA distinct authorized recovery path.

Grouping by source and revision can present several passages together. It does not establish semantic deduplication or diverse coverage. Engine hit counts may still count ungrouped passages. Historical revisions and distinct exceptions should remain separate when the task requires them; collapsing them because their wording overlaps would discard useful distinctions.

StatusInterpretation
Complete, nonemptyExecution completed and returned selected records.
Complete, emptyExecution completed with no accepted results.
PartialSome required search work did not complete.
FailedNo response satisfying the required execution contract is available.

Completion does not establish exhaustive relevance: a top-k cutoff can still exclude another useful record. Retrieval supplies selected evidence and the conditions of its selection. Retrieval-Augmented Generation uses such material to support answers; answer correctness and citation support require additional evaluation beyond a successful search.

Open questions

  1. Establishing completeness for exploratory retrieval remains difficult because another qualifying record may lie beyond any fixed cutoff. Progress would mean a coverage certificate or independently verified enumeration for a defined corpus snapshot, rather than merely increasing k.

  2. Preserving distant qualifications under bounded scoring remains unresolved across document shapes. Larger inputs cost more and can still truncate decisive material. Progress would retain cross-section exceptions in recorded scorer inputs while improving judged ordering under a fixed resource budget.

  3. Consistent revocation across projected chunks and cached results remains hard when permission changes arrive through different synchronization paths. Progress requires measured revocation completion for each path, including parent-scope changes and unavailable authorization services.

  4. Choosing search effort per request requires predicting where additional exploration will recover useful records that are currently unseen. Progress would reduce deadline failures at matched relevance recall across identifier, paraphrase, and restrictive-filter slices, without hiding underfilled responses.

Follow the curated reading path through the speakers and demonstrations behind this entry.

Explore more talks

The rest of the library, beyond the curated path. Cited talks support this entry; reviewed transcripts were processed in full. Metadata candidates have not been reviewed as sources or verified as topic members.

14 matching talks

TalkSpeakerEventYear
Anton TroynikovAI Engineer Summit 20232023
Brandon WaselnukAI Engineer Europe 20262026
Shawn ChanAI Engineer World's Fair 20262026
Sohail Shaikh, Ankush RastogiAI Engineer World's Fair 20262026
Lance MartinAI Engineer World's Fair 20242024
Stephen Chin, Jonathan LoweAI Engineer Summit 20252025
Frank LiuAI Engineer World's Fair 20252025
Jonathan FernandesAI Engineer World's Fair 20252025
Pablo CastroAI Engineer World's Fair 20242024
Paul CopplestoneAI Engineer Summit 20232023
Atita Arora, Deanna EmeryAI Engineer World's Fair 20242024
Mukuntha Narayanan, Han WangAI Engineer World's Fair 20252025
Kyle KranenAI Engineer World's Fair 20252025
Vivek MuppallaAI Engineer World's Fair 20262026

References

Coverage and source review
Processed transcripts
20 processed in full · 6 in the curated path
Automated source review
Passed
Metadata candidates
0 unreviewed; not verified topic membership
Corpus version
1bd8e407b26a07b33815594e1b2db5f41827119a2b3cb6fbf240f9fc571fc767

Automated review checks source support; it is not publication approval.

A synthesis of selected conference talks and technical references. Citations link to the source material; they do not imply that every talk on this subject is included.

  1. Introduction to Information Retrieval: Okapi BM25

    Manning, Raghavan and Schütze; BM25 section and equations 84–87.

  2. pgvector README

    Indexing, HNSW, IVFFlat, and probe controls; exact-baseline comparison is an explicit evaluation application.

  3. How To TREC

    NIST terminology and shared-task evaluation process; foundational vocabulary for retrieval contracts and relevance assessment.

  4. Introduction to Information Retrieval: Near-duplicates and shingling

    Near-duplicates and shingling; shingle-set definition, Jaccard threshold, equation 247, sketches and syntactic clustering.

  5. Anchoring Enterprise GenAI with Knowledge Graphs

    Representing document structure at multiple granularities lets a team investigate which chunk sizes return useful results and refine its chunking strategy.

  6. Keyword type family — Elasticsearch

    Mapping numeric identifiers and keyword field indexing limits; applicable to exact documentation identifiers.

  7. Architecting and Testing Controllable Agents

    Decouple the indexed retrieval unit from the context supplied for answer generation.

  8. RAG Evaluation Is Broken! Here's Why (And How to Fix It)

    A fixed top-K retrieval cutoff cannot by itself establish completeness for questions asking for all matching entities.

  9. Query and filter context — Elasticsearch

    Query/filter semantics and the documented compound search example.

  10. Enabling Large Language Models to Generate Text with Citations

    Gao et al., 2023; section 3.3 and human citation-evaluation protocol.

  11. Retrieve & Re-Rank — Sentence Transformers

    Retrieval, cross-encoder reranking, and the published paragraph-search workflow.

  12. Retrieval Augmented Generation in the Wild

    Nearest-neighbor retrieval returns candidates even when the corpus cannot answer the query; rank alone does not establish relevance.

  13. Define an index projection for parent-child indexing — Azure AI Search

    Parent-child schemas, projected keys, updates, deletion detection, and parent lookups.

  14. The RAG Stack We Landed On After 37 Fails

    Inspect the retrieved source nodes and their original files to see which material supplied the answer.

  15. Chunk large documents for RAG and vector search — Azure AI Search

    Chunking approaches, content overlap, and retrieval granularity; excludes generation and context packing.

  16. Use a SharePoint indexer to ingest permission metadata — Azure AI Search

    2026-05-01-preview limitations and chunked ACL mapping requirements.

  17. Information Retrieval from the Ground Up

    Chunking limits the context each vector must represent and makes it possible to locate and link to the relevant passage.

  18. Chunking — Docling

    HybridChunker refinement and repeated table headers; takes structured documents as input.

  19. TREC 2023 Deep Learning Track

    Published 2023 task judgment scales, duplicate classes, and passage-to-document judgment conversion.

  20. Index and search analysis — Elasticsearch

    Index-time versus query-time analysis and the documented prefix-search counterexample.

  21. PostgreSQL 17: Controlling Text Search

    Parsing Documents, Parsing Queries, and Ranking Search Results; published fixtures only.

  22. Introduction to Information Retrieval: Positional indexes

    Positional postings, phrase-query processing, and within-k-word proximity searches; complements the supplied inverted-index note.

  23. Introduction to Information Retrieval: A first take at building an inverted index

    Index-construction steps 1–4; term–docID sorting, dictionary and postings description; query-processing implication of docID ordering.

  24. Information Retrieval from the Ground Up

    Stop-word removal can erase an entire meaningful phrase or discard negation, so its usefulness depends on the retrieval task.

  25. Information Retrieval from the Ground Up

    Use language-appropriate analyzers and separate language fields or indices to avoid applying incorrect rules and mixing frequency statistics.

  26. Information Retrieval from the Ground Up

    Rule-based normalization does not supply word meaning; synonym mappings can bridge vocabulary differences but remain context-blind.

  27. Introduction to Information Retrieval: Pseudo relevance feedback

    Automatic local query reformulation and its documented failure mechanism.

  28. Information Retrieval from the Ground Up

    An inverted index moves token extraction and lookup preparation to ingestion; stored offsets and positions support highlighting and phrase checks.

  29. Information Retrieval from the Ground Up

    Lexical ranking combines term frequency, corpus rarity, and field-length normalization; equal term counts do not imply equal scores.

  30. Dense Passage Retrieval for Open-Domain Question Answering

    Primary paper version 3, sections 1 and 3; dual encoders, dot-product scoring, offline indexing, and negatives.

  31. Layering every technique in RAG, one query at a time

    Use lexical retrieval for term-oriented queries and investigate relevance embeddings when failures involve natural-language paraphrases; embeddings can still miss keyword matches.

  32. Information Retrieval from the Ground Up

    Dense retrieval can return nearby documents even when their relevance is weak; model suitability must be evaluated on the intended data and queries.

  33. Information Retrieval from the Ground Up

    SPLADE-style sparse retrieval uses learned weighted token expansion, offering inspectable matches at the risk of broad and expensive query execution.

  34. RAG at scale: production-ready GenAI apps with Azure AI Search

    Use exhaustive search as a precise baseline when evaluating approximate nearest-neighbor retrieval.

  35. Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs

    Malkov and Yashunin; graph construction and search algorithms, including ef candidate-list control.

  36. Vector Query Filters — Azure AI Search

    Documented distributed filtering modes and false-negative mechanisms.

  37. Vector Search Benchmark[eting]

    Configuration choices can bias a comparison even without intentional manipulation.

  38. Vector Search Benchmark[eting]

    Compare approximate nearest-neighbor performance alongside precision and recall, with search parameters disclosed.

  39. Relevance scoring in hybrid search using Reciprocal Rank Fusion — Azure AI Search

    Official technical documentation; RRF process and ranking stages.

  40. Normalization processor — OpenSearch

    Normalization bounds, combination weights, published configuration example, and failure semantics; complements reused RRF evidence.

  41. RAG at scale: production-ready GenAI apps with Azure AI Search

    The vector candidate count and final hybrid result count are separate controls.

  42. Layering every technique in RAG, one query at a time

    Cross-encoders can resolve competing retrieval candidates through joint query-document scoring, but their expense motivates a retrieve-then-rerank pipeline.

  43. The RAG Stack We Landed On After 37 Fails

    The speaker identifies joint query-document cross-encoding as a scaling bottleneck, especially as document size grows.

  44. Pointwise, pairwise and listwise learning to rank

    Section 1.2.3; sections 2–4, especially RankNet equations 3.3–3.4 and ListMLE equation 4.13.

  45. Layering every technique in RAG, one query at a time

    Ranking needs domain constraints, corpus structure, and user preferences in addition to relevance—the speaker distinguishes horizontal semantics from vertical semantics.

  46. MS MARCO Cross-Encoders — Sentence Transformers

    Published inference examples and Models & Performance table; inspected upstream assertions only.

  47. RAG at scale: production-ready GenAI apps with Azure AI Search

    Retain full-precision vectors alongside quantized representations, retrieve an oversampled candidate set, then rerank at full precision.

  48. The RAG Stack We Landed On After 37 Fails

    Adding Cohere re-ranking to Qdrant retrieval produced the most useful answer in the speaker's station-help example: a specific assistance booth.

  49. TREC-COVID Round 5 Relevance Judgments

    Original benchmark instructions for corpus changes, judgment bookkeeping, and incomplete assessment.

  50. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena

    Sections 3.1, 3.3–3.4 and 4.1–4.3; Appendix B bias examples; Appendix D.3 agreement evaluation.

  51. Introduction to Information Retrieval: evaluation of unranked retrieval sets

    Evaluation of unranked retrieval sets, equations 36–39 and 41.

  52. Introduction to Information Retrieval: Ranked evaluation

    Equation 44 and its normalization explanation. State the gain convention, relevance scale and cutoff when reproducing an example.

  53. Sentence Transformers InformationRetrievalEvaluator implementation

    InformationRetrievalEvaluator initialization, compute_metrics, compute_dcg_at_k and averaging loops; worked example calculated from those definitions.

  54. BEIR: A Heterogenous Benchmark for Zero-shot Evaluation of Information Retrieval Models

    Primary paper version 2, abstract and introduction; zero-shot transfer and effectiveness-cost tradeoffs.

  55. NIST randomized blocks: applying controlled comparisons to RAG evidence

    Blocking and randomization principles; all RAG intervention details are proposed engineering applications.

  56. Bypassing the Multimodal Tax: Framework-Free Hybrid RAG, Raw SQL RRF, and Live UI Telemetry

    A structure-first ingestion pipeline makes document representation and chunk boundaries inspectable before retrieval.

  57. The refresh parameter — Elasticsearch

    Refresh semantics for write operations and documented performance consequences.

  58. Benchmarking semantic code retrieval on Claude Code

    The experiment introduced a maximum of fifty lines per read because whole-file reads made retrieval differences difficult to distinguish.

  59. Benchmarking semantic code retrieval on Claude Code

    In the speaker's fifty-task evaluation, windowing plus semantic search improved precision, but default Claude Code retained the best file recall and the two windowed conditions had roughly similar recall.

  60. Unbiased Learning-to-Rank with Biased Feedback

    Joachims et al., 2017; sections 3–5 on empirical risk, IPS and position-based propensity modeling.

  61. Security filters for trimming results — Azure AI Search

    Application-managed security trimming, principal matching, and the documented boundary of nonretrievable fields.

  62. Zanzibar: Google’s Consistent, Global Authorization System

    Sections 2.1–2.2: ACL relationships, the new-enemy examples, and content-version consistency tokens.

  63. Controlling access at the document and field level — Elasticsearch

    Document-level security configuration and documented limitations.

  64. Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection

    Primary paper abstract, version 2; attack mechanism and demonstrated application classes.

  65. RAG at scale: production-ready GenAI apps with Azure AI Search

    Use change-tracking ingestion that processes changed source data through parsing, chunking, vectorization, and indexing.

  66. Changed and Deleted Blobs — Azure AI Search

    Opening deletion-policy warning; Prerequisites; Native blob soft delete requirements and retention; Reindex undeleted blobs; Soft delete strategy using custom metadata. Limitations: one-to-many indexing.

  67. Aliases — Elasticsearch

    Alias target switching, multiple-action error handling, and filter limitations.

  68. The Tail at Scale

    Latency variability, fan-out amplification, and the explicitly identified retrieval-timeline application.

  69. OpenTelemetry: Traces

    Official trace concepts; spans, attributes, events, links and status.

  70. Graceful Query Coverage Degradation — Vespa

    Coverage definitions, timeout mechanisms, and documented response fields.

  71. Collapse search results — Elasticsearch

    Collapse semantics, inner-hit expansion, counts, and the explicit passage-grouping application.

  72. Information Retrieval from the Ground Up

    Retrieve a limited candidate set cheaply, then apply the expensive scoring model only to those candidates.

  73. Information Retrieval from the Ground Up

    Use Boolean filters for hard eligibility and rank features for preferences among eligible results.

  74. Information Retrieval from the Ground Up

    Apply compatible normalization at ingestion and query time, then inspect the configured field's analysis rather than assuming its output.

  75. Information Retrieval from the Ground Up

    Reciprocal rank fusion (RRF) combines result positions without requiring comparable raw scores; normalized weighted scoring is a separate option.