meilisearch / meilisearch/meilisearch-php

[v1.19.0] Add sharding support

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

Nobody has claimed this yet.

enhancement good first issue
Dominant language
PHP
Stars
757
Forks
125
Avg merge
6d 8h
Merged PRs (30d)
2

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 with the SDK's Network methods and Tasks methods, then compare their request and response handling with the Meilisearch 1.19 sharding documentation. Add coverage for the sharding parameter, remote writeApiKey fields, and task remotes objects, including renaming behavior, in the test suite. Done means all listed API changes are represented and the new test cases pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
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.