Jani Nikula <[email protected]> writes: > Here's a thought. With boolean prefix folder:, we can devise a scheme > where the folder: query defines what is to be matched.
I like the idea, but I tried to infer the rules from the examples, and I
failed. It looks like there are two new symbols, "/" and "/." but I
couldn't decipher the exact semantics of each.
I think a proposal like this should not re-use the '/' symbol as we
already have that as a path divider. (See rsync for lots of user
confusion with a significant trailing '/').
I propose a similar, but slightly different approach, where we add two
additional symbols:
'^' Matches the beginning of a path
'$' Matches the end of a path
[Obviously, I chose these symbols from regular expressions. I would be
OK with alternate symbols, ('$' seems like it might be problematic in
the shell, but perhaps not too much if it's always at the end of a
phrase.)]
This way, one could search for:
folder:foo Works like "folder:" historically
folder:^full/path$ Works like Jani's proposal
folder:^path/prefix Satisfies Tomi's use case, (as well as anyone
who doesn't want to have to specify or
distinguish between "/cur" or "/new".
Any extra '/' at the beginning or end of a search string, (such as
"folder:^/full/path/$") would not change the semantics.
Further, I think we can implement this with less database bloat by
leaving "folder" as probabilistic and simply indexing two new terms to
indicate the beginning of the path and the end of the path.
Finally, we could also extend the scheme to other things like subject:
to allow for an exact subject search like:
"subject:^lib: make folder: prefix literal$"
It was with an eye toward something like this that I chose to make
folder: probabilistic in the first place. (I probably would have indexed
things appropriately in the first place as well, but at the time doing
the necessary query parsing for '^' and '$' seemed daunting).
-Carl
--
[email protected]
pgpGvAffMislw.pgp
Description: PGP signature
_______________________________________________ notmuch mailing list [email protected] http://notmuchmail.org/mailman/listinfo/notmuch
