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