Skip to content
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

General requirements for search boxes #835

Closed
pgleeson opened this issue Dec 5, 2023 · 10 comments
Closed

General requirements for search boxes #835

pgleeson opened this issue Dec 5, 2023 · 10 comments
Labels
C: frontend frontend related
Milestone

Comments

@pgleeson
Copy link
Member

pgleeson commented Dec 5, 2023

As there are a few related open issues related to search in repos and workspaces, I'm just outling here the general principles that the search boxes should aim for.

The golden rule is that since the search box is the only things that's visible to the user (the tab filter needs to be clicked to show it), typing something in here should search over the maximum number of fields to find something for the user (independent of capitalisation).

So for workspaces, all of the text shown (title, summary, tabs, even username if possible) should be searched over:

Screenshot 2023-12-05 at 15 21 20

Similarly for repositories.

The tab filter should be considered an advanced setting for refining search results, by specifying an exact string for the required tab, though this can be case insensitive. Typing something in the search box shouldn't add anything in the tab filter.

Generally, behaviour of the search box/tab filter should be the same for both repository and workspace pages, either thumbnail or list views.

@pgleeson pgleeson added this to the v0.7.5 milestone Dec 5, 2023
@pgleeson
Copy link
Member Author

pgleeson commented Dec 5, 2023

@filippomc @D-GopalKrishna @SimaoBolota-MetaCell @sanjayankur31 please let me know if any of the above is not in line with how you believe(d) the searching/filtering should work, and we can discuss.

@filippomc
Copy link
Contributor

@pgleeson the current implementation of the search is much simpler (LIKE match on title and tag match) and is as what you suggest would be ideal but requires a more sophisticated implementation of indexes as the more we include, the less the search is filtering out, so it's necessary to implement a relevance based sorting, so rely on a full-text-search engine. This is especially true the moment that we include the summary. Also including the username could lead to complications performance wise as usernames sit in another database. How much do we want to push

@pgleeson
Copy link
Member Author

pgleeson commented Dec 6, 2023

Ok, lets just concentrate on getting the search working consistently on the title and tags for now. Another current issue is the search box adding entries to the tab filter, which in turn stay there when you delete the text in the search box, leading to confusing behaviour:

Screenshot 2023-12-06 at 12 10 41

@D-GopalKrishna
Copy link
Contributor

Yes I will address that here - #828 (comment)

thanks! @pgleeson

@sanjayankur31 sanjayankur31 added the C: frontend frontend related label Dec 6, 2023
@pgleeson
Copy link
Member Author

pgleeson commented Dec 7, 2023

@filippomc It seems the repositories search does search over the summary text too, here 'recognize' in the text is matched for the search term 'ecog'...
Screenshot 2023-12-07 at 13 35 27

@filippomc
Copy link
Contributor

Yes true, although not sure it makes sense now with a lot repositories without full-text search and relevance sorting

@pgleeson
Copy link
Member Author

pgleeson commented Dec 7, 2023

Can't see any reason to remove it unless it impacts performance. All the more reason to be able to refine the search with AND linked tab searches.

@filippomc
Copy link
Contributor

It does not impact performances, it's more about having a relevant sorting as matches in titles and tags should bump higher than matches in long text. This becomes more evident with lots of content and using generic words

@pgleeson
Copy link
Member Author

pgleeson commented Dec 7, 2023

I am intensely relaxed about someone searching for a term and getting lots of relevant, correct matches...

@pgleeson
Copy link
Member Author

Closing as this is generally how it's implemented now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: frontend frontend related
Projects
None yet
Development

No branches or pull requests

4 participants