A form of toot search has been requested since April 2017, multiple times:

I have announced that am going to implement it with constraints that won't let it be used for abuse on Dec 20 2017, then again on Dec 31:

During implementation I seeked feedback , submitted PR on Feb 3 2018:

Then announced it in a progress report on Feb 21:

Β· Web Β· 0 Β· 7 Β· 15

After the progress report, the first release candidate came out on Mar 2, and was available for testing and feedback for 8 days until yesterday.

The biggest issue with ElasticSearch (that was the only issue raised during all that time) is that it takes a lot of RAM and it's an extra dependency. So it was made completely optional, not everyone wants to deal with that.

It (quite obviously) only operates on data that was in the PostgreSQL database anyway. It took 78 lines of code (mostly one file) to add the indexing (which is part of the reason it was chosen - ease of integration).

@Gargron and it makes search on blazingly fast !!😸

@Gargron I was thinking of using something smaller, perhaps Bleve (written in Go, much lower memory use) with Mastodon, if that's possible. Could be worth looking at

@Gargron there's no pleasing some people! No objections here to either its implementation or the integration process. Thanks.

@Gargron doing it in pgsql takes 5lines of code and maybe 10 of stored procedures... I proposed on the issue to help have an alternate implementation for those who don't need/want ES. Nicely ignored ;)

@gled @Gargron I'd enjoy that patch (on the minifork, maybe even on the glitch.soc fork)... I already have to shut down sidekiq to compile assets, so unless I want to bump up to 8 GB of RAM I'm not sure how I'll fit ES

@rey @gled @Gargron sure, let me put it in shape, there is an example on my GitHub, but not a turn key patch yet.

Sign in to participate in the conversation

Follow friends and discover new ones. Publish anything you want: links, pictures, text, video. This server is run by the main developers of the Mastodon project. Everyone is welcome as long as you follow our code of conduct!