Hey all, im playing with searching and an FTS enabled mail server (dovecot) with 1.2 million emails. This works very well. But i wish there was a way to allow the full power of imap searching in roundcube. Roundcube only seems to allow a very limited set.
For instance, in dovecot I can do: SEARCH FROM COR TO ROUNDCUBE BODY FOOBAR
This will give me all emails matching From:*cor* , To:*roundcube* where anywhere in the body it says foobar. And with FTS lucene engine this is fast :)
Would it be an idea to allow the keyword raw, so you could say in the roundcube search box: raw:FROM COR TO ROUNDCUBE BODY FOOBAR , which passes that search string unaltered to the backend imap server?
Cor
On Sun, Aug 17, 2014 at 4:47 PM, Cor Bosman cor@xs4all.nl wrote:
Hey all, im playing with searching and an FTS enabled mail server (dovecot) with 1.2 million emails. This works very well. But i wish there was a way to allow the full power of imap searching in roundcube. Roundcube only seems to allow a very limited set.
For instance, in dovecot I can do: SEARCH FROM COR TO ROUNDCUBE BODY FOOBAR
This will give me all emails matching From:*cor* , To:*roundcube* where anywhere in the body it says foobar. And with FTS lucene engine this is fast :)
Would it be an idea to allow the keyword raw, so you could say in the roundcube search box: raw:FROM COR TO ROUNDCUBE BODY FOOBAR , which passes that search string unaltered to the backend imap server?
Using this raw keyword seems feasible but remains an ultimate power-user/nerdy feature. We'd like to make these search capabilities available to all users. Maybe by adding an advanced search form similar to the one from the advanced-search plugin [1].
Is there a certain IMAP capability related to this FTS support in dovecot? Roundcube should be able to compose the "right" search command according to the server's capabilities.
There's also the fuzzy search imap extension proposal defined in RFC 6203 [2] which at some point I wanted to investigate. Maybe the efforts to support these two extended search mechanisms can be joined.
~Thomas
[1] http://plugins.roundcube.net/packages/gms-sa/advanced-search [2] http://www.rfc-editor.org/rfc/rfc6203.txt
On 18 Aug 2014, at 09:20, Thomas Bruederli thomas@roundcube.net wrote:
On Sun, Aug 17, 2014 at 4:47 PM, Cor Bosman cor@xs4all.nl wrote:
Hey all, im playing with searching and an FTS enabled mail server (dovecot) with 1.2 million emails. This works very well. But i wish there was a way to allow the full power of imap searching in roundcube. Roundcube only seems to allow a very limited set.
For instance, in dovecot I can do: SEARCH FROM COR TO ROUNDCUBE BODY FOOBAR
This will give me all emails matching From:*cor* , To:*roundcube* where anywhere in the body it says foobar. And with FTS lucene engine this is fast :)
Would it be an idea to allow the keyword raw, so you could say in the roundcube search box: raw:FROM COR TO ROUNDCUBE BODY FOOBAR , which passes that search string unaltered to the backend imap server?
Using this raw keyword seems feasible but remains an ultimate power-user/nerdy feature. We'd like to make these search capabilities available to all users. Maybe by adding an advanced search form similar to the one from the advanced-search plugin [1].
Is there a certain IMAP capability related to this FTS support in dovecot? Roundcube should be able to compose the "right" search command according to the server's capabilities.
I checked our production imap server, which does not have any special plugins, and the same syntax works there as well. This is just normal SEARCH functionality which allows for FROM TO SUBJECT SINCE BEFORE DELETED BODY NOT OR. You can build a search string with (combinations of) those commands. The lucene index just make this fast with a lot of email. Without this plugin this would take minutes.
I see the latest dovecot also support SEARCH=FUZZY, which is enabled only when the FTS backend supports it. I guess the lucene engine supports it. I havent played with that.
Thanks for pointing me to the advanced search plugin, i'll check that out.
Cor