meilisearch-swift icon indicating copy to clipboard operation
meilisearch-swift copied to clipboard

Perform multiple searches in one single HTTP request

Open brunoocasali opened this issue 2 years ago • 6 comments
trafficstars

⚠️ This issue is generated, it means the examples and the namings do not necessarily correspond to the language of this repository. Also, if you are a maintainer, feel free to add any clarification and instruction about this issue.

Sorry if this is already partially/completely implemented, feel free to let me know about the state of this issue in the repo.

Related to https://github.com/meilisearch/integration-guides/issues/251


Related to:

  • issue: https://github.com/meilisearch/meilisearch/issues/3427
  • spec: https://github.com/meilisearch/specifications/pull/225

Create a new client method called multiSearch/multi_search, which will request POST /multi-search with a body payload containing a structure similar to this:

{
   "queries": [ 
      { "indexUid": "movie", "q": "wonder", "limit": 10 }, 
      { "indexUid": "books", "q": "king", "page": 2 } 
    ]
}

Each object is a simple search object sent in the POST /indexes/:indexUid/search request.

Pay attention to the response, which will follow the order of the requests object and will look like this (note the new indexUid key in the response):

{
   "results": [ 
      {
         "indexUid": "movie",
         "hits": [ { "title": "wonderwoman" } ],
         // other search results fields: processingTimeMs, limit, ...
      },
      {
         "indexUid": "books",
         "hits": [ { "title": "king kong theory" } ],
         // other search results fields: processingTimeMs, limit, ...
      },
   ]
}

TODO:

  • [ ] Add the new multiSearch method
  • [ ] Add tests

brunoocasali avatar Apr 27 '23 13:04 brunoocasali