Consider searching event descriptions (not just summaries titles)
Looking at gcal-shell-search-provider.c's code, it seems our GNOME Shell search provider searches not only the events summaries (titles) but also the descriptions:
search_query = g_strdup_printf ("(or (contains? \"summary\" \"%s\") (contains? \"description\" \"%s\"))",
self->pending_search->terms[0],
self->pending_search->terms[0]);
for (i = 1; i < g_strv_length (self->pending_search->terms); i++)
{
g_autofree gchar *complete_query = NULL;
g_autofree gchar *second_query = NULL;
second_query = g_strdup_printf ("(or (contains? \"summary\" \"%s\") (contains? \"description\" \"%s\"))",
self->pending_search->terms[0],
self->pending_search->terms[0]);
complete_query = g_strdup_printf ("(and %s %s)", search_query, second_query);
g_clear_pointer (&search_query, g_free);
search_query = g_steal_pointer (&complete_query);
}
…whereas the search button's code in gcal-search-button.c looks only at the summaries:
sexp_query = g_strdup_printf ("(contains? \"summary\" \"%s\")", text);
Once we take care of the issues listed further below, it might be desirable to provide the ability to search "descriptions" too. However, this would bring up not only performance considerations, but also information management and design considerations.
This ticket is more of a "what if" idea and Request for Comments, not something for the short-term. It might fit into George's vision to switch from EDS to Tracker (or to switch EDS to Tracker, see also evolution-data-server#307), but personally I have concerns about depending on Tracker for all this, as for me EDS has been a very reliable zero-problems workhorse for the past 20 years.
Some preliminary UX design questions to consider:
- How to present the ability to toggle between full text search vs "restricted to event summaries (titles)"? A filter button+popover like in Nautilus' searchbar?
- Should the UI offer auto-expanding the search fields (i.e. "Search Everywhere") and time range, when not enough results are found? (or that they are instantly found, but there are too many to reasonably display)
- Should there be a visual separation of summary-only matches (first / above) vs summary-and-description matches (below, as secondary results)?
- Should it allow some sort of advanced search syntax or filtering (ex: meetings with certain attendees or senders, or near a certain location; declined/accepted/tentative/undecided meeting invitations?)
Before implementing and testing this potential feature, I believe it would depend on these:
- Search delay trick to avoid wasteful queries / avoid spamming the search backends: #1170
- Not accidentally having "leftover" intermediate search results: #989
- Ability to do unordered search queries: #1169
- Having a UI design proposal for a way to let the user choose between searching titles only vs searching titles and descriptions
Somewhat related consideration: #624