Search syntax

Searches in lesana use the human readable query string format defined by xapian.

The simplest search is just a list of terms: e.g. searching for thing object will find entries where either thing or object is present in one of the fields with free indexing.

It is also possible to specify that a term must be in one specific field: the syntax for this is the name of the field follwed by : and the term, e.g. name:object will search for entries with the term object in the name field.

Search queries can of course include the usual logical operators AND, OR and NOT.

More modifiers are available; see the Query Parser documentation from xapian for details.

Search templates and search_aliases

In some contexts, search queries are rendered as jinja2 templates with the contents of the search_aliases property as set in settings.yaml.

The values of those search aliases should be valid search snippets with the syntax documented above; it’s usually a good idea to wrap them in parenthesis, so that they are easier to use in complex queries; e.g.:

my_alias: '(name:object OR name:thing)'

can correctly be used in a query like:

{{ my_alias }} AND description:shiny