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:[email protected].
    • Author – Similar to the above you can also filter by a specific author such as: author:@[email protected].
  • 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.

  • @[email protected]
    link
    fedilink
    English
    52 years ago

    Doesn’t seem to work with for me (on jerboa). Says site does not exist when I click on a link.

  • Carlos Solís
    link
    fedilink
    English
    222 years ago

    Wondering if this will see the same backlash that Mastodon had when users were planning to add a search engine - many users moved to Mastodon specifically because their posts are unsearchable by default, and that prevents some dogpiling that was common on Twitter.

    • Dick Justice
      link
      fedilink
      English
      14
      edit-2
      2 years ago

      Lemmy is not private in any way. In fact, while the OP’s project is really cool and admirable, there is already https://fedi-search.com, which searches top Lemmy instances (and kbin, Mastodon, and peertube) using regular operators behind the scenes in Google, Bing or DDG (whichever you prefer), because those search engines already crawl Lemmy along with the rest of the internet, unless the site owners block crawling via robots.txt.

    • PCH
      link
      fedilink
      English
      112 years ago

      TBH they can block them from search in the preferences. Otherwise anything on the Web is searchable and findable.

    • @[email protected]
      link
      fedilink
      English
      392 years ago

      Great heads up

      I just don’t get why people would join SOCIAL media if they don’t want to their posts public. Its like having a group meeting in the middle of a public square and complain people saw them

      Maybe they should just use discord or or private communities instead

    • @[email protected]OP
      link
      fedilink
      English
      14
      edit-2
      2 years ago

      I’ve already got some complaints about that. You can see one of the issues raised on GitHub.

      At the moment, I’m only picking up mastodon posts that are federated to Lemmy, but you can’t choose Mastodon as a preferred-instance, yet. When and/if I decide to add Mastodon support, I’ll reach out to the admins over there to get feedback first.

      Edit and note to any server admin: If you want to block the crawler from hitting your site, just add lemmy-search to your robots.txt and crawling will be prevented. But this doesn’t stop cross-federation posts from being picked up on another instance.

      • @[email protected]
        link
        fedilink
        English
        22 years ago

        Is it “lemmy-search” or “lemmy-server”? The post and this comment seem conflicting (if I didn’t miss something)

      • @[email protected]
        link
        fedilink
        English
        11
        edit-2
        2 years ago

        Thats very considerate of you

        Please don’t take those complaints as negative feedback. I don’t think Lemmy is designed to be private and your search engine would be a great of help to the whole community.

        By the way, do you plan to create a community to discuss about your search engine? Maybe users can help you with testing or report issues or improvement

        • @[email protected]OP
          link
          fedilink
          English
          52 years ago

          I’ve got a discord page up and going that is invite only right now. No offense to anyone here but i didn’t want to be overwhelmed with users joining in on the discord chat just yet. If you want to help contribute or even just test you can easily find me on discord, and I’ll give you an invite.

            • @[email protected]OP
              link
              fedilink
              English
              12 years ago

              If anyone wants to start one up… by all means. I’m not really one to moderate an entire community. At least not yet.

              • @[email protected]
                link
                fedilink
                English
                12 years ago

                Yeah I hear you. I’ve thought several times about starting niche communities that aren’t here yet but I just am not capable or even able to be a moderator.

      • @[email protected]
        link
        fedilink
        English
        22 years ago

        I think the use case and the default expectations about search are pretty different on Lemmy, but I can definitely see this being a potential point of friction, particularly since most content is actually structured by community rather than instance, and in many cases it would make more sense to exclude stuff based on the community it’s posted to or the individual user than by instance. (But I’m sure that wouldn’t be immediately technically feasible.)

        • @[email protected]OP
          link
          fedilink
          English
          32 years ago

          Ya Lemmy organizes everything under a community technically. I mean I can filter on any piece of data I can get my hands on, but what makes the most sense. For MVP I chose to just grab whatever the API would give me. But then the question comes, if I do start filtering results, how do I determine what to actually exclude… long story short – not an easy problem at least initially.

      • @[email protected]
        link
        fedilink
        English
        32 years ago

        I think it makes sense for a “redditlike” to be searchable, while also understanding that Mastodon is a different beast and can benefit from lack of search.

        Don’t know if Mastodon posts on Lemmy instances have a specific characteristic, but perhaps you can consider filtering them out while keeping “regular” Lemmy posts and comments?

  • @[email protected]
    link
    fedilink
    English
    192 years ago

    This is great! I was so annoyed by the links not going to my home instance that I made this userscript (Lemmy post)! It rewrites all links on all websites to always point to your home instance.

    Could be a nice addition for everyone that likes this website :)

    • @[email protected]OP
      link
      fedilink
      English
      42 years ago

      Are the search result links not opening on your home instance? If so please raise an issue on GitHub with your home instance URL and I’ll investigate. But you should be able to select your home instance from the drop-down and then search and all of the results will have their links direct to that instance. (This does require that your instance has been indexed by the search engine, which as of this moment I’ve only indexed 278 of the nearly 1000? Lemmy instances out there.)

      • @[email protected]
        link
        fedilink
        English
        62 years ago

        I think you misunderstood. You were annoyed by links not going to your home instance when searching so you made this website. I was annoyed by all links everywhere not going to my home instance so I wrote the script. They’re both tools that help achieve the same thing so I felt right to post mine here, too :)

    • @[email protected]OP
      link
      fedilink
      English
      142 years ago

      It might not have been crawled yet. The search engine will periodically search for new content but this isn’t instant. So it may take a day or two to find it.

      • @[email protected]
        link
        fedilink
        English
        22 years 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.

        • @[email protected]OP
          link
          fedilink
          English
          22 years 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.

          • @[email protected]
            link
            fedilink
            English
            12 years 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

            • @[email protected]OP
              link
              fedilink
              English
              22 years 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 …

  • Seytoux
    link
    fedilink
    English
    72 years ago

    Not very knowledgeable on programming, but isn’t there a way to implement this code with the Lemmy/fediverse devs to integrate this to the site and afterwards to the different apps used to browse it?

    Great contribution regardless, thanks for your work!

    • @[email protected]OP
      link
      fedilink
      English
      82 years ago

      See one of my other replies. But that was a thought originally. Just hook into the original database instead of crawling using the APIs. Problem is, the table structure required to search is much different than that of a community form. At least if you want to do searches quickly. It takes me almost 5-10 seconds just to process 50 posts at the moment, and I’m doing those in batches… but ya maybe in the future I can talk to the Lemmy devs and see about merging these two projects?

      • Seytoux
        link
        fedilink
        English
        22 years ago

        I really really hope, one of the things I’m loving about the idea of Lemmy or the fediverse is the cooperation aspect, at least in jerboa which is the browser that I am using for now, there is a sense that anyone is pitching in either ideas or actually implementing them, and I guess Lemmy devs are of the same mentality. Anyhow, let’s hope you can merge them and optimize in the future, it would be huge, congrats and good job again.

  • Mermitian
    link
    fedilink
    English
    112 years ago

    Really nice work! I was excited since we talked about it, and it definitely delivers imo!

      • 🐱TheCat
        link
        fedilink
        English
        42 years ago

        take time off whenever you need :D Im sure people would rather you go far than go fast

      • Mermitian
        link
        fedilink
        English
        52 years ago

        Haha yeah! You might have to resort to an internet-less vacation :p

  • @[email protected]OP
    link
    fedilink
    English
    42 years ago

    Update: I’m hoping I got the stability issues fixed. I’ll know more in the next 24hrs though.