Skip to content

Commit 8f57cf0

Browse files
bors[bot]curquiza
andauthored
Merge #175
175: Changes due to the implicit index creation r=curquiza a=curquiza Related to meilisearch/integration-guides#48 Here is the list of changes you have to check: - Change code-samples. - Change the Getting Started as described in the main issue. - `get_index()` does an HTTP call and is not the main method to use anymore. - Add the `index()` method - Add tests for `index()` method - Update `get_or_create_index` with the new way of using `index()` - Add a `primary_key` attribute in `Index` class. This attribute is updated when an HTTP call to the index is done (creation, update, or fetch the info). The attribute is obviously not up-to-date when using the `index()` method: the method does not do any HTTP call. Refer to the limitation section in the main issue. - Rename `info()` method into `fetch_info()` to make the HTTP call explicit. Now, the right usage to get the index information is `client.get_index('movies')` or `client.index('movies').fetch_info()`. - Remove the internal method `get_index` from the `Index` class because not used anymore. ⚠️ the `index.py` changes might be not visible if you don't click on `load diff`: <img width="1640" alt="Capture d’écran 2020-11-10 à 18 32 56" src="https://user-images.githubusercontent.com/20380692/98709877-3ada3900-2383-11eb-8ae2-2b5224d3a75d.png"> Co-authored-by: Clementine Urquizar <[email protected]> Co-authored-by: Clémentine Urquizar <[email protected]>
2 parents 251fb27 + ed5489c commit 8f57cf0

File tree

7 files changed

+199
-166
lines changed

7 files changed

+199
-166
lines changed

.code-samples.meilisearch.yaml

Lines changed: 66 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,51 @@
44
# You can read more on https://github.com/meilisearch/documentation/tree/master/.vuepress/code-samples
55
---
66
get_one_index_1: |-
7-
client.get_index('movies').info()
7+
client.get_index('movies')
88
list_all_indexes_1: |-
99
client.get_indexes()
1010
create_an_index_1: |-
1111
client.create_index('movies', {'primaryKey': 'movie_id'})
1212
update_an_index_1: |-
13-
client.get_index('movies').update(primaryKey='movie_review_id')
13+
client.index('movies').update(primaryKey='movie_review_id')
1414
delete_an_index_1: |-
15-
client.get_index('movies').delete()
15+
client.index('movies').delete()
1616
get_one_document_1: |-
17-
client.get_index('movies').get_document(25684)
17+
client.index('movies').get_document(25684)
1818
get_documents_1: |-
19-
client.get_index('movies').get_documents({'limit':2})
19+
client.index('movies').get_documents({'limit':2})
2020
add_or_replace_documents_1: |-
21-
client.get_index('movies').add_documents([{
21+
client.index('movies').add_documents([{
2222
'id': 287947,
2323
'title': 'Shazam',
2424
'poster': 'https://image.tmdb.org/t/p/w1280/xnopI5Xtky18MPhK40cZAGAOVeV.jpg',
2525
'overview': 'A boy is given the ability to become an adult superhero in times of need with a single magic word.',
2626
'release_date': '2019-03-23'
2727
}])
2828
add_or_update_documents_1: |-
29-
client.get_index('movies').update_documents([{
29+
client.index('movies').update_documents([{
3030
'id': 287947,
3131
'title': 'Shazam ⚡️',
3232
'genres': 'comedy'
3333
}])
3434
delete_all_documents_1: |-
35-
client.get_index('movies').delete_all_documents()
35+
client.index('movies').delete_all_documents()
3636
delete_one_document_1: |-
37-
client.get_index('movies').delete_document(25684)
37+
client.index('movies').delete_document(25684)
3838
delete_documents_1: |-
39-
client.get_index('movies').delete_documents([23488, 153738, 437035, 363869])
39+
client.index('movies').delete_documents([23488, 153738, 437035, 363869])
4040
search_1: |-
41-
client.get_index('movies').search('American ninja')
41+
client.index('movies').search('American ninja')
4242
get_update_1: |-
43-
client.get_index('movies').get_update_status(1)
43+
client.index('movies').get_update_status(1)
4444
get_all_updates_1: |-
45-
client.get_index('movies').get_all_update_status()
45+
client.index('movies').get_all_update_status()
4646
get_keys_1: |-
4747
client.get_keys()
4848
get_settings_1: |-
49-
client.get_index('movies').get_settings()
49+
client.index('movies').get_settings()
5050
update_settings_1: |-
51-
client.get_index('movies').update_settings({
51+
client.index('movies').update_settings({
5252
'rankingRules': [
5353
'typo',
5454
'words',
@@ -88,27 +88,27 @@ update_settings_1: |-
8888
'acceptNewFields': False
8989
})
9090
reset_settings_1: |-
91-
client.get_index('movies').reset_settings()
91+
client.index('movies').reset_settings()
9292
get_synonyms_1: |-
93-
client.get_index('movies').get_synonyms()
93+
client.index('movies').get_synonyms()
9494
update_synonyms_1: |-
95-
client.get_index('movies').update_synonyms({
95+
client.index('movies').update_synonyms({
9696
'wolverine': ['xmen', 'logan'],
9797
'logan': ['wolverine', 'xmen'],
9898
'wow': ['world of warcraft']
9999
})
100100
reset_synonyms_1: |-
101-
client.get_index('movies').reset_synonyms()
101+
client.index('movies').reset_synonyms()
102102
get_stop_words_1: |-
103-
client.get_index('movies').get_stop_words()
103+
client.index('movies').get_stop_words()
104104
update_stop_words_1: |-
105-
client.get_index('movies').update_stop_words(['of', 'the', 'to'])
105+
client.index('movies').update_stop_words(['of', 'the', 'to'])
106106
reset_stop_words_1: |-
107-
client.get_index('movies').reset_stop_words()
107+
client.index('movies').reset_stop_words()
108108
get_ranking_rules_1: |-
109-
client.get_index('movies').get_ranking_rules()
109+
client.index('movies').get_ranking_rules()
110110
update_ranking_rules_1: |-
111-
client.get_index('movies').update_ranking_rules([
111+
client.index('movies').update_ranking_rules([
112112
'typo',
113113
'words',
114114
'proximity',
@@ -119,50 +119,47 @@ update_ranking_rules_1: |-
119119
'desc(rank)'
120120
])
121121
reset_ranking_rules_1: |-
122-
client.get_index('movies').reset_ranking_rules()
122+
client.index('movies').reset_ranking_rules()
123123
get_distinct_attribute_1: |-
124-
client.get_index('movies').get_distinct_attribute()
124+
client.index('movies').get_distinct_attribute()
125125
update_distinct_attribute_1: |-
126-
client.get_index('movies').update_distinct_attribute('movie_id')
126+
client.index('movies').update_distinct_attribute('movie_id')
127127
reset_distinct_attribute_1: |-
128-
client.get_index('movies').reset_distinct_attribute()
128+
client.index('movies').reset_distinct_attribute()
129129
get_searchable_attributes_1: |-
130-
client.get_index('movies').get_searchable_attributes()
130+
client.index('movies').get_searchable_attributes()
131131
update_searchable_attributes_1: |-
132-
client.get_index('movies').update_searchable_attributes([
132+
client.index('movies').update_searchable_attributes([
133133
'title',
134134
'description',
135135
'uid'
136136
])
137137
reset_searchable_attributes_1: |-
138-
client.get_index('movies').reset_searchable_attributes()
138+
client.index('movies').reset_searchable_attributes()
139139
get_displayed_attributes_1: |-
140-
client.get_index('movies').get_displayed_attributes()
140+
client.index('movies').get_displayed_attributes()
141141
update_displayed_attributes_1: |-
142-
client.get_index('movies').update_displayed_attributes([
142+
client.index('movies').update_displayed_attributes([
143143
"title",
144144
'description',
145145
'release_date',
146146
'rank',
147147
'poster'
148148
])
149149
reset_displayed_attributes_1: |-
150-
client.get_index('movies').reset_displayed_attributes()
150+
client.index('movies').reset_displayed_attributes()
151151
get_index_stats_1: |-
152-
client.get_index('movies').get_stats()
152+
client.index('movies').get_stats()
153153
get_indexes_stats_1: |-
154154
client.get_all_stats()
155155
get_health_1: |-
156156
client.health()
157157
get_version_1: |-
158158
clien.get_version()
159-
get_pretty_sys_info_1: |-
160-
get_sys_info_1: |-
161-
client.get_sys_info()
162159
distinct_attribute_guide_1: |-
163-
client.get_index('jackets').update_settings({'distinctAttribute': 'product_id'})
160+
client.index('jackets').update_settings({'distinctAttribute': 'product_id'})
164161
field_properties_guide_searchable_1: |-
165-
client.get_index('movies').update_settings({
162+
client.index('movies').update_settings({
166163
'searchableAttributes': [
167164
'uid',
168165
'movie_id',
@@ -173,7 +170,7 @@ field_properties_guide_searchable_1: |-
173170
'rank'
174171
]})
175172
field_properties_guide_displayed_1: |-
176-
client.get_index('movies').update_settings({
173+
client.index('movies').update_settings({
177174
'displayedAttributes': [
178175
'title',
179176
'description',
@@ -182,75 +179,75 @@ field_properties_guide_displayed_1: |-
182179
'rank'
183180
]})
184181
filtering_guide_1: |-
185-
client.get_index('movies').search('Avengers', {
182+
client.index('movies').search('Avengers', {
186183
'filters': 'release_date > 795484800'
187184
})
188185
filtering_guide_2: |-
189-
client.get_index('movies').search('Batman', {
186+
client.index('movies').search('Batman', {
190187
'filters': 'release_date > 795484800 AND (director = "Tim Burton" OR director = "Christopher Nolan")'
191188
})
192189
filtering_guide_3: |-
193-
client.get_index('movies').search('horror', {
190+
client.index('movies').search('horror', {
194191
'filters': 'director = "Jordan Peele"'
195192
})
196193
filtering_guide_4: |-
197-
client.get_index('movies').search('Planet of the Apes', {
194+
client.index('movies').search('Planet of the Apes', {
198195
'filters': 'rating >= 3 AND (NOT director = "Tim Burton")'
199196
})
200197
search_parameter_guide_query_1: |-
201-
client.get_index('movies').search('shifu')
198+
client.index('movies').search('shifu')
202199
search_parameter_guide_offset_1: |-
203-
client.get_index('movies').search('shifu', {
200+
client.index('movies').search('shifu', {
204201
'offset': 1
205202
})
206203
search_parameter_guide_limit_1: |-
207-
client.get_index('movies').search('shifu', {
204+
client.index('movies').search('shifu', {
208205
'limit': 2
209206
})
210207
search_parameter_guide_retrieve_1: |-
211-
client.get_index('movies').search('shifu', {
208+
client.index('movies').search('shifu', {
212209
'attributesToRetrieve': ['overview', 'title']
213210
})
214211
search_parameter_guide_crop_1: |-
215-
client.get_index('movies').search('shifu', {
212+
client.index('movies').search('shifu', {
216213
'attributesToCrop': ['overview'],
217214
'cropLength': 10
218215
})
219216
search_parameter_guide_highlight_1: |-
220-
client.get_index('movies').search('shifu', {
217+
client.index('movies').search('shifu', {
221218
'attributesToHighlight': ['overview']
222219
})
223220
search_parameter_guide_filter_1: |-
224-
client.get_index('movies').search('n', {
221+
client.index('movies').search('n', {
225222
'filters': 'title = Nightshift'
226223
})
227224
search_parameter_guide_filter_2: |-
228-
client.get_index('movies').search('n', {
225+
client.index('movies').search('n', {
229226
'filters': 'title = "Kung Fu Panda"'
230227
})
231228
search_parameter_guide_matches_1: |-
232-
client.get_index('movies').search('n', {
229+
client.index('movies').search('n', {
233230
'filters': 'title = "Kung Fu Panda"',
234231
'attributesToHighlight': ['overview'],
235232
'matches': 'true'
236233
})
237234
settings_guide_synonyms_1: |-
238-
client.get_index('movies').update_settings({
235+
client.index('movies').update_settings({
239236
'synonyms': {
240237
sweater: ['jumper'],
241238
jumper: ['sweater']
242239
},
243240
})
244241
settings_guide_stop_words_1: |-
245-
client.get_index('movies').update_settings({
242+
client.index('movies').update_settings({
246243
'stopWords': [
247244
'the',
248245
'a',
249246
'an'
250247
],
251248
})
252249
settings_guide_ranking_rules_1: |-
253-
client.get_index('movies').update_settings({
250+
client.index('movies').update_settings({
254251
'rankingRules': [
255252
'typo',
256253
'words',
@@ -263,11 +260,11 @@ settings_guide_ranking_rules_1: |-
263260
]
264261
})
265262
settings_guide_distinct_1: |-
266-
client.get_index('movies').update_settings({
263+
client.index('movies').update_settings({
267264
'distinctAttribute': 'product_id'
268265
})
269266
settings_guide_searchable_1: |-
270-
client.get_index('movies').update_settings({
267+
client.index('movies').update_settings({
271268
'searchableAttributes': [
272269
'uid',
273270
'movie_id',
@@ -279,7 +276,7 @@ settings_guide_searchable_1: |-
279276
]
280277
})
281278
settings_guide_displayed_1: |-
282-
client.get_index('movies').update_settings({
279+
client.index('movies').update_settings({
283280
'displayedAttributes': [
284281
'title',
285282
'description',
@@ -289,17 +286,17 @@ settings_guide_displayed_1: |-
289286
]
290287
})
291288
documents_guide_add_movie_1: |-
292-
client.get_index('movies').add_documents([{
289+
client.index('movies').add_documents([{
293290
'movie_id': '123sq178',
294291
'title': 'Amélie Poulain'
295292
}])
296293
search_guide_1: |-
297-
client.get_index('movies').search('shifu', {
294+
client.index('movies').search('shifu', {
298295
'limit': 5,
299296
'offset': 10
300297
})
301298
search_guide_2: |-
302-
client.get_index('movies').search('Avengers', {
299+
client.index('movies').search('Avengers', {
303300
'filters': 'release_date > 795484800'
304301
})
305302
getting_started_create_index_md: |-
@@ -332,31 +329,31 @@ getting_started_search_md: |-
332329
333330
[About this package](https://github.com/meilisearch/meilisearch-python/)
334331
faceted_search_update_settings_1: |-
335-
client.get_index('movies').update_attributes_for_faceting([
332+
client.index('movies').update_attributes_for_faceting([
336333
'director',
337334
'genres',
338335
])
339336
faceted_search_facet_filters_1: |-
340-
client.get_index('movies').search('thriller', {
337+
client.index('movies').search('thriller', {
341338
'facetFilters': [['genres:Horror', 'genres:Mystery'], 'director:Jordan Peele']
342339
})
343340
faceted_search_facets_distribution_1: |-
344-
client.get_index('movies').search('Batman', {
341+
client.index('movies').search('Batman', {
345342
'facetsDistribution': ['genres']
346343
})
347344
faceted_search_walkthrough_attributes_for_faceting_1: |-
348-
client.get_index('movies').update_attributes_for_faceting([
345+
client.index('movies').update_attributes_for_faceting([
349346
'director',
350347
'producer',
351348
'genres',
352349
'production_companies'
353350
])
354351
faceted_search_walkthrough_facet_filters_1: |-
355-
client.get_index('movies').search('thriller', {
352+
client.index('movies').search('thriller', {
356353
'facetFilters': [['genres:Horror', 'genres:Mystery'], 'director:Jordan Peele']
357354
})
358355
faceted_search_walkthrough_facets_distribution_1: |-
359-
client.get_index('movies').search('Batman', {
356+
client.index('movies').search('Batman', {
360357
'facetsDistribution': ['genres']
361358
})
362359
post_dump_1: |-

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,9 @@ NB: you can also download MeiliSearch from **Homebrew** or **APT**.
6767
import meilisearch
6868

6969
client = meilisearch.Client('http://127.0.0.1:7700', 'masterKey')
70-
index = client.create_index('books') # If your index does not exist
71-
index = client.get_index('books') # If you already created your index
70+
71+
# An index is where the documents are stored.
72+
index = client.index('books')
7273

7374
documents = [
7475
{ 'book_id': 123, 'title': 'Pride and Prejudice' },
@@ -79,6 +80,7 @@ documents = [
7980
{ 'book_id': 42, 'title': 'The Hitchhiker\'s Guide to the Galaxy' }
8081
]
8182

83+
# If the index 'books' does not exist, MeiliSearch creates it when you first add the documents.
8284
index.add_documents(documents) # => { "updateId": 0 }
8385
```
8486

0 commit comments

Comments
 (0)