[RCD] searching

Cor Bosman cor at xs4all.nl
Mon Aug 18 09:44:48 CEST 2014


On 18 Aug 2014, at 09:20, Thomas Bruederli <thomas at roundcube.net> wrote:

> On Sun, Aug 17, 2014 at 4:47 PM, Cor Bosman <cor at 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



More information about the dev mailing list