File tree Expand file tree Collapse file tree 5 files changed +41
-7
lines changed
Expand file tree Collapse file tree 5 files changed +41
-7
lines changed Original file line number Diff line number Diff line change 33require 'meilisearch/version'
44require 'meilisearch/utils'
55require 'meilisearch/http_request'
6+ require 'meilisearch/multi_search'
67require 'meilisearch/tenant_token'
78require 'meilisearch/task'
89require 'meilisearch/client'
Original file line number Diff line number Diff line change 33module MeiliSearch
44 class Client < HTTPRequest
55 include MeiliSearch ::TenantToken
6+ include MeiliSearch ::MultiSearch
67
78 ### INDEXES
89
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ module MeiliSearch
4+ module MultiSearch
5+ def multi_search ( data )
6+ body = Utils . transform_attributes ( data )
7+
8+ http_post '/multi-search' , queries : body
9+ end
10+ end
11+ end
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ RSpec . describe 'MeiliSearch::Client - Multiple Index Search' do
4+ before do
5+ client . create_index ( 'books' )
6+ task = client . create_index ( 'movies' )
7+ client . wait_for_task ( task [ 'taskUid' ] )
8+ end
9+
10+ it 'does a custom search with two different indexes' do
11+ response = client . multi_search ( [
12+ { index_uid : 'books' , q : 'prince' } ,
13+ { index_uid : 'movies' , q : 'prince' }
14+ ] )
15+
16+ expect ( response [ 'results' ] . count ) . to eq ( 2 )
17+ expect ( response [ 'results' ] [ 0 ] [ 'estimatedTotalHits' ] ) . to eq ( 0 )
18+ expect ( response [ 'results' ] [ 1 ] [ 'estimatedTotalHits' ] ) . to eq ( 0 )
19+ end
20+ end
Original file line number Diff line number Diff line change 2424 describe '.transform_attributes' do
2525 it 'transforms snake_case into camelCased keys' do
2626 data = described_class . transform_attributes ( {
27- index_name : 'books' ,
28- my_UID : '123'
29- } )
27+ index_name : 'books' ,
28+ my_UID : '123'
29+ } )
3030
3131 expect ( data ) . to eq ( { 'indexName' => 'books' , 'myUid' => '123' } )
3232 end
3333
3434 it 'transforms snake_case into camel cased keys from array' do
35- data = described_class . transform_attributes ( [
36- { index_uid : 'books' , q : 'prince' } ,
37- { index_uid : 'movies' , q : 'prince' }
38- ] )
35+ data = described_class
36+ . transform_attributes ( [
37+ { index_uid : 'books' , q : 'prince' } ,
38+ { index_uid : 'movies' , q : 'prince' }
39+ ] )
3940
4041 expect ( data ) . to eq (
4142 [
You can’t perform that action at this time.
0 commit comments