* enhancement: add more kql spec tests and simplify ast normalization
* enhancement: kql parser error if query starts with AND
* enhancement: add kql docs and support for date and time only dateTimeRestriction queries
* enhancement: add the ability to decide how kql nodes get connected
connecting nodes (with edges) seem straight forward when not using group, the default connection for nodes with the same node is always OR. THis only applies for first level nodes, for grouped nodes it is defined differently. The KQL docs are saying, nodes inside a grouped node, with the same key are connected by a AND edge.
* enhancement: explicit error handling for falsy group nodes and queries with leading binary operator
* enhancement: use optimized grammar for kql parser and toolify pigeon
* enhancement: simplify error handling
* fix: kql implicit 'AND' and 'OR' follows the ms html spec instead of the pdf spec
* feat(search): introduce search query package
With the increasing complexity of how we organize our resources, the search must also be able to find them using entity properties.
The query package provides the necessary functionality to do this.
This makes it possible to search for resources via KQL, the microsoft spec is largely covered and can be used for this.
In the current state, the legacy query language is still used, in a future update this will be deprecated and KQL will become the standard
* experimental search backport
fix basic extractor resource name
move escapeQuery regex into global variable
minor pr review changes
rename DebounceDuration env variable
add document title and content when rebuilding bleve resource
Co-authored-by: David Christofas <dchristofas@owncloud.com>