Search expressions on the pub site are a bit ad-hoc, and their parsing is will get more and more complex as new requests come in. We'll need a formalized query format with a (separate) query library that does the parsing and exposes the query structure.
This should include:
- grouping expressions:
AND, OR, with ( ... ) sub-groups
field:value expressions
"exact match phrases"
- (optionally) weights