I shared bits and pieces of this before, but it’s officially up and running now: https://www.search-lemmy.com/

This is an enhanced search engine for Lemmy. With a few primary goals:

  • You can choose a preferred instance. After choosing what your primary instance is, and performing a search ALL links will open in that instance.
  • This aims to be a replacement for using site:reddit.com in Google, but just for the fediverse.
  • You can filter the search results by:
    • Instance – This will filter the results to only show communities that belong to a particular instance. Just type something like instance:lemmy.wrold or instance:https://lemmy.world/. This is separate from your preferred instance, such that you can search for posts on lemmy.world while still opening them on lemmy.ml.
    • Community – You can refine the search by a specific community. You use the same syntax that you’d use here community:!fediverse@lemmy.world.
    • Author – Similar to the above you can also filter by a specific author such as: author:@marsara9@lemmy.world.
  • The entire thing is open-source. You can view the code and even host your own instance… See more details here: https://github.com/marsara9/lemmy-search.

NOTE: This only supports Lemmy instances for now. Other fediverse type instances may be in the future depending on how this works out.

I’ve been working on this over just the last few weeks, so it hasn’t had a chance to crawl much of the fediverse yet. For now it only supports lemmy.world and lemmy.ml but other preferred-instances will come online as time goes by.

If anyone finds any bugs, and I’m sure you will, or if anyone has any suggestions PLEASE raise an issue on GitHub for me to track. Lastly, if anyone wants to help contribute please feel free to reach out.

NOTE TO SERVER ADMINS: You can prevent your site from being crawled by adding lemmy-search to your robots.txt for the user-agent.

    • BitOneZero @ .world
      link
      English
      41 year ago

      Federation protocol implementation is poorly optimized, it does SQL lookup for the person every incoming post/comment/like, checks the community if they are banned, all of this with zero caching. HTTP outbound is also very simple design that only now some logic to detect dead peer servers is being added, etc.