To see it in action:
Crust.piefed.social (the Piefed development instance)
Not all instances implement it yet, I guess it depends how often they pull from the dev branch
Example of search for ‘movies’
Out of interest, what is search like on Piefed? Lemmy’s is all but useless. Even filtering by “last week” will show me two year-old posts and comments, regularly that don’t actually include the word I’m looking for.
Lemmy’s search is a lot better if you don’t use the ‘All’ type, like just search comments or posts. With ‘All’, it is basically useless. Like sorting by controversial on a user’s profile.
Here’s a search I did just now. Despite trying to restrict it to the last month (“Top Month”), none of the results on the first page are within the last month.
Ah, right comments don’t actually top with time ranges in 0.19: https://join-lemmy.org/docs/users/03-votes-and-ranking.html#sorting-comments, my bad. The fact lemmy-ui still shows all of them is very confusing, I’ll admit.
This is different in 1.0, the logic was changed for both posts and comments so these will work in future.
https://join-lemmy.org/docs/users/03-votes-and-ranking.html#sorting-comments
That’s a page that really shouldn’t be relevant, and it concerns me if it is, because the search page should not be working on the same ordering logic that comment pages or the front page use.
Anyway, I mainly only use the “top month” option as a proxy for what I really want, which is “filter by posts/comments in the last month”, usually because I’m searching for something I saw recently, and I have a rough idea of when it was posted.
Eh, I don’t think it’s that surprising. Getting a list of comments on a post vs getting them from a search term are very similar operations, so it doesn’t make too much sense for these to have different queries in the backend. One thing you could do, but no client to my knowledge does, is add a search bar to a post that searches through the comments only within that thread.
Everything in the backend uses the same sorting as the posts do on that page except comments, which is frustrating. Comments do need a different sort enum as there are some options that don’t apply to comments (scaled, new comments, etc.), but yeah the fact the top options don’t work for comment search when they should is opaque and not user friendly.
I can’t wait for 1.0 to actually come out because I feel like a broken record, but this is fixed there.
Eh, I don’t think it’s that surprising. Getting a list of comments on a post vs getting them from a search term are very similar operations, so it doesn’t make too much sense for these to have different queries in the backend
Sure, but one would have thought that the ordering in a search is fundamentally different from the ordering in other places. Because you want something that contains the words you’ve searched for near each other to appear ahead of a post that has those words scattered at random because it’s a 500 word essay. You want exact word matches prioritised ahead of entirely unrelated words that include the same characters. Like “enum” should turn up your comment, but rank a comment that contains the text “renumbers” much more lowly. A particularly smart search page might keep “enumerate” high while rejecting “renumbers”, though.
Of course, it’s true that at least in the current latest release, Lemmy fails at all of this. I hope 1.0 is at least fixing some of it?
This doesn’t have anything to do with sort ordering though, which is based on time and votes. Text search is just a filter on top of sorting.
You want exact word matches prioritised ahead of entirely unrelated words that include the same characters. Like “enum” should turn up your comment, but rank a comment that contains the text “renumbers” much more lowly. A particularly smart search page might keep “enumerate” high while rejecting “renumbers”, though.
Of course, it’s true that at least in the current latest release, Lemmy fails at all of this. I hope 1.0 is at least fixing some of it?
How Lemmy does text search is via pg_trgm which works by breaking down both the content text and search text into trigram* and if the content contains enough of the search trigrams, it’s considered to match the search term.
* A trigram is just a 3 character ‘words’, for example the trigram of ‘enum’ is
{" e"," en",enu,num,"um "}
.What you’re describing is closer to a tsvector, so you could open up an issues on Lemmy’s GitHub to move from trigram to tsvector. One advantage trigrams have though is that they’re language agnostic while
tsvectos
s need both a dictionary and to know the language (thankfully, Lemmy already has this info via the language setting, though the way it’s stored will need to be changed to accommodate this). But tsvectors does provide much more intuitive language matching, like what you outlined.
Searching by “posts” on Lemmy is actually superior to searching on PieFed, though searching by “all” or “comments” on Lemmy is absolutely borken (haha misspelled unintentionally but Imma just leave it there as it fits so well!?:-P). Reputedly Lemmy’s search is about to add the ability to filter on post “titles” separately from the rest of the text, which sounds very nice.
So it’s hit or miss what works or not on Lemmy. PieFed’s search is the singular feature that is currently very behind compared to Lemmy, but like everything else I expect PieFed to rapidly overtake Lemmy one day soon-ish. Therefore I use a PieFed account as my daily main, but when I want to search for something I still switch back to Lemmy (you don’t even need an account for that though).
Yep I’m looking into options… https://codeberg.org/rimu/pyfedi/issues/1235
I figured that you would be! :-)
Although to be clear, searching for content is not something that I do daily or even weekly, so personally I consider it much lower in prioritization than other feature requests, e.g. a comment reply has a Preview option but a top-level comment to a post does not (that button does not appear), notifications is still a bit wonky, particularly not interacting well with the newer feature that loads comments (when there is a larger number of them?) only after loading the post, and then by doing so fails to traverse to where the notification link was aiming to take me to, etc.
Though I suppose others may consider it higher priority, especially newer people evaluating PieFed, and probably working on the search back-end may be a lot more fun!? :-P
It is always nice to see new things coming to PieFed. This is the only software giving me any hope for social media right now:-).
A lot of those are fixed in v1.2 (unreleased) :)
Is this different to Lemmy’s communities tab sorted by ‘Top Week’, which sorts by weekly active users?
IMO, the main advantage of Lemmyverse is the better text search and presentation.
No it’s not. It’s just a way to sort by active weekly users, but you can mix and match by filtering with feeds which you can’t do on Lemmy.
The text search on Piefed is similar to Lemmyverse. Example for ‘movies’
So basically this? https://p.feddit.uk/search?q=movies&type=Communities&sort=TopWeek
You still don’t see the number of weekly active users.
On Piefed, it’s the ‘Active people’ column, where you can see the numbers without having to go to each community. Lemmy (and Photon in this case) only show subscribers, which isn’t an accurate metric as most of them are ghost accounts.
Oh great, now I can check if my Taylor Swifties Markov Chains are more popular in Meta’s piefeed instance over Microsoft’s 🙄 /s
Folks, please don’t not fall for Popularity Biases. Just because one instance has more robots talking to each other, doesn’t mean you should join the community.
Is there a theme or css for piefed that makes it look more like old reddit? I love the old reddit frontend for lemmy but sadly it seems to abandoned.
Where I’m at so far with a theme. Gotta finish up the top bar with community subscriptions and tidy up the user part on the left before moving onto the feed.
Oh nice, that looks like a great start. Is that just custom CSS you can use in the piefed settings or a full blown them the piefed admin has to install?
As in old.reddit or the old “new” reddit they apparently changed a week ago.
I’ve been messing around with customising themes all week on https://quokka.au, and I would be happy to give it a shot.
I mean like the original reddit layout. So it looks similar like this lemmy front end: https://old.lemmy.zip/
It’s crazy how fast development moves when you don’t spend all day celebrating censoring your instance.
Or when you use the right tool for the job (Python instead of Rust)