The library helps to parse search queries (e.g. custom search boxes) and enables custom search index implementations.
Supported expressions:
- (Implicit) boolean AND:
a AND b
ora b
- boolean OR:
a OR b OR c
- boolean NOT:
-a
orNOT a
- group query:
(a b) OR (c d)
- text match:
abc
or"words in close proximity"
- range query:
[1 TO 20]
(inclusive),]aaa TO dzz[
(exclusive), or[1 TO 20[
(mixed) - scopes:
field:(a b)
orfield:abc
- field comparison:
year < 2000
A simple usage example:
import 'package:query/query.dart';
main() {
final q = parseQuery('some text OR field:another');
// prints "(some (text OR field:another))"
print(q);
}