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.

  • raspberriesareyummy@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    still not working - is this possibly because of the server being overloaded & the crawl not working? relevant query

    PS: is it too much load on your search engine to search across all instances by default? Atm it auto-selects the first in the dropdown list as the preferred instance.

      • tarjeezy
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Hello, I commented about a bug in the instance selector on a cross post, not realizing that wasn’t the actual developer. Not sure if it’s related to what you’re talking about here, but I wanted to bring it to your attention. Great project by the way!

        https://lemmy.ca/comment/829227

        • marsara9@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          Replied to your comment there. I’ll definitely look into that bug tonight. But I’m still exploring ideas to make instance selection easier …

    • marsara9@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Search engines take time to crawl websites to find content. Right now I’m using lemmy.ml as my source of truth. So:

      1. The post in question must have been federated to Lemmy.ml
      2. The crawler then has to discover that post. Right now it’s only scheduled to run on demand, as it’s still doing it’s initial crawl. So it won’t get around to checking Lemmy.ml for new posts for a few days. Eventually it runs once every 6 hours, once it’s caught up.
      3. Lastly, it has to cross-reference that post on your preferred instance. This is what the crawler is doing right now. It’s taking every post it found on lemmy.ml and trying to find the same post on every other instance.

      P.s. the last step is only required because there’s no way to hotlink to a post today as the URL uses an internal identifier. There’s an open GitHub issue on this for Lemmy itself. When/if that is resolved I might be able to speedup the discovery of new content by skipping the cross-referencing step altogether.