@@ -78,9 +78,6 @@ Manage Indices
78781 . [ Copy index] ( #copy-index---copyindex )
79791 . [ Move index] ( #move-index---moveindex )
8080
81- Api Keys
82-
83- 1 . [ Generate key] ( #generate-key---generatesecuredapikey )
8481
8582
8683
@@ -91,12 +88,6 @@ Advanced
91881 . [ Multiple queries] ( #multiple-queries---multiplequeries )
92891 . [ Delete by query] ( #delete-by-query---deletebyquery )
93901 . [ Backup / Export an index] ( #backup--export-an-index---browse )
94- 1 . [ List api keys] ( #list-api-keys---listapikeys )
95- 1 . [ Add user key] ( #add-user-key---adduserkey )
96- 1 . [ Update user key] ( #update-user-key---updateuserkey )
97- 1 . [ Delete user key] ( #delete-user-key---deleteuserkey )
98- 1 . [ Get key permissions] ( #get-key-permissions---getuserkeyacl )
99- 1 . [ Get Logs] ( #get-logs---getlogs )
10091
10192
10293
@@ -424,6 +415,9 @@ index.enableSearchCache(expiringTimeInterval: 300)
424415
425416## Indexing
426417
418+ * Note: In most use cases, updating indices is better done from your back- end. Methods in this section are documented for the sake of completeness.*
419+
420+
427421### Add objects - `addObjects`
428422
429423Each entry in an index has a unique identifier called `objectID`. There are two ways to add an entry to the index:
@@ -615,6 +609,9 @@ the biggest `taskID`.
615609
616610## Settings
617611
612+ * Note: In most use cases, updating indices is better done from your back- end. Methods in this section are documented for the sake of completeness.*
613+
614+
618615### Get settings - `getSettings`
619616
620617You can retrieve settings:
@@ -1368,20 +1365,20 @@ A string that contains the comma separated list of words that should be consider
13681365#### removeStopWords
13691366
13701367- scope: `settings`, `search`
1371- - type: `boolean`
1368+ - type: `boolean`, `array of strings`
13721369- default: `false`
13731370
13741371
1375- Remove stop words from the query **before** executing it. Defaults to `false`.
1376- Use a boolean to enable/disable all 41 supported languages and a comma separated list
1377- of iso codes of the languages you want to use consider to enable the stopwords removal
1378- on a subset of them (select the one you have in your records).
1372+ Remove stop words from the query **before** executing it. It can be:
13791373
1380- In most use-cases, **you shouldn't need to enable this option**.
1374+ - a **boolean**: enable or disable stop words for all 41 supported languages; or
1375+ - a **list of language ISO codes** (as a comma-separated string) for which stop words should be enabled.
13811376
1382- List of 41 supported languages with their associated iso code: Arabic=ar, Armenian=hy, Basque=eu, Bengali=bn, Brazilian=pt-br, Bulgarian=bg, Catalan=ca, Chinese=zh, Czech=cs, Danish=da, Dutch=nl, English=en, Finnish=fi, French=fr, Galician=gl, German=de, Greek=el, Hindi=hi, Hungarian=hu, Indonesian=id, Irish=ga, Italian=it, Japanese=ja, Korean=ko, Kurdish=ku, Latvian=lv, Lithuanian=lt, Marathi=mr, Norwegian=no, Persian (Farsi)=fa, Polish=pl, Portugese=pt, Romanian=ro, Russian=ru, Slovak=sk, Spanish=es, Swedish=sv, Thai=th, Turkish=tr, Ukranian=uk, Urdu=ur
1377+ In most use-cases, **we don’t recommend enabling this option**.
13831378
1384- Stop words removal is applied on query words that are not interpreted as a prefix. The behavior depends of the queryType parameter:
1379+ List of 41 supported languages with their associated iso code: Arabic=`ar`, Armenian=`hy`, Basque=`eu`, Bengali=`bn`, Brazilian=`pt-br`, Bulgarian=`bg`, Catalan=`ca`, Chinese=`zh`, Czech=`cs`, Danish=`da`, Dutch=`nl`, English=`en`, Finnish=`fi`, French=`fr`, Galician=`gl`, German=`de`, Greek=`el`, Hindi=`hi`, Hungarian=`hu`, Indonesian=`id`, Irish=`ga`, Italian=`it`, Japanese=`ja`, Korean=`ko`, Kurdish=`ku`, Latvian=`lv`, Lithuanian=`lt`, Marathi=`mr`, Norwegian=`no`, Persian (Farsi)=`fa`, Polish=`pl`, Portugese=`pt`, Romanian=`ro`, Russian=`ru`, Slovak=`sk`, Spanish=`es`, Swedish=`sv`, Thai=`th`, Turkish=`tr`, Ukranian=`uk`, Urdu=`ur`.
1380+
1381+ Stop words removal is applied on query words that are not interpreted as a prefix. The behavior depends of the `queryType` parameter:
13851382
13861383* `queryType=prefixLast` means the last query word is a prefix and it won’t be considered for stop words removal
13871384* `queryType=prefixNone` means no query word are prefix, stop words removal will be applied on all query words
@@ -1642,6 +1639,9 @@ For example:
16421639
16431640## Manage Indices
16441641
1642+ *Note: In most use cases, updating indices is better done from your back-end. Methods in this section are documented for the sake of completeness.*
1643+
1644+
16451645### Create an index
16461646
16471647To create an index, you need to perform any indexing operation like:
@@ -1780,6 +1780,32 @@ iterator.start()
17801780```
17811781
17821782
1783+ ### Multiple queries - `multipleQueries`
1784+
1785+ You can send multiple queries with a single API call using a batch of queries:
1786+
1787+ ```swift
1788+ // Perform 3 queries in a single API call:
1789+ // - 1st query target index `categories`
1790+ // - 2nd and 3rd queries target index `products`
1791+ let queries = [
1792+ IndexQuery(indexName: " categories" , query: Query(query: " electronics" )),
1793+ IndexQuery(indexName: " products" , query: Query(query: " iPhone" )),
1794+ IndexQuery(indexName: " products" , query: Query(query: " Galaxy" ))
1795+ ]
1796+ client.multipleQueries(queries, completionHandler: { (content, error) -> Void in
1797+ if error == nil {
1798+ print(" Result: \(content! )" )
1799+ }
1800+ })
1801+ ```
1802+
1803+ The resulting JSON answer contains a ```results``` array storing the underlying queries answers. The answers order is the same than the requests order.
1804+
1805+ You can specify a `strategy` parameter to optimize your multiple queries:
1806+ - `none`: Execute the sequence of queries until the end.
1807+ - `stopIfEnoughMatches`: Execute the sequence of queries until the number of hits is reached by the sum of hits.
1808+
17831809
17841810### REST API
17851811
0 commit comments