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

Global search across channels #1615

Closed
gwillen opened this issue Dec 10, 2015 · 77 comments · Fixed by #9687
Closed

Global search across channels #1615

gwillen opened this issue Dec 10, 2015 · 77 comments · Fixed by #9687
Labels
Feature: Request Requested Feature
Milestone

Comments

@gwillen
Copy link

gwillen commented Dec 10, 2015

As far as I can tell, search right now functions on a per-channel basis. Is that true? Is there a way to search all chat history globally? This seems extremely useful, and probably not hard to implement.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@marceloschmidt marceloschmidt added the Feature: Request Requested Feature label Dec 10, 2015
@jjayala1
Copy link

I was going to ask the same... It's really a must.

@adyp
Copy link

adyp commented Jan 10, 2016

+1 Most of the competing products offer this useful feature.

@miscs
Copy link

miscs commented Jan 10, 2016

+1

1 similar comment
@erikap
Copy link

erikap commented Mar 11, 2016

+1

@clorichel
Copy link

Same here ! We've been asking ourselves "where it could be" without even thinking it was not an existing functionality...

That's a real drawback I'm pretty sure the awesome team here will take care of ! Many thanks for your good work guys ;)

@Floyd25
Copy link

Floyd25 commented Mar 31, 2016

+1

4 similar comments
@hkuich
Copy link

hkuich commented Apr 1, 2016

+1

@hvma
Copy link

hvma commented Apr 12, 2016

+1

@rkje
Copy link

rkje commented Apr 12, 2016

+1

@heppstux
Copy link

+1

@rore
Copy link

rore commented Apr 18, 2016

Seems like a pretty important feature... I'm surprised it doesn't exist.

@twhiting
Copy link

+1

8 similar comments
@vladimirralev
Copy link

+1

@jmccaughey
Copy link

+1

@Bl3rp
Copy link

Bl3rp commented Jun 21, 2016

+1

@CeeDubbVA
Copy link

+1

@pablojavier
Copy link

+1

@Ankhesa
Copy link

Ankhesa commented Jun 29, 2016

+1

@naw3l
Copy link

naw3l commented Jun 29, 2016

+1

@deblike
Copy link

deblike commented Jun 29, 2016

+1

@KoAi
Copy link

KoAi commented Jul 11, 2016

Just looking for how to activate this functionality, I find this issue. So please, think about it :)

@rammjet
Copy link

rammjet commented Aug 7, 2016

+1 - Really, really need this function.

@davidlevy
Copy link

+1

5 similar comments
@salamachinas
Copy link

+1

@LeDistordu
Copy link

+1

@danpospisil
Copy link
Contributor

+1

@ghost
Copy link

ghost commented Oct 22, 2016

+1

@eloo
Copy link

eloo commented Nov 15, 2016

+1

@JensvdHeydt
Copy link

As much as I appreciate all the +1 it doesn't seem as if a developer is willing to introduce this feature, right?

@timandovo
Copy link

Anyone else willing to add some dollars to the bounty so that we can finally get this implemented?

https://www.bountysource.com/issues/28998888-global-search-across-channels

@cyberhck
Copy link
Contributor

cyberhck commented Jun 13, 2017

@jusfeel actually it's not a big deal, I tried this just now, apart from meteor/meteor#8057 issue, everything else is very straightforward.

The way it's currently done is: client sends roomId to server, I changed it to send null in this case (of course without breaking existing stuff by using optional parameter), on server it's checking if user has access to that channel (which might be null in our case).

When searching for entire conversation, I first select all room user has access to, then search for the messages in those rooms.

It's pretty straightforward upto now. What remains is: when we display the result, right now we can just click on hand arrow and it shows in that channel, now it should navigate away from that channel, since this is the first time I've touched meteor, I'll need a little time for this part :)

Any suggestions are welcome :)

@cyberhck
Copy link
Contributor

cyberhck commented Jun 14, 2017

searching and displaying is done, now all I need to do is to show the message when clicked.

This is my first time trying to do meteor and this template, if someone familiar with this, I just need to change the current room. any suggestions welcome :)

@Cu57arD
Copy link

Cu57arD commented Jul 31, 2017

Anybody else willing to upgrade the bounty, I just added $200 - https://www.bountysource.com/issues/28998888-global-search-across-channels

@dmoldovan123
Copy link

+1

@savikko
Copy link
Contributor

savikko commented Aug 13, 2017

I have somehow-working solution on my fork (https://github.com/savikko/Rocket.Chat.git), please clone and test and share your experiences with that.
Comments to PR #7628.

@Marx1st
Copy link

Marx1st commented Feb 1, 2018

+1

@timandovo
Copy link

@Marx1st

Thanks for adding your vote. If you can, please add to the bounty so that we can finally get this in place - Bountysource

@pshute
Copy link

pshute commented Feb 11, 2018

The bounty is now nearly $800, and someone has had a solution ready for testing since August. Can someone please tell me what's stopping this from happening?

@savikko
Copy link
Contributor

savikko commented Feb 12, 2018

Reason for not happening from my side has been global busyness :)
But, I have to look at this (again), what this now needs is to merge current development to my branch and then implement global_search_enabled -type boolean to admin settings. I'll look at this in coming days, first thing is to find out how settings are implemented on Rocket.Chat.

@timandovo
Copy link

Hi Savikko
Great to get such a positive response from you.
You should talk to Rodrigo Nascimento and Theo Renck from the RocketChat team, Rodrigo has told me that they would like to add global search as soon as possible now.

@savikko
Copy link
Contributor

savikko commented Feb 12, 2018

Thanks for your kind words.
And just to add, while I deeply understand that global search (with its current implementation) can cause major performance issues in some environments, it should be decideable by admin to enable it or not.

@tkurz
Copy link
Contributor

tkurz commented Mar 14, 2018

Hi all!
As you can see I created a Pull request which allows to use either the current Mongo Search or an external Search Service based on Apache Solr (which can be used either as Service or as on-site installation).
It is just a first test but I'd love to improve it based in your feedback!

@pshute
Copy link

pshute commented Mar 22, 2018

I just tried the beta, seems to work ok, but our team is small, so not likely to have performance issues. Thank you for doing this, @savikko .

@pshute
Copy link

pshute commented Mar 22, 2018

@savikko Bug: If I scroll through the list of global search results, if I scroll to the very end, the list suddenly reverts to the current channel only.

@pshute
Copy link

pshute commented Mar 22, 2018

@savikko Feature: The search results are updated as I type the search string. Should they also update if I tick or untick the Global Search option?

@savikko
Copy link
Contributor

savikko commented Mar 23, 2018

@pshute : I'm not alone here doing this, thanks @cyberhck for starting this and @rodrigok for getting it running.
I have tried this on our rather small environment (about 100 users, 200k total messages), performance hasn't been an issue.

Search update (un)ticking option is not implemented at the moment, it should be done at the same time as layout of the checkbox would be changed. I wouldn't mind if there would be "loading" spinner when searching.

I can confirm that when scrolling (until the paging triggers) to the bottom, paging does not recognize that global search was chosen.

@rcmorano
Copy link

rcmorano commented Jul 6, 2018

Aloha!

Firstly, I want to thank everybody that worked on this great feature, I'm using it and it works like a charm.
I'll be posting info about performance once my msgdb gets big enough to considerate it. BTW, regarding to performance, @savikko could you comment what hardware is supporting your installation (~100 users/ 200k msgs)?

In second place, I wanted to make a consideration that is also related somehow to performance but it's more about usability...
By default when you enable global search, and hit the search button in any channel, the checkbox to search globally is ticked, woudln't make more sense to have it disabled by default?
I guess you usually expect to search in current channel instead of globally; and it could save a lot of computing resources that might be used by miseducated users :)

@savikko
Copy link
Contributor

savikko commented Jul 6, 2018

Our current setup:
app server: 4cores, 8G RAM.
mongodb: Mongo Atlas (mongo as a service), 2G RAM, 0.2vCPUs.

@rcmorano
Copy link

rcmorano commented Jul 7, 2018

Many thanks @savikko!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature: Request Requested Feature
Projects
None yet