[GH-ISSUE #245] Search all Folders, not only the ones selected for Everything #207

Closed
opened 2026-02-25 21:34:26 +03:00 by kerem · 14 comments
Owner

Originally created by @ulfgebhardt on GitHub (Jan 2, 2018).
Original GitHub issue: https://github.com/cypht-org/cypht/issues/245

Originally assigned to: @jasonmunro on GitHub.

[Feature Request]

The Search functionality does not allow to search whole Mailboxes, but is limited to the things selected for Everything.
This is solvable by temporarly adding the Folder to be searched to the Everything selection.
Since this is not very User friendly i suggest the following:

  • Search Everything by Default
  • Option to search in a specific Mailbox(and maybe a Subset there - compare to Folder dialog)
  • Search in every configured Mailbox in all Folders (and Subfolders)

Grüße Ulf

Originally created by @ulfgebhardt on GitHub (Jan 2, 2018). Original GitHub issue: https://github.com/cypht-org/cypht/issues/245 Originally assigned to: @jasonmunro on GitHub. [Feature Request] The Search functionality does not allow to search whole Mailboxes, but is limited to the things selected for Everything. This is solvable by temporarly adding the Folder to be searched to the Everything selection. Since this is not very User friendly i suggest the following: - Search Everything by Default - Option to search in a specific Mailbox(and maybe a Subset there - compare to Folder dialog) - Search in every configured Mailbox in all Folders (and Subfolders) Grüße Ulf
kerem 2026-02-25 21:34:26 +03:00
Author
Owner

@dumblob commented on GitHub (Jan 2, 2018):

  • Search in a specific folder (one and only one folder; the folder might also be a virtual folder made from some previous search/filter results)

This is what I use the most.

  • Search in every configured Mailbox in all Folders (and Subfolders)

This is what I use second the most.

<!-- gh-comment-id:354900967 --> @dumblob commented on GitHub (Jan 2, 2018): * Search in a specific folder (one and only one folder; the folder might also be a virtual folder made from some previous search/filter results) This is what I use the most. > * Search in every configured Mailbox in all Folders (and Subfolders) This is what I use second the most.
Author
Owner

@jasonmunro commented on GitHub (Jan 2, 2018):

Searching all folders for every mailbox is a difficult task.

Firstly because we don't have a complete folder list for each mailbox - we only fetch a single level of folder hierarchy when you drill into a set of folders, which is the recommended way to deal with folder lists since they can end up being quite large. This brings us to the second issue here: performance.

Right now, each source to be searched is a mailbox + folder. If I have an account with 200 folders, then we would end up spawning 200 parallel ajax requests, one for each folder, which will likely cause a connection limit to trigger on the IMAP server. If we did the search in a serial fashion, one request per account, then we have to search each folder one at a time and the query could take an eternity.

We have an open request to refine the folder assignments for combined views, including search. This would allow you have different folders assigned to different combined views, instead of the all or none approach we have now. I wonder if doing something like that might be a decent compromise for this request?

<!-- gh-comment-id:354902884 --> @jasonmunro commented on GitHub (Jan 2, 2018): Searching all folders for every mailbox is a difficult task. Firstly because we don't have a complete folder list for each mailbox - we only fetch a single level of folder hierarchy when you drill into a set of folders, which is the recommended way to deal with folder lists since they can end up being quite large. This brings us to the second issue here: performance. Right now, each source to be searched is a mailbox + folder. If I have an account with 200 folders, then we would end up spawning 200 parallel ajax requests, one for each folder, which will likely cause a connection limit to trigger on the IMAP server. If we did the search in a serial fashion, one request per account, then we have to search each folder one at a time and the query could take an eternity. We have an open request to refine the folder assignments for combined views, including search. This would allow you have different folders assigned to different combined views, instead of the all or none approach we have now. I wonder if doing something like that might be a decent compromise for this request?
Author
Owner

@ulfgebhardt commented on GitHub (Jan 2, 2018):

I think the best thing would be if there would be a search function for every folder

  1. browse to the folder to be searched
  2. press "search in folder" button
  3. find Results in that Folder only

This would cover my requirements, and even tho it still requires me to find the right folder, i could live with that.

Making new Combinded Views is not the best Solution in my Opinion.

Regarding Recursive Folder Search: consider sending one ajax-request and iterate over the imap serverside - for usability push results everytime a Folder is finished searching and give the user the option to interrupt the search once hes satisfied by the results already found.

Grüße Ulf

<3

<!-- gh-comment-id:354905263 --> @ulfgebhardt commented on GitHub (Jan 2, 2018): I think the best thing would be if there would be a search function for every folder 1. browse to the folder to be searched 2. press "search in folder" button 3. find Results in that Folder only This would cover my requirements, and even tho it still requires me to find the right folder, i could live with that. Making new Combinded Views is not the best Solution in my Opinion. Regarding Recursive Folder Search: consider sending one ajax-request and iterate over the imap serverside - for usability push results everytime a Folder is finished searching and give the user the option to interrupt the search once hes satisfied by the results already found. Grüße Ulf <3
Author
Owner

@jasonmunro commented on GitHub (Jan 2, 2018):

I like the search in folder idea. Maybe we could add that as a checkbox on the search page, which would then bring up the folder navigation dialog, maybe even with multi-select options.

<!-- gh-comment-id:354905888 --> @jasonmunro commented on GitHub (Jan 2, 2018): I like the search in folder idea. Maybe we could add that as a checkbox on the search page, which would then bring up the folder navigation dialog, maybe even with multi-select options.
Author
Owner

@zeigerpuppy commented on GitHub (Nov 26, 2018):

Offloading search to the server is a good approach to the overhead of recursive IMAP search.
An example of such integration is the full text search in Roundcube which can call indexed search (e.g. With server side Dovecot Solr https://wiki.dovecot.org/Plugins/FTS/Solr )

<!-- gh-comment-id:441679736 --> @zeigerpuppy commented on GitHub (Nov 26, 2018): Offloading search to the server is a good approach to the overhead of recursive IMAP search. An example of such integration is the full text search in Roundcube which can call indexed search (e.g. With server side Dovecot Solr https://wiki.dovecot.org/Plugins/FTS/Solr )
Author
Owner

@jasonmunro commented on GitHub (Nov 27, 2018):

@ulfgebhardt Added a simple keyword search field to the message list view for an IMAP folder - it's just before the sort/filter options. So now we have both advanced search allowing as many search targets as you want, and a per folder search option when browsing an IMAP folder, and of course the default search for folders included in combined views.

@zeigerpuppy I have not heard of the Solr search integration stuff before, I will check it out. Thanks for the feedback!

<!-- gh-comment-id:442208269 --> @jasonmunro commented on GitHub (Nov 27, 2018): @ulfgebhardt Added a simple keyword search field to the message list view for an IMAP folder - it's just before the sort/filter options. So now we have both advanced search allowing as many search targets as you want, and a per folder search option when browsing an IMAP folder, and of course the default search for folders included in combined views. @zeigerpuppy I have not heard of the Solr search integration stuff before, I will check it out. Thanks for the feedback!
Author
Owner

@ulfgebhardt commented on GitHub (Nov 30, 2018):

Thank you for implementing this!

But it does not work for me as expected:

Search Term: Re: Aw: Abschieds-Kaffee Ulf | Abschieds-Kaffee Ulf | Abschied | Abschieds-Kaffee | Abschieds Kaffee | *Abschieds* | %Abschieds%
Original Subject: Re: Aw: Abschieds-Kaffee Ulf

All searches result in So alone - no results.

Using the Searchbar in the top of an Imap Folder.

What am I doing wrong?

<!-- gh-comment-id:443186043 --> @ulfgebhardt commented on GitHub (Nov 30, 2018): Thank you for implementing this! But it does not work for me as expected: Search Term: `Re: Aw: Abschieds-Kaffee Ulf` | `Abschieds-Kaffee Ulf` | `Abschied` | `Abschieds-Kaffee` | `Abschieds Kaffee` | `*Abschieds*` | `%Abschieds%` Original Subject: `Re: Aw: Abschieds-Kaffee Ulf` All searches result in `So alone` - no results. Using the Searchbar in the top of an Imap Folder. What am I doing wrong?
Author
Owner

@jasonmunro commented on GitHub (Nov 30, 2018):

@ulfgebhardt weird, let me run some tests on it and see. Seemed to working pretty well for me but maybe I missed something. Note this search should be scanning the entire message and doing a sub-string match on the search terms, so no wildcards are required. I will let you know if I find and fix anything!

<!-- gh-comment-id:443257992 --> @jasonmunro commented on GitHub (Nov 30, 2018): @ulfgebhardt weird, let me run some tests on it and see. Seemed to working pretty well for me but maybe I missed something. Note this search should be scanning the entire message and doing a sub-string match on the search terms, so no wildcards are required. I will let you know if I find and fix anything!
Author
Owner

@jasonmunro commented on GitHub (Nov 30, 2018):

@ulfgebhardt my bad, this worked and then I made some other changes and broke it. Should be fixed now.

<!-- gh-comment-id:443288244 --> @jasonmunro commented on GitHub (Nov 30, 2018): @ulfgebhardt my bad, this worked and then I made some other changes and broke it. Should be fixed now.
Author
Owner

@ulfgebhardt commented on GitHub (Dec 2, 2018):

confirming fix

<!-- gh-comment-id:443515517 --> @ulfgebhardt commented on GitHub (Dec 2, 2018): confirming fix
Author
Owner

@ulfgebhardt commented on GitHub (Dec 2, 2018):

How do I access the advanced Search shown here: https://github.com/jasonmunro/cypht/issues/294

I cannot find it

<!-- gh-comment-id:443515835 --> @ulfgebhardt commented on GitHub (Dec 2, 2018): How do I access the advanced Search shown here: https://github.com/jasonmunro/cypht/issues/294 I cannot find it
Author
Owner

@jasonmunro commented on GitHub (Dec 2, 2018):

enable the advanced search module set and then go to the regular search page and click "Advanced". Probably should put a link to the advanced search page on the main menu instead :)

<!-- gh-comment-id:443523994 --> @jasonmunro commented on GitHub (Dec 2, 2018): enable the advanced search module set and then go to the regular search page and click "Advanced". Probably should put a link to the advanced search page on the main menu instead :)
Author
Owner

@ulfgebhardt commented on GitHub (Dec 11, 2018):

This file does not contain anything that is called "Advanced Search"
https://github.com/jasonmunro/cypht/blob/master/hm3.sample.ini

I guess I have to add: modules[]=advanced_search
Refering to this: https://github.com/jasonmunro/cypht/tree/master/modules/advanced_search

Could you add the corresponding default setting in the sample.ini? <3

<!-- gh-comment-id:446388635 --> @ulfgebhardt commented on GitHub (Dec 11, 2018): This file does not contain anything that is called "Advanced Search" https://github.com/jasonmunro/cypht/blob/master/hm3.sample.ini I guess I have to add: `modules[]=advanced_search` Refering to this: https://github.com/jasonmunro/cypht/tree/master/modules/advanced_search Could you add the corresponding default setting in the sample.ini? <3
Author
Owner

@ulfgebhardt commented on GitHub (Feb 9, 2019):

Closing this, works as a charm <3

<!-- gh-comment-id:462068312 --> @ulfgebhardt commented on GitHub (Feb 9, 2019): Closing this, works as a charm <3
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cypht#207
No description provided.