unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jani Nikula <jani@nikula.org>
To: Austin Clements <aclements@csail.mit.edu>, notmuch@notmuchmail.org
Subject: Re: [PATCH 0/5] lib: make folder: prefix literal
Date: Sat, 25 Jan 2014 17:38:59 +0200	[thread overview]
Message-ID: <87iot8f4vg.fsf@nikula.org> (raw)
In-Reply-To: <87r47wfltb.fsf@nikula.org>

On Sat, 25 Jan 2014, Jani Nikula <jani@nikula.org> wrote:
> Perhaps we need to have two prefixes, one of which is the literal
> filesystem folder and another which hides the implementation details,
> like I mentioned in my mail to Peter [1]. But consider this: my proposed
> implementation does cover *all* use cases.

Here's a thought. With boolean prefix folder:, we can devise a scheme
where the folder: query defines what is to be matched.

For example:

folder:foo	match files in foo, foo/new, and foo/cur.
folder:foo/	match all files in all subdirectories under foo (this
		would handle Tomi's use case), including foo/new and foo/cur.
folder:foo/.	match in foo only, and specifically not in foo/cur or foo/new.
folder:foo/new  match in foo/new, and specifically not in foo/cur (this
		allows distinguishing between messages in cur and new).
folder:/	match everything.
folder:/.	match in top level maildir only.
folder:""	match in top level maildir, including cur/new.

This requires indexing all the path components with suitable
suffixes. For example, a file "foo/new/baz" would get terms "/", "foo",
"foo/", "foo/new", and "foo/new/.". A file foo/bar would get terms "/",
"foo", "foo/", and "foo/.".

It's obviously a concern this increases the database size; not sure how
it would compare with the current stemmed probabilistic prefix.

Opinions on this? This would really cover all use cases, and address
Austin's interface and backward compatibility concerns.

BR,
Jani.

  parent reply	other threads:[~2014-01-25 15:39 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-09 22:18 [PATCH 0/5] lib: make folder: prefix literal Jani Nikula
2014-01-09 22:18 ` [PATCH 1/5] " Jani Nikula
2014-01-24 21:18   ` Austin Clements
2014-01-09 22:18 ` [PATCH 2/5] test: fix insert folder: searches Jani Nikula
2014-01-24 21:20   ` Austin Clements
2014-01-25 19:32     ` Rob Browning
2014-01-09 22:18 ` [PATCH 3/5] test: fix test for literal folder: search Jani Nikula
2014-01-09 22:18 ` [PATCH 4/5] test: add test database in format version 1 Jani Nikula
2014-01-09 22:18 ` [PATCH 5/5] test: add database upgrade test from " Jani Nikula
2014-01-24 21:17 ` [PATCH 0/5] lib: make folder: prefix literal Austin Clements
2014-01-24 23:21   ` David Bremner
2014-01-25  9:33   ` Jani Nikula
2014-01-25 10:47     ` Tomi Ollila
2014-01-25 11:06       ` Jani Nikula
2014-01-25 11:52         ` Tomi Ollila
2014-01-25 15:38     ` Jani Nikula [this message]
2014-01-25 16:58       ` David Bremner
2014-01-25 18:22         ` Jani Nikula
     [not found]       ` <874n4rvcvo.fsf@yoom.home.cworth.org>
2014-01-29 19:05         ` Jani Nikula
     [not found]           ` <87k3dir3ci.fsf@yoom.home.cworth.org>
2014-01-29 20:46             ` Austin Clements
     [not found]               ` <87bnyuqw60.fsf@yoom.home.cworth.org>
2014-01-30  6:34                 ` Jani Nikula
2014-01-30 21:15                   ` Mark Walters
2014-01-30 22:02       ` Austin Clements
2014-01-31 19:19         ` Rob Browning
2014-02-04 20:14           ` Austin Clements
2014-02-04 20:17             ` Rob Browning
2014-01-31 19:24         ` Rob Browning
2014-02-01 14:54         ` Jani Nikula
2014-02-04 20:02           ` Austin Clements
2014-02-05 13:12             ` Tomi Ollila
2014-02-05 21:12               ` Tomi Ollila

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87iot8f4vg.fsf@nikula.org \
    --to=jani@nikula.org \
    --cc=aclements@csail.mit.edu \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).