meilisearch / meilisearch/meilisearch-ruby

[v1.19.0] Add sharding support

Open
#647 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue
Dominant language
Ruby
Stars
224
Forks
54
PR merge metrics
No merged PRs in 30d

Description

Context

We want to update the SDK to support Meilisearch 1.19 features.

Description

Meilisearch now supports sharding to enable horizontal scaling. Read the docs for more context on implementation.

The following changes in Meilisearch API need to be reflected in this SDK:

  • Network API (first introduced in Meilisearch 1.13) now allows enabling sharding
  • Network API responses now include writeApiKey in the remotes objects
  • Tasks API responses now include remotes objects for tasks

Tasks

  • Update the Network methods to accept sending the sharding parameter
  • Update the Network methods to include remotes.[remoteName].writeApiKey in the responses
  • Update the Tasks methods to include remotes objects in the tasks reponse index update method to allow renaming
  • Add new test cases to test implementation

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the SDK's Network methods and Tasks methods that map the described Meilisearch API responses, then review the existing test cases for those methods. Implement sharding input and the new remotes writeApiKey and task remotes fields, including response renaming support. Done means the new test cases pass and cover all listed API changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.