-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🔎 Advanced search #39162
Comments
Just as a reference, this is how the search view of the fulltext search looks: It allows you already to filter between Deck boards, files and file extensions. I think it make sense to have one advanced search in the future which does also full text search if enabled. Maybe even as a option/checkbox to decide if the user wants to search for filenames/folders only, for content only or for both. |
I did some research and interviews on this and I think that while there's room for UX improvements in the global search, we should not make it more complex than it already is. A few reasons:
While conducting interviews I found out that most people felt frustrated with global search and never or rarely use it. They resort to syncing their files and emails to their OS and search there instead. A few recurring themes:
So it seems that the feature is there but it's not very useful to people. To change this I think we need to tackle the issue from 2 angles.
|
No. Full-text search is something we have already given the FTS app is actually installed and set up (usually not the case since it requires further components, i.e. elastic search). Fuzzy search when don't have at all and currently isn't on the roadmap. |
Here's a proposal on the layout changes mentioned above and incorporating some feedback from the design team. You can also open the view on penpot by clicking on this @nextcloud/designers I've been thinking about shortcuts and It's just too confusing that depending on where you are in Nextcloud, the global search appears only sometimes upon pressing These shortcuts are for advanced users anyway, so we only do a favour to advanced users if we separate the two and have consistent behaviour upon pressing |
Looks very nice, one small comment it might be good to have a reset filter to quickly get back to all results. Has there been any thought around how this would impact the search icon in the to right? Shall it just open the modal then or is the modal in addition to the existing popover? |
I thought this could be in the menu. What do you think @juliushaertl?
Yes :) |
I think a quick reset option outside might be nice, at least when more than one filter option is selected (to reduce the amount of clicks needed, but either way would be fine I guess. |
I think full screen results, perhaps from some link in the box that says show all, is ideal. Some have thousands of files or many contacts. As for search performance, all supported databases have built-in FTS. Unlike the current FTS plugins, one specifies specific columns with which to create an FTS index. All large databases use such or something external like Sphinx. Such would offer fuzzy search, allow terms to be specified in any order, handle diacritics, etc. Performance would then be solved and there would be no need for lazy loading. So for example with contacts, one can search any combination of terms in any desired fields such as name address city etc.; with files name path tag etc. Large databases do not use like queries. They all use some form of FTS. As NC supports multiple databases, it merely takes more work to support them all. |
Mockup looks nice and provides a first set of options to narrow down the search by limiting the apps to be respected when searching for relevant items. I discussed the feature with Frank and the initial idea is to basically improve the UI side of search but still base search on what we have offered by the backend as of today. Afaik we already have ways to limit the search scope yet it is hard to discover and the goal would be to raise such scope-limiting capabilities to the UI in a discoverable way. cc @jancborchardt @marcoambrosini @karlitschek what do you think about #39162 (comment) as a first step? It would limit the search scope where the first limiting step would then always be the app. This could be a trade off that is okay. |
@marcoambrosini we talked about this again and since in-app search will likely still be further out, we should ideally have some more filtering in the global search already. For reference here a screenshot from Google Drive, so we could do the bar of selections like:
|
Hi Devs, I would like to add the downsides of the current Global search here, since I got a link in the forum thanks to jtr.
If you place more buttons in this tiny window it will even get worse IMHO. The presentation here is 250% bigger then it will be implemented. Even in the mockup only 4! results (totall 8) are visible. Usually it is not so clear what filename it was so there should be at least 20 results. @jancborchardt @AndyScherzinger In my opinion this should be a a whole new app window (Global Search) and the Search in the menu only considers the current open app. Another thing I do not understand is why contacts have an additionally search button in the menu bar. Thanks for reading. |
After design call it has been decided that we're going to use multiple selects, some of which with tags. Much like google drive search posted above. Here's the updated mockup. Shared components used for the filtering:
cc @nextcloud/designers for any further comments |
Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
Notes form design review with @jancborchardt @fenn-cs @sorbaugh @szaimen Overall
Filter chips (Files, Talk, etc)
Search results
Places
People filter
Date and time filter
|
@jancborchardt @nimishavijay @szaimen can we drop this pattern of selects within small tooltips? It's very clumsy. Everyone uses a dialog here. |
Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]> Signed-off-by: Benjamin Gaussorgues <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: #39162 Signed-off-by: fenn-cs <[email protected]>
We are introducing a new search UI that providers a lot more space for users via a large centralized modal and providers various filters which can by applied by adding various chips on the UI. For example, users can now filter their search or scope it by limiting the results to specific apps, time period and people by apply the appropriate filters on the new UI, previously filters where applied using text in the search box by prefixing with `::`. Resolves: nextcloud#39162 Signed-off-by: fenn-cs <[email protected]>
How to use GitHub
Is your feature request related to a problem? Please describe.
The current unified search dialog in the top right is quite small and compact.
Describe the solution you'd like
For the powerful things it supports, it would make more sense to have a bit more ways of filtering. E.g. having a left sidebar with filtering which app to focus on, or some detailed selections on owner of file, or date range, or size.
Edit by @sorbaugh (Last check: 04-09-2023): Since the requirements have shifted somewhat over the course of the discussion (and will likely continue to do so), here is a breakdown of the current state in tasks to minimize confusion. I will make an effort to keep this up to date:
Mockup (original comment -> #39162 (comment))
Frontend Task breakdown:
Backend Task breakdown:
Date
For things like date range, we have to make sure it works across different apps like Files, Calendar, Contacts, Talk, Mail etc with different types of dates, so we need to define which date it is for the relevant type:
People
The person dropdown could pick from what the "People menu" in the top right also lists, which is both Nextcloud accounts and Contacts. This would then e.g. for Mail also cover the "Recently contacted" address book which is nice.
We need mockups for this @nextcloud/designers :)
The text was updated successfully, but these errors were encountered: