Skip to content

Commit b287218

Browse files
authored
Merge branch 'main' into change-indexes-method
2 parents 46a69f1 + 68d4724 commit b287218

31 files changed

+219
-85
lines changed

.code-samples.meilisearch.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,3 +381,15 @@ reset_sortable_attributes_1: |-
381381
client.index('books').reset_sortable_attributes
382382
search_parameter_guide_sort_1: |-
383383
client.index('books').search('science fiction', { sort: ['price:asc'] })
384+
geosearch_guide_filter_settings_1: |-
385+
client.index('restaurants').update_filterable_attributes(['_geo'])
386+
geosearch_guide_filter_usage_1: |-
387+
client.index('restaurants').search('', { filter: '_geoRadius(45.4628328, 9.1076931, 2000)' })
388+
geosearch_guide_filter_usage_2: |-
389+
client.index('restaurants').search('', { filter: '_geoRadius(45.4628328, 9.1076931, 2000) AND type = pizza' })
390+
geosearch_guide_sort_settings_1: |-
391+
client.index('restaurants').update_sortable_attributes(['_geo'])
392+
geosearch_guide_sort_usage_1: |-
393+
client.index('restaurants').search('', { sort: ['_geoPoint(48.8583701,2.2922926):asc'] })
394+
geosearch_guide_sort_usage_2: |-
395+
client.index('restaurants').search('', { sort: ['_geoPoint(48.8583701,2.2922926):asc', 'rating:desc'] })

.rubocop.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,3 @@ Style/SymbolArray:
2020

2121
Style/WordArray:
2222
EnforcedStyle: brackets
23-
24-
Style/GlobalVars:
25-
AllowedVariables:
26-
- $URL
27-
- $MASTER_KEY
28-
- $DEFAULT_SEARCH_RESPONSE_KEYS

.rubocop_todo.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This configuration was generated by
22
# `rubocop --auto-gen-config`
3-
# on 2021-09-01 13:50:39 UTC using RuboCop version 1.19.1.
3+
# on 2021-10-12 19:14:29 UTC using RuboCop version 1.20.0.
44
# The point is for the user to remove these configuration records
55
# one by one as the offenses are removed from the code base.
66
# Note that changes in the inspected code, or installation of new
@@ -14,16 +14,16 @@ Gemspec/DateAssignment:
1414
Exclude:
1515
- 'meilisearch.gemspec'
1616

17-
# Offense count: 33
17+
# Offense count: 35
1818
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
1919
# IgnoredMethods: refine
2020
Metrics/BlockLength:
21-
Max: 497
21+
Max: 500
2222

2323
# Offense count: 1
2424
# Configuration parameters: CountComments, CountAsOne.
2525
Metrics/ClassLength:
26-
Max: 226
26+
Max: 256
2727

2828
# Offense count: 1
2929
Naming/AccessorMethodName:

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ group :development, :test do
1414
end
1515

1616
group :development do
17-
gem 'rubocop', '~> 1.20.0', require: false
17+
gem 'rubocop', '~> 1.22.1', require: false
1818
end

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ JSON output:
151151

152152
## 🤖 Compatibility with MeiliSearch
153153

154-
This package only guarantees the compatibility with the [version v0.22.0 of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases/tag/v0.22.0).
154+
This package only guarantees the compatibility with the [version v0.23.0 of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases/tag/v0.23.0).
155155

156156
## 💡 Learn More
157157

lib/meilisearch/client.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,17 @@ def delete_index(index_uid)
4040
index_object(index_uid).delete
4141
end
4242

43+
# Usage:
44+
# client.delete_index_if_exists('indexUID')
45+
def delete_index_if_exists(index_uid)
46+
index_object(index_uid).delete
47+
true
48+
rescue ApiError => e
49+
raise e if e.code != 'index_not_found'
50+
51+
false
52+
end
53+
4354
# Usage:
4455
# client.index('indexUID')
4556
def index(index_uid)

lib/meilisearch/index.rb

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,40 @@ def update_documents!(documents, primary_key = nil)
7676
end
7777
alias add_or_update_documents! update_documents!
7878

79+
def add_documents_in_batches(documents, batch_size = 1000, primary_key = nil)
80+
update_ids = []
81+
documents.each_slice(batch_size) do |batch|
82+
update_ids.append(add_documents(batch, primary_key))
83+
end
84+
update_ids
85+
end
86+
87+
def add_documents_in_batches!(documents, batch_size = 1000, primary_key = nil)
88+
update_ids = add_documents_in_batches(documents, batch_size, primary_key)
89+
responses = []
90+
update_ids.each do |update_object|
91+
responses.append(wait_for_pending_update(update_object['updateId']))
92+
end
93+
responses
94+
end
95+
96+
def update_documents_in_batches(documents, batch_size = 1000, primary_key = nil)
97+
update_ids = []
98+
documents.each_slice(batch_size) do |batch|
99+
update_ids.append(update_documents(batch, primary_key))
100+
end
101+
update_ids
102+
end
103+
104+
def update_documents_in_batches!(documents, batch_size = 1000, primary_key = nil)
105+
update_ids = update_documents_in_batches(documents, batch_size, primary_key)
106+
responses = []
107+
update_ids.each do |update_object|
108+
responses.append(wait_for_pending_update(update_object['updateId']))
109+
end
110+
responses
111+
end
112+
79113
def delete_documents(documents_ids)
80114
if documents_ids.is_a?(Array)
81115
http_post "/indexes/#{@uid}/documents/delete-batch", documents_ids

meilisearch.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ Gem::Specification.new do |s|
2323
]
2424

2525
s.required_ruby_version = '>= 2.6.0'
26-
s.add_dependency 'httparty', '>= 0.17.1', '< 0.20.0'
26+
s.add_dependency 'httparty', '>= 0.17.1', '< 0.21.0'
2727
end

spec/meilisearch/client/dumps_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
RSpec.describe 'MeiliSearch::Client - Dumps' do
44
before(:all) do
5-
@client = MeiliSearch::Client.new($URL, $MASTER_KEY)
5+
@client = MeiliSearch::Client.new(URL, MASTER_KEY)
66
clear_all_indexes(@client)
77
end
88

spec/meilisearch/client/health_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
RSpec.describe 'MeiliSearch::Client - Health' do
4-
let(:client) { MeiliSearch::Client.new($URL, $MASTER_KEY) }
4+
let(:client) { MeiliSearch::Client.new(URL, MASTER_KEY) }
55
let(:wrong_client) { MeiliSearch::Client.new('bad_url') }
66

77
it 'is healthy when the url is valid' do

0 commit comments

Comments
 (0)