this post was submitted on 04 Aug 2023
89 points (98.9% liked)
Fediverse
28544 readers
347 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to [email protected]!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Thanks for the shout-out.
But FYI I've run into some bugs that's preventing new content from being indexed. So you won't see anything new (from about a week ago) until I can find a new method to fetch new posts.
Just dropping by to say “thanks”
So, thanks for putting in the work. I know it isn’t easy. And can easily be overlooked. ❤️
Would it be better if your backend federates with popular instances so they push new posts and comments to your search engine? That way, you don't need to scrape those instances to index their contents (because they'll voluntarily send the contents to you via activitypub).
Yep that's the new idea. The sad part is that with this method there's no way to get historical data. Only new posts. So if a server goes down, gets DDOSd etc... I'll lose posts forever.
Also building an ActivityPub implementation from scratch isn't trivial either. So that'll take some time.
I've got a few other ideas I'm playing with as well. Like just assuming that internal post IDs are all sequential and literally fetching them one by one. Or maybe some combination of both?
Instead of building a new ActivityPub implementation, you could just run a regular instance of Lemmy and pull data from its database directly? Or use its API for searches?
I was using it's APIs. But new restrictions have effectively been put in place that prevent me from using them for what I need. Similar API calls were being made that were causing DDOS attacks on lemmy.world.
As for running a lemmy instance itself. That's a thought but I need the data in a different format to do efficient searches. It's a tricky problem.
Why not talk to the instance admins directly and ask for their database dumps (minus the user accounts table and DMs) so you can ingest it into your search index? You're doing this for the benefit of the fediverse, right? I'm sure most instance admins would help you if you ask (and it's easier on their servers too because your scraper aren't bombarding their server), I know I would, tough my instance only have 2 users right now so it'll probably useless to index. This should take care the historical data problem, and you can use activitypub for obtaining new data going forward without scraping the instances.