1 .. Copyright (C) 2007 Jenny Black
2 .. Copyright (C) 2007,2008,2009,2011 Olly Betts
3 .. Copyright (C) 2007 Deron Meranda
9 This glossary defines specialized terminology you may encounter while using
10 Xapian. Some of the entries are standard in the field of Information
11 Retrieval, while others have a specific meaning in the context of Xapian.
13 .. The first sentence should ideally work alone to allow us to reuse these
14 .. in the future to generate pop-up information when the user moves the mouse
15 .. over the term used in the documentation.
18 The weighting scheme which Xapian uses by default. BM25 is a refinement on
19 the original probabilistic weighting scheme, and recent TREC tests have shown
20 BM25 to be the best of the known probabilistic weighting schemes. It's
21 sometimes known as "Okapi BM25" since it was first implemented in an
22 academic IR system called Okapi.
25 Retrieving the set of documents that match a boolean query (e.g. a
26 list of terms joined with a combination of operators such as AND, OR,
27 AND_NOT). In many systems, these documents are not ranked according to their
28 relevance. In Xapian, a pure Boolean query may be used, or alternatively a
29 Boolean style query can filter the retrieved documents, which are then ranked
30 using a weighting formula.
33 Brass was the current "under development" database format in Xapian 1.2.x,
34 1.3.0 and 1.3.1. It was renamed to 'glass' in Xapian 1.3.2 because we decided
35 to use backend names in ascending alphabetical order to make it easier to
36 understand which backend is newest, and since 'flint' was used recently, we
37 skipped over 'd', 'e' and 'f'.
40 Chert was the stable database format used in Xapian 1.2.x. It is similar
41 to Flint in many ways, but generally faster, and uses significantly less disk
42 space. Chert is very efficient and highly scalable. It supports incremental
43 modifications, and concurrent single-writer and multiple-reader access to a
46 **Collection Frequency**
47 The collection frequency of a term is the total number of times is occurs in
48 the database. This is equal to the sum of the within-document frequency for
49 the term in all the documents it occurs in.
52 In Xapian (as opposed to a relational database system) a database consists of
53 little more than indexed documents: this reflects the purpose of Xapian as an
54 information retrieval system, rather than an information storage system.
55 These may also occasionally be called Indexes. Glass is the default backend
56 used by Xapian 1.4; Chert was the default backend used by Xapian 1.2; Flint
57 was used by Xapian 1.0; Quartz was used prior to Xapian 1.0.
60 A unique positive integer identifying a document in a Xapian database.
63 The document data is one of several types of information that can be
64 associated with each document, the contents can be set to be anything in any
65 format, examples include fields such as URL, document title, and an excerpt of
66 text from the document. If you wish to interoperate with Omega, it should
67 contain name=value pairs, one per line (recent versions of Omega also support
68 one field value per line, and can assign names to line numbers in the
72 These are the items that are being retrieved. Often they will be text
73 documents (e.g. web pages, email messages, word processor documents)
74 but they could be sections within such a document, or photos, video, music,
75 user profiles, or anything else you want to index.
78 A measure of how many "edits" are required to turn one text string into
79 another, used to suggest spelling corrections. The algorithm Xapian uses
80 counts an edit as any of inserting a character, deleting a character,
81 changing a character, or transposing two adjacent characters.
84 The Expand Set (ESet) is a ranked list of terms that could be used to expand
85 the original query. These terms are those which are statistically good
86 differentiators between relevant and non-relevant documents.
89 Flint was the default database format used in Xapian 1.0.x. It was
90 deprecated in 1.2.x and removed in 1.3.0.
93 Glass is the default database format in Xapian 1.4.
96 If a document is described by a term, this term is said to index the document.
97 Also, the database in Xapian and other IR systems is sometimes called an index
98 (by analogy with the index in the back of a book).
101 The indexer takes documents (in various formats) and processes them so that they
102 can be searched efficiently, they are then stored in the database.
105 The information need is what the user is looking for. They will usually
106 attempt to express this as a query string.
108 **Information Retrieval (IR)**
109 Information Retrieval is the "science of search". It's the name used to
110 refer to the study of search and related topics in academia.
113 The Match Set (MSet) is a ranked list of documents resulting from a query.
114 The list is ranked according to document weighting, so the top document has
115 the highest probability of relevance, the second document the second highest,
116 and so on. The number of documents in the MSet can be controlled, so it does
117 not usually contain all of the matching documents.
119 **Normalised document length (ndl)**
120 The normalised document length (ndl) is the length of a document (the number
121 of terms it contains) divided by the average length of the documents
122 within the system. So an average length document would have ndl equal to 1,
123 while shorter documents have ndl less than 1, and longer documents greater
127 Omega comprises two indexers and a CGI search application built using the
131 A posting list is a list of the documents which a specific term indexes. This
132 can be thought of as a list of numbers - the document IDs.
135 An instance of a particular term indexing a particular document.
138 Precision is the density of relevant documents amongst those retrieved: the
139 number of relevant documents returned divided by the total number of documents
143 Probabilistic IR is retrieval using a weighting formula derived from
144 probability theory to produce a ranked list of documents based upon estimated
145 relevance. Xapian supports several families of weighting schemes, some of
146 which are based on probabilistic methods.
149 Quartz was the database format used by Xapian prior to version 1.0. Support
150 was dropped completely as of Xapian 1.1.0.
153 A query is the information need expressed in a form that an IR system can
154 read. It is usually a text string containing terms, and may include Boolean
155 operators such as AND or OR, etc.
158 Modifying a query in an attempt to broaden the search results.
162 **RSet (Relevance Set)**
163 The Relevance Set (RSet) is the set of documents which have been marked by the
164 user as relevant. They can be used to suggest terms that the user may want to
165 add to the query (these terms form an ESet), and also to adjust term weights
166 to reorder query results.
169 Recall is the proportion of relevant documents retrieved - the number of
170 relevant documents retrieved divided by the total number of relevant
174 Essentially, a document is relevant if it is what the user wanted. Ideally,
175 the retrieved documents will all be relevant, and the non-retrieved ones all
179 The searcher is a part of the IR system, it takes queries and reads the
180 database to return a list of relevant documents.
183 A stemming algorithm performs linguistic normalisation by reducing variant
184 forms of a word to a common form. In English, this mainly involves removing
185 suffixes - such as converting any of the words "talking", "talks", or "talked"
186 to the stem form "talk".
189 A word which is ignored during indexing and/or searching, usually because it
190 is very common or doesn't convey meaning. For example, "the", "a", "to".
193 Xapian can store synonyms for terms, and use these to implement one approach
197 A term list is the list of terms that index a specific document. In some
198 systems this may be a list of numbers (with each term represented by a number
199 internally), in Xapian it is a list of strings (the terms).
202 The term frequency of a specific term is the number of documents in the system
203 that are indexed by that term.
206 A term is a string of bytes (often a word or word stem) which describes a
207 document. Terms are similar to the index entries found in the back of a book
208 and each document may be described by many terms. A query is composed from
209 a list of terms (perhaps linked by Boolean operators).
212 By convention, terms in Xapian can be prefixed to indicate a field in the
213 document which they come from, or some other form of type information.
214 The term prefix is usually a single capital letter.
217 A test collection consists of a set of documents and a set of queries each of
218 which has a complete set of relevance assignments - this is used to test how
219 well different IR methods perform.
222 A standard variable-length byte-oriented encoding for Unicode.
225 A discrete meta-data attribute attached to a document. Each document can
226 have many values, each stored in a different numbered slot. Values are
227 designed to be fast to access during the matching process, and can be used for
228 sorting, collapsing redundant documents, implementing ranges, and other uses.
229 If you're just wanting to store "fields" for displaying results, it's better
230 to store them in the document data.
232 **Within-document frequency (wdf)**
233 The within-document frequency (wdf) of a term in a specific document is the
234 number of times it is pulled out of the document in the indexing process.
235 Usually this is the size of the wdp vector, but in Xapian it can exceed it,
236 since we can apply extra wdf to some parts of the document text.
238 **Within-document positions (wdp)**
239 In the case where a term derives from words actually in the document, the
240 within-document positions (wdp) are the positions at which that word occurs
241 within the document. So if the term derives from a word that occurs three
242 times in the document as the fifth, 22nd and 131st word, the wdps will be 5,
245 **Within-query frequency (wqf)**
246 The within-query frequency (wqf) is the number of times a term occurs in the
247 query. This statistic is used in the BM25 weighing scheme.
249 .. wqp? nql? Is it is worth adding these - they're not referenced much.