Recoll index format details

A comparison of index formats for recoll 1.8 and omega 1.0.1

Recoll terms are not stemmed before being stored. They are turned to all minuscule letters with no accents. An auxiliary database handles stem expansion. Omega stores both raw terms and stemmed versions (with prefix Z)

Special prefixed terms:

A comparison of prefixed term usage between Recoll and omega/xapian. xapian-core in the Omega column means that the prefix is not used by Omega, but mentionned as allocated in the xapian prefix definition document.

Pref.Recoll useOmega use
Tmime typeSame
PTruncated/hashed version of file path. For single-document files, and for the file part of a multi-document file. Used for up-to-date checks and for retrieving a document by path. Path part of URL (no hashing). Uses U for the equivalent term used for up to date checks.
Qpathhash+ipath same + internal path for documents inside multi-document files. Used to set the existence flag for subdocs when a multi-document file is found to be up to date, or for deleting all subdocs for a file, or for retrieving a document by path+ipath. Compatible with Q definition in xapian/termprefixes.txt: unique identifier.None
Ddate: modification date of file, like YYYYMMDDSame
Mmonth: YYYYMMSame
Yyear YYYYSame
XSFNutf8 version of file name. Used for specific file name searchesNone
UNoneUrl term. Truncated/hashed version of URL. Used for duplicate checks.
SSubject/titlexapian-core
AAuthorxapian-core
KKeywordxapian-core

None of the "date" terms are currently used by recoll queries

Values

Recoll currently stores no document values.

Omega stores 2 values, for the md5 hash of the file, and the last modification date (as unix time). The md5 value doesn't appear to be currently used ?

Document data record format

Recoll has the same line based / prefixed data record format as omega (name=value\n).

PrefixRecoll useOmega use
url=Full url. Always file://abspath. The path is not encoded to utf-8, this is the system file name ,usable as an argument to open()Same
mtype=mime type (omega: type)type=
fmtime=file modification datemodtime=
dmtime= document modification dateNone
origcharset= character set the text was converted fromNone
fbytes= file size in bytessize=
dbytes=document size in bytesNone
ipath=internal path for docs in multidoc filesNone
caption=title of document, utf8Same
keywords=key words, utf8None
abstract=document abstract, utf8sample=

Jean-Francois Dockes
Last modified: Thu Jun 14 11:14:38 CEST 2007