This module contains the logic for searching in a notebook.
Supported operators:
Order of precedence: AND, OR, NOT so "foo AND NOT bar OR baz" means AND(foo, OR(NOT(bar), baz))
Supported keywords:
For the Content field we need to request the actual page contents, all other fields we get from the index and are more efficient to query.
For link keywords only a '*' at the right side is allowed For the name keyword a '*' is allowed on both sides For content '*' can occur on both sides, but does not match whitespace
Class | PageSelection |
This class is just a container of path objects |
Class | Query |
No summary |
Class | QueryGroup |
Wrapper for a sub group of a query. Just a list of QueryTerms with an associated operator (either AND or OR). |
Class | QueryTerm |
Wrapper for a single term in a query. Consists of a keyword, a string and a flag for inverse (NOT operator). |
Class | SearchSelection |
No summary |
Constant | KEYWORDS |
Undocumented |
Constant | OPERATOR_AND |
Undocumented |
Constant | OPERATOR_NOT |
Undocumented |
Constant | OPERATOR_OR |
Undocumented |
Variable | keyword_re |
Undocumented |
Variable | logger |
Undocumented |
Variable | operators |
Undocumented |
Variable | operators_re |
Undocumented |
Variable | tag_re |
Undocumented |