xapian-check-patch: Catch two more typos
[xapian.git] / xapian-core / docs / glossary.rst
blob6a1c909eebc0c850ee9e8b19dc680708790c539c
1 .. Copyright (C) 2007 Jenny Black
2 .. Copyright (C) 2007,2008,2009,2011 Olly Betts
3 .. Copyright (C) 2007 Deron Meranda
5 ========
6 Glossary
7 ========
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.
17 **BM25**
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.
24 **Boolean Retrieval**
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.
32 **Brass**
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'.
39 **Chert**
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
44  database.
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.
51 **Database**
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.
59 **Document ID**
60  A unique positive integer identifying a document in a Xapian database.
62 **Document data**
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
69  query template).
71 **Document**
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.
77 **Edit distance**
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.
83 **ESet (Expand Set)**
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.
88 **Flint**
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.
92 **Glass**
93  Glass is the default database format in Xapian 1.4.
95 **Index**
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).
100 **Indexer**
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.
104 **Information Need**
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.
112 **MSet (Match Set)**
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
124  than 1.
126 **Omega**
127  Omega comprises two indexers and a CGI search application built using the
128  Xapian library.
130 **Posting List**
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.
134 **Posting**
135  An instance of a particular term indexing a particular document.
137 **Precision**
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
140  returned.
142 **Probabilistic IR**
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.
148 **Quartz**
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.
152 **Query**
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.
157 **Query Expansion**
158  Modifying a query in an attempt to broaden the search results.
160 .. _rset:
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.
168 **Recall**
169  Recall is the proportion of relevant documents retrieved - the number of
170  relevant documents retrieved divided by the total number of relevant
171  documents.
173 **Relevance**
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
176  non-relevant.
178 **Searcher**
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.
182 **Stemming**
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".
188 **Stop word**
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".
192 **Synonyms**
193  Xapian can store synonyms for terms, and use these to implement one approach
194  to query expansion.
196 **Term List**
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).
201 **Term frequency**
202  The term frequency of a specific term is the number of documents in the system
203  that are indexed by that term.
205 **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).
211 **Term Prefix**
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.
216 **Test Collection**
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.
221 **UTF-8**
222  A standard variable-length byte-oriented encoding for Unicode.
224 **Value**
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,
243  22 and 131.
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.