1# (C) 2007-2011 J.F.Dockes 2# License: GPL V2 3# 4# Field names configuration. This defines how one may search ie for: 5# author:Hemingway 6# 7# Important: 8# - the field names MUST be all lowercase alphabetic ascii here. They can 9# be anycased in the documents. 10 11[prefixes] 12 13##################################################### 14# This section defines what prefix the terms inside named fields will be 15# indexed with (in addition to prefix-less indexing for general search) 16# ALL prefixes MUST be all ASCII UPPERCASE (NO DIGITS) 17# 18# The field names should be the canonic ones, not the aliases defined in 19# the following section. Don't change those which are predefined here, 20# quite a few are hard-coded in the c++. But you can add more (for new 21# fields emitted by filters). 22# 23# Fields can have two relevance boost factors defined, such as in: 24# caption = S ; wdfinc=10 25# and/or 26# caption = S ; boost = 10 27# The first line would boost the xapian "within document frequency" of 28# caption terms by a factor of 10 at indexing time. The second one 29# (NOT CURRENTLY IMPLEMENTED) would automatically boost the weight of a 30# caption-based field query (ie: caption:mytitle or title:mytitle) at query 31# time. 32# 33# The pfxonly attribute can also be set on entries to express that terms 34# from the field should be indexed only with a prefix (in general, field 35# terms are indexed both with and without a prefix). 36 37# The following ones are probably hard-coded in the c code, can't change at 38# all. 39# Also reserved: F(parentid), Q(uniqueid) 40# XE (file ext), XP (for path elements), XSFN, XSFS, XXST, XXND, XXPG 41# Using XX was not a good idea. 42# 43# There was initially some effort made to have some compatibility with 44# Xapian Omega, but it probably is now irrelevant, given how differently 45# the indexes are now structured. In any case see 46# xapian/applications/omega/docs/termprefixes.rst in the Xapian source for 47# Xapian/Omega prefix usage. In a nutshell Omega reserves all single 48# letters except X which is the start for user-defined prefixes. 49# 50# Recoll uses a lot of X-starting prefixes, and also some XX ones so that 51# locally defined prefixes should start with XY to avoid any possible 52# collision with the predefined ones. 53# 54# I hereby commit to not using XY for Recoll. 55# *** USE XY for beginning your local prefixes *** e.g.: 56# myfield = XYMYFIELD 57 58author = A 59xapdate = D 60keywords= K 61xapyearmon = M 62title = S ; wdfinc = 10 63mtype = T 64ext = XE; noterms = 1 65rclmd5 = XM 66dir = XP ; noterms = 1 67abstract = XS 68filename = XSFN ; noterms = 1 69containerfilename = XCFN ; pfxonly = 1 ; noterms = 1 70rclUnsplitFN = XSFS 71xapyear = Y 72recipient = XTO 73rclbes = XB ; noterms = 1 74annotation = XA 75 76[values] 77########### 78## Fields which will be stored in Xapian values, authorizing range query 79## processing. 80# Entries are specified as 'fieldname = valueslot;[px=val1;py=val2...]'. 81# Xapian value slots are 32 bits numbers. Numbers below 1000 are reserved 82# by Recoll or Xapian. Numbers above are available for user configuration 83# Values have types, which can be 'int' or 'string' at the moment. ints have 84# an additional 'len' attributes, which specifies the padding size used for 85# sorting (leading zeroes: all xapian sorting is text-based). 10 is fine 86# for an unsigned 32 bits integer. 87# myfield = 1001; type=int; len = 10 88# mystrfield = 1002; type = string 89 90[stored] 91############################ 92# Some fields are stored in the document data record inside the index and 93# can be displayed in result lists. There is no necessity that stored fields 94# should be indexed (have a prefix in the preceding section). Example: "url" 95# 96# Some fields are stored by default, don't add them here: 97# caption, mimetype, url 98# Only canonical names should be used here, not aliases. 99# "rclaptg" is used for viewer specialization (depending on local config) 100# "rclbes" defines the backend type (ie normal fs, firefox cache). Should 101# probably be hardcoded, don't remove it 102abstract= 103author= 104filename= 105keywords= 106rclaptg= 107rclbes= 108recipient= 109annotation= 110 111[aliases] 112########################## 113# This section defines field names aliases or synonyms. Any right hand side 114# value will be turned into the lhs canonic name before further treatment 115# 116# The left-hand values in the recoll distribution file are well known and 117# must match names used in the c++ code, or even the index data 118# record. They can't change! But you can add others. 119# 120# Filters should only add canonic names to the meta array when indexing, 121# not aliases. 122abstract = summary dc:summary description xesam:description 123author = creator dc:creator xesam:author xesam:creator from 124title = caption title dc:title subject 125# catg = dc:type contentCategory 126dbytes = size xesam:size 127dmtime = dc:date dc:datemodified datemodified contentmodified \ 128 xesam:contentmodified 129ext = fileextension xesam:fileextension 130# Don't add subject to keywords aliases, it's better to keep it for email 131keywords = keyword xesam:keyword tag tags dc:subject xesam:subject \ 132 dc:description 133mtype = mime mimetype xesam:mimetype contenttype xesam:contenttype dc:format 134recipient = to xesam:recipient 135url = dc:identifier xesam:url 136annotation = pdfannot 137 138################## 139# The queryaliases section defines aliases which are used exclusively at 140# query time: there is no risk to pick up a random field from a document 141# (e.g. an HTML meta field) and index it. 142[queryaliases] 143filename = fn 144containerfilename = cfn 145annotation = annot pa 146 147[xattrtofields] 148###################### 149# Processing for extended file attributes. 150# By default, attributes are processed as document fields (after removing 151# the 'user' prefix from the name on Linux). 152# You can enter name translations as "xattrname = fieldname". Case matters. 153# Entering an empty translation will disable use of the attribute. 154# The values from the extended attributes will extend, not replace, the 155# data found from equivalent fields inside the document. 156 157# As an example, the following would map a quite plausible "tags" extended 158# attribute into the "keywords" field. 159tags = keywords 160 161# Proposed or standard freedesktop.org extended attributes 162xdg.tags = keywords 163xdg.comment = abstract 164 165# Some standard fields are not to be indexed 166mime_type = 167charset = 168 169######################## 170# Sections reserved for specific filters follow 171# 172 173########################## 174# Mail filter section. You can specify mail headers to be indexed 175# in addition to the standard ones: (To:, Cc:, From:, Subject:, Date, 176# Message-Id), along with the field name to be used. For this to be useful, 177# the field name should also be listed in the [prefixes] and possibly the 178# [stored] sections. 179# 180# [mail] 181# x-my-tag = mymailtag 182