Inverted index 2026-11-05
An inverted index maps each indexing term to the documents containing it. A term dictionary provides access to a postings list; each posting records a document identifier, sometimes with additional information such as occurrence positions. A positional index retains those positions for queries involving word order.[ref]
Consider documents one red boat, two blue boat and three red train. The postings list for red is 1,3, and that for boat is 1,2. Intersecting them answers red AND boat with document one, without scanning every document's complete text at query time. Sorting document identifiers permits a coordinated traversal of both lists. Preprocessing decisions still matter: an inverted index for case-folded terms answers a different matching question from one preserving exact capitalization. The data structure accelerates access; it does not itself establish relevance.
Phrase query 2026-11-05
A phrase query asks for documents containing a specified sequence of indexed terms in the required order. For an exact phrase query, the occurrences occupy consecutive positions. A document containing every requested word can still fail because its words occur in a different order or with intervening terms.[ref]
Let be the set of positions of term in document . For query terms , an exact match exists when
A positional index stores the information needed to test these offsets. Repeated query terms need their own offsets even though their positions come from the same postings list.[ref]
Number words from one, without removing any. Document 1 is red red boat, document 2 is boat red red, and document 3 is blue boat. The exact phrase query red boat matches only document 1, at positions 2–3. Document 2 has exactly the same term frequencies as document 1, but its boat occurs before both red occurrences. Intersecting document identifiers for the two terms would retain it incorrectly.
Phrase semantics depend on the indexing pipeline. If some words are removed, preserving their position gaps can prevent a false claim of adjacency. A search allowing intervening words is a different matching condition; quotation marks alone do not specify every implementation's preprocessing choices.
Positional index 2026-11-05
A positional index is an inverted index whose postings lists retain the positions of a term's occurrences within each document. These positions distinguish a phrase query from a request for documents merely containing the same words. Positions usually count the terms produced by the indexing pipeline; they need not be character offsets.[ref]
Number words from one. For document 1, red boat red sail, store positions red: 1,3, boat: 2, sail: 4. For document 2, boat red sail, store red: 2, boat: 1, sail: 3. The phrase query red boat asks whether a position of red has a position of boat in the same document. Document 1 qualifies at ; document 2 contains both words but fails. The phrase query red sail matches both documents.
A positional index spends additional storage to preserve ordering information. Removing words during preprocessing without preserving their position gaps can change phrase semantics: the index must specify what counts as adjacent. The same position data can support queries allowing a bounded separation, rather than exact adjacency.
Postings list 2026-11-05
A postings list is the collection of records associated with one term in an inverted index. Each record identifies a document containing the term; optional fields include its term frequency in that document and, for a positional index, occurrence positions. The number of distinct document records is the document frequency, which differs from the total number of occurrences.[ref]
For documents 1 red red boat, 2 blue boat, and 3 red train, the document identifiers in the red postings list are . Its document frequency is two, although red occurs three times. The boat postings list contains . Their intersection is , answering red AND boat.
With identifiers in increasing order, compare the current identifiers and advance whichever is smaller; when equal, emit that identifier and advance both. Each advancement consumes a record, so intersecting lists of lengths costs comparisons in this simple merge algorithm. Ordering gives a direct route from stored evidence to a query result without reading every document's text.[ref]
Term frequency 2026-11-05
The raw term frequency counts occurrences of term in one document , after the chosen indexing preprocessing. It records how often the term appears there. Document frequency instead counts how many documents contain the term.[ref]
For indexed terms , the indicator function gives
In red red boat, the raw term frequency of red is two and that of boat is one. The proportions and are normalized counts; they are not the raw counts in this convention.
Reordering the document to boat red red preserves both term frequencies but changes which phrase queries match. Counts therefore compress away ordering information. A positional index can retain the occurrence positions as well as the counts.[ref]
A retrieval score can use term frequency as evidence that a document discusses a query term, but repetition alone does not establish relevance. Nor must doubling a raw count double a score: a scoring rule can deliberately reduce the effect of repeated occurrences. Whenever a transformed or normalized quantity is called term frequency, its formula should be specified.