• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Development Plugin Development JellySearch

    Pages (6): 1 2 3 4 5 6 Next »

     
    • 1 Vote(s) - 5 Average

    JellySearch

    A fast full-text search proxy for Jellyfin
    keklol
    Offline

    Junior Member

    Posts: 13
    Threads: 2
    Joined: 2023 Jul
    Reputation: 1
    #1
    2024-08-16, 11:12 AM
    [Image: icon.svg]

    A fast full-text search proxy for Jellyfin

    https://gitlab.com/DomiStyle/jellysearch

    (I am not the author but this seems very interesting)
    3
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    jennystreaming
    Offline

    Junior Member

    Posts: 24
    Threads: 3
    Joined: 2024 Jun
    Reputation: 0
    Country:Finland
    #2
    2024-08-18, 06:34 PM (This post was last modified: 2024-08-18, 06:41 PM by jennystreaming. Edited 2 times in total.)
    THAT IS CRAZY!

    "On a large Jellyfin server this brings the search speed per request down from about 2 seconds to 1 - 150 milliseconds.
    As an added bonus, the search is much less prone to not finding results because of typos and also supports searching across multiple fields, e.g. mr robot, how to train your dragon 2010, queen a night at the opera, brotherhood fullmetal, better cal sual all work."
    1
    1
    1
    jennystreaming
    Offline

    Junior Member

    Posts: 24
    Threads: 3
    Joined: 2024 Jun
    Reputation: 0
    Country:Finland
    #3
    2024-08-18, 06:50 PM
    This seem to be for Jellyfin? https://github.com/fredrikburmester/marlin-search
    1
    1
    1
    Topomov
    Offline

    Junior Member

    Posts: 32
    Threads: 2
    Joined: 2023 Jul
    Reputation: 1
    #4
    2024-08-20, 09:54 AM (This post was last modified: 2024-08-20, 10:10 AM by Topomov. Edited 1 time in total.)
    Looks awesome! Thanks for sharing. I'll give it a try.
    Out of curiosity; would someone have an idea on why the author decided to make a plugin instead of pushing a contribution to the Jellyfin core?
    1
    1
    1
    thornbill
    Offline

    Core Team

    Posts: 174
    Threads: 6
    Joined: 2023 Jun
    Reputation: 8
    Country:United States
    #5
    2024-08-20, 12:31 PM
    It’s not even a plugin. It is a completely separate service. It would be nice if plugins could implement custom search functionality though.
    [Image: thornbill?style=flat&logo=github]
    1
    1
    1
    1
    Topomov
    Offline

    Junior Member

    Posts: 32
    Threads: 2
    Joined: 2023 Jul
    Reputation: 1
    #6
    2024-08-20, 05:54 PM
    (2024-08-20, 12:31 PM)thornbill Wrote: It’s not even a plugin. It is a completely separate service. It would be nice if plugins could implement custom search functionality though.

    A plugin would have indeed saved me a headache today.

    My setup runs on a Synology which reverse proxy (nginx) as far as I know does not allow to easily add routing rules in a docker compose. It's most likely my fault; I failed to fully get it working on my setup. But from what I saw using the Meilisearch interface; it is damn fast even with 200k items! Hats off to Dominik, I saw some of his messages on the projet's Github, he's been planning this a long time ago.
    1
    1
    1
    1
    xiNe
    Offline

    Junior Member

    Posts: 16
    Threads: 2
    Joined: 2023 Jun
    Reputation: 0
    Country:Canada
    #7
    2024-08-20, 07:18 PM
    (2024-08-20, 05:54 PM)Topomov Wrote:
    (2024-08-20, 12:31 PM)thornbill Wrote: It’s not even a plugin. It is a completely separate service. It would be nice if plugins could implement custom search functionality though.

    A plugin would have indeed saved me a headache today.

    My setup runs on a Synology which reverse proxy (nginx) as far as I know does not allow to easily add routing rules in a docker compose. It's most likely my fault; I failed to fully get it working on my setup. But from what I saw using the Meilisearch interface; it is damn fast even with 200k items! Hats off to Dominik, I saw some of his messages on the projet's Github, he's been planning this a long time ago.

    same here, running jellyfin on my synology nas which limited by its funtionality and not able to use this...Slightly-frowning-face
    domi
    Offline

    Junior Member

    Posts: 8
    Threads: 0
    Joined: 2024 Aug
    Reputation: 0
    #8
    2024-08-21, 08:06 AM
    (2024-08-20, 05:54 PM)Topomov Wrote:
    (2024-08-20, 12:31 PM)thornbill Wrote: It’s not even a plugin. It is a completely separate service. It would be nice if plugins could implement custom search functionality though.

    A plugin would have indeed saved me a headache today.

    My setup runs on a Synology which reverse proxy (nginx) as far as I know does not allow to easily add routing rules in a docker compose. It's most likely my fault; I failed to fully get it working on my setup. But from what I saw using the Meilisearch interface; it is damn fast even with 200k items! Hats off to Dominik, I saw some of his messages on the projet's Github, he's been planning this a long time ago.

    (2024-08-20, 07:18 PM)xiNe Wrote:
    (2024-08-20, 05:54 PM)Topomov Wrote:
    (2024-08-20, 12:31 PM)thornbill Wrote: It’s not even a plugin. It is a completely separate service. It would be nice if plugins could implement custom search functionality though.

    A plugin would have indeed saved me a headache today.

    My setup runs on a Synology which reverse proxy (nginx) as far as I know does not allow to easily add routing rules in a docker compose. It's most likely my fault; I failed to fully get it working on my setup. But from what I saw using the Meilisearch interface; it is damn fast even with 200k items! Hats off to Dominik, I saw some of his messages on the projet's Github, he's been planning this a long time ago.

    same here, running jellyfin on my synology nas which limited by its funtionality and not able to use this...Slightly-frowning-face

    Is it possible to add custom nginx config files on Synology?

    While not possible to add the rules in docker-compose, I can write a nginx config which separates the requests between Jellyfin and JellySearch.
    Topomov
    Offline

    Junior Member

    Posts: 32
    Threads: 2
    Joined: 2023 Jul
    Reputation: 1
    #9
    2024-08-21, 06:45 PM
    (2024-08-21, 08:06 AM)domi Wrote: Is it possible to add custom nginx config files on Synology?

    While not possible to add the rules in docker-compose, I can write a nginx config which separates the requests between Jellyfin and JellySearch.

    It should be possible! Althought not documented. I'm not very comfortable with it but I ended up with the following:

    Code:
    server {
        location / {
            if ($request_uri ~* "^/Genres") {
                return 403;
            }

            if ($arg_searchTerm ~* ".+") {
                proxy_pass http://127.0.0.1:5500;
                break;
            }

            if ($arg_SearchTerm ~* ".+") {
                proxy_pass http://127.0.0.1:5500;
                break;
            }

            return 404;
        }
    }

    Here is the docker config that I used. As you can see; I added ports to be able to access the Meilisearch interface; which worked great.

    Code:
    version: '3.5'
    services:
      jellyfin:
        image: jellyfin/jellyfin
        container_name: jellyfin
        network_mode: 'host'
        volumes:
    #my volumes
        restart: 'unless-stopped'

      jellysearch:
        image: domistyle/jellysearch
        restart: unless-stopped
        volumes:
          - myPathToConfig:/config:ro
        ports:
          - "5500:5000"
        environment:
          MEILI_URL: "http://192.168.1.22:7700"
          MEILI_MASTER_KEY: "1234"
          INDEX_CRON: "0 0 0/2 ? * * *"
      meilisearch:
        image: getmeili/meilisearch:v1.9
        restart: unless-stopped
        ports:
          - "7700:7700"
        volumes:
          - myPathToMeilisearch:/meili_data
        environment:
          MEILI_MASTER_KEY: "1234"

    The rest of my message is just my attempts are getting it to work. You can probably ignore it.

    Do you know if it's normal that the following request: http://192.168.1.22:5500/Users/SOMEID/It...ypes=Movie

    Returns the following? {"Items": [], "TotalRecordCount": 0, "StartIndex": 0}

    I tried to take the request sent to Jellyfin and send it to Jellysearch. But I guess I am missing some header authentification (according to the Jellysearch logs)


    Nonetheless, wherever we get it to work or not. Thank you for your work! It's been really fun to try and it's great to see people involved in the project.
    domi
    Offline

    Junior Member

    Posts: 8
    Threads: 0
    Joined: 2024 Aug
    Reputation: 0
    #10
    2024-08-22, 09:36 PM
    Try adding the following location block above your regular Jellyfin location block:

    Quote:location ~* ^(?!/Genres)(.*) {
        if ($arg_searchTerm) {
            proxy_pass http://jellysearch:5000;
            break;
        }
    }

    Where http://jellysearch:5000 is your host where JellySearch is running.

    (2024-08-21, 06:45 PM)Topomov Wrote: Do you know if it's normal that the following request: http://192.168.1.22:5500/Users/SOMEID/It...ypes=Movie

    Returns the following? {"Items": [], "TotalRecordCount": 0, "StartIndex": 0}

    Yes, all authentication is done by Jellyfin. Since I'm not sending any request when no results are found I just return an empty result no matter if the authentication failed or there are no results so I don't leak any data. You will have to set the Authorization header in order for Jellyfin to respond.
    Pages (6): 1 2 3 4 5 6 Next »

    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode