1- # AlgoliaSearch Client Kotlin
2-
3- [ ![ Download] ( https://api.bintray.com/packages/algolia/maven/algoliasearch-client-kotlin/images/download.svg ) ] ( https://bintray.com/algolia/maven/algoliasearch-client-kotlin/_latestVersion )
4-
5- ## Compatibility
6-
7- The Kotlin client is compatible with Kotlin ` 1.3.30 ` and higher.
1+ <p align =" center " >
2+ <a href =" https://www.algolia.com " >
3+ <img alt="Algolia for Kotlin" src="https://raw.githubusercontent.com/algolia/algoliasearch-client-common/master/readme-banner.png" >
4+ </a >
5+
6+ <h4 align =" center " >The perfect starting point to integrate <a href =" https://algolia.com " target =" _blank " >Algolia</a > within your Kotlin project</h4 >
7+
8+ <p align =" center " >
9+ <a href="https://bintray.com/algolia/maven/algoliasearch-client-kotlin/_latestVersion"><img src="https://api.bintray.com/packages/algolia/maven/algoliasearch-client-kotlin/images/download.svg" alt="Latest version"></img></a>
10+ <a href="https://packagist.org/packages/algolia/scout-extended"><img src="https://poser.pugx.org/algolia/scout-extended/license.svg" alt="License"></a>
11+ </p >
12+ </p >
13+
14+ <p align =" center " >
15+ <a href =" https://www.algolia.com/doc/api-client/getting-started/install/kotlin/ " target =" _blank " >Documentation</a > •
16+ <a href =" https://discourse.algolia.com " target =" _blank " >Community Forum</a > •
17+ <a href =" http://stackoverflow.com/questions/tagged/algolia " target =" _blank " >Stack Overflow</a > •
18+ <a href =" https://github.com/algolia/algoliasearch-client-kotlin/issues " target =" _blank " >Report a bug</a > •
19+ <a href =" https://www.algolia.com/support " target =" _blank " >Support</a >
20+ </p >
21+
22+ ## ✨ Features
23+
24+ - The Kotlin client is compatible with Kotlin ` 1.3.30 ` and higher.
25+ - It is compatible with Kotlin project on the JVM, such as backend and Android applications.
26+ - It relies on the open source Kotlin libraries for seamless integration into Kotlin projects:
27+ - [ Kotlin multiplatform] ( https://kotlinlang.org/docs/reference/multiplatform.html ) .
28+ - [ Kotlinx serialization] ( https://github.com/Kotlin/kotlinx.serialization ) for json parsing.
29+ - [ Kotlinx coroutines] ( https://github.com/Kotlin/kotlinx.coroutines ) for asynchronous operations.
30+ - [ Ktor] ( https://github.com/ktorio/ktor ) HTTP client.
31+ - The Kotlin client integrates the actual Algolia documentation in each source file: Request parameters, response fields, methods and concepts; all are documented and link to the corresponding url of the Algolia doc website.
32+ - The client is thread-safe. You can use ` SearchClient ` , ` AnalyticsClient ` , and ` InsightsClient ` in a multithreaded environment.
833
9- ## Installation
34+ ## 💡 Getting Started
1035
1136Install the Kotlin client by adding the following dependency to your ` gradle.build ` file:
1237
@@ -26,25 +51,9 @@ Install the Kotlin client by adding the following dependency to your `gradle.bui
2651 }
2752 ```
2853
29- ### Supported platforms
30-
31- This client is compatible with Kotlin and Android projects.
54+ For full documentation, visit the ** [ Algolia Kotlin API Client] ( https://www.algolia.com/doc/api-client/getting-started/install/kotlin/ ) ** .
3255
33- ## Stack
34-
35- This client provides a Kotlin implementation for using AlgoliaSearch.
36- This client is built using the official Kotlin stack:
37- - [ Kotlin multiplatform] ( https://kotlinlang.org/docs/reference/multiplatform.html ) .
38- - [ Kotlinx serialization] ( https://github.com/Kotlin/kotlinx.serialization ) for json parsing.
39- - [ Kotlinx coroutines] ( https://github.com/Kotlin/kotlinx.coroutines ) for asynchronous operations.
40- - [ Ktor] ( https://github.com/ktorio/ktor ) HTTP client.
41-
42- ## Integrated documentation
43-
44- The Kotlin client integrates the actual Algolia documentation in each source file: Request parameters, response fields, methods and concepts; all are documented and link to the corresponding url of the Algolia doc website.
45-
46-
47- ## Coroutines
56+ ### Coroutines
4857
4958All methods performing HTTP calls in the Kotlin client are [ suspending functions] ( https://kotlinlang.org/docs/reference/coroutines/composing-suspending-functions.html#composing-suspending-functions ) .
5059This means these functions can only be called from a coroutine.
@@ -71,7 +80,7 @@ The Kotlin client doesn't execute HTTP calls on any particular thread, it is up
7180Learn more about [ coroutines] ( https://kotlinlang.org/docs/reference/coroutines/coroutines-guide.html ) .
7281
7382
74- ## Waiting for operations
83+ ### Waiting for operations
7584
7685Waiting for an asynchronous server task is made available via a [ function literal with receiver] ( https://kotlinlang.org/docs/reference/lambdas.html#function-literals-with-receiver ) .
7786
@@ -88,11 +97,7 @@ client.run {
8897
8998The ` wait ` functions are suspending, and should only be called from a coroutine.
9099
91- ## Multithreading
92-
93- The client is designed to be thread-safe. You can use ` SearchClient ` , ` AnalyticsClient ` , and ` InsightsClient ` in a multithreaded environment.
94-
95- ## Type safety
100+ ### Type safety
96101
97102Response and parameters objects are typed to provide extensive compile time safety coverage.
98103
@@ -127,157 +132,14 @@ query.sortFacetsBy = SortFacetsBy.Count
127132// query.sortFacetsBy = SortFacetsBy.Other("unforeseen value")
128133```
129134
130-
131- ## Guides
135+ ### Guides
132136
133137- [ Getting started] ( https://github.com/algolia/algoliasearch-client-kotlin/tree/master/docs/GettingStarted.md )
134138- [ DSL] ( https://github.com/algolia/algoliasearch-client-kotlin/tree/master/docs/DSL.md )
135139- [ Serialization] ( https://github.com/algolia/algoliasearch-client-kotlin/tree/master/docs/Serialization.md )
136140- [ ExceptionHandling] ( https://github.com/algolia/algoliasearch-client-kotlin/tree/master/docs/ExceptionHandling.md )
137141- [ Configure the HTTP client] ( https://github.com/algolia/algoliasearch-client-kotlin/tree/master/docs/HTTPClient.md )
138142
139- ## List of available methods
140-
141-
142-
143-
144-
145- ### Personalization
146-
147- - [ Add strategy] ( https://algolia.com/doc/api-reference/api-methods/add-strategy/?language=kotlin )
148- - [ Get strategy] ( https://algolia.com/doc/api-reference/api-methods/get-strategy/?language=kotlin )
149-
150-
151-
152-
153- ### Search
154-
155- - [ Search index] ( https://algolia.com/doc/api-reference/api-methods/search/?language=kotlin )
156- - [ Search for facet values] ( https://algolia.com/doc/api-reference/api-methods/search-for-facet-values/?language=kotlin )
157- - [ Search multiple indices] ( https://algolia.com/doc/api-reference/api-methods/multiple-queries/?language=kotlin )
158- - [ Browse index] ( https://algolia.com/doc/api-reference/api-methods/browse/?language=kotlin )
159-
160-
161-
162-
163- ### Indexing
164-
165- - [ Add objects] ( https://algolia.com/doc/api-reference/api-methods/add-objects/?language=kotlin )
166- - [ Save objects] ( https://algolia.com/doc/api-reference/api-methods/save-objects/?language=kotlin )
167- - [ Partial update objects] ( https://algolia.com/doc/api-reference/api-methods/partial-update-objects/?language=kotlin )
168- - [ Delete objects] ( https://algolia.com/doc/api-reference/api-methods/delete-objects/?language=kotlin )
169- - [ Replace all objects] ( https://algolia.com/doc/api-reference/api-methods/replace-all-objects/?language=kotlin )
170- - [ Delete by] ( https://algolia.com/doc/api-reference/api-methods/delete-by/?language=kotlin )
171- - [ Clear objects] ( https://algolia.com/doc/api-reference/api-methods/clear-objects/?language=kotlin )
172- - [ Get objects] ( https://algolia.com/doc/api-reference/api-methods/get-objects/?language=kotlin )
173- - [ Custom batch] ( https://algolia.com/doc/api-reference/api-methods/batch/?language=kotlin )
174-
175-
176-
177-
178- ### Settings
179-
180- - [ Get settings] ( https://algolia.com/doc/api-reference/api-methods/get-settings/?language=kotlin )
181- - [ Set settings] ( https://algolia.com/doc/api-reference/api-methods/set-settings/?language=kotlin )
182- - [ Copy settings] ( https://algolia.com/doc/api-reference/api-methods/copy-settings/?language=kotlin )
183-
184-
185-
186-
187- ### Manage indices
188-
189- - [ List indices] ( https://algolia.com/doc/api-reference/api-methods/list-indices/?language=kotlin )
190- - [ Delete index] ( https://algolia.com/doc/api-reference/api-methods/delete-index/?language=kotlin )
191- - [ Copy index] ( https://algolia.com/doc/api-reference/api-methods/copy-index/?language=kotlin )
192- - [ Move index] ( https://algolia.com/doc/api-reference/api-methods/move-index/?language=kotlin )
193-
194-
195-
196-
197- ### API keys
198-
199- - [ Create secured API Key] ( https://algolia.com/doc/api-reference/api-methods/generate-secured-api-key/?language=kotlin )
200- - [ Add API Key] ( https://algolia.com/doc/api-reference/api-methods/add-api-key/?language=kotlin )
201- - [ Update API Key] ( https://algolia.com/doc/api-reference/api-methods/update-api-key/?language=kotlin )
202- - [ Delete API Key] ( https://algolia.com/doc/api-reference/api-methods/delete-api-key/?language=kotlin )
203- - [ Restore API Key] ( https://algolia.com/doc/api-reference/api-methods/restore-api-key/?language=kotlin )
204- - [ Get API Key permissions] ( https://algolia.com/doc/api-reference/api-methods/get-api-key/?language=kotlin )
205- - [ List API Keys] ( https://algolia.com/doc/api-reference/api-methods/list-api-keys/?language=kotlin )
206-
207-
208-
209-
210- ### Synonyms
211-
212- - [ Save synonym] ( https://algolia.com/doc/api-reference/api-methods/save-synonym/?language=kotlin )
213- - [ Batch synonyms] ( https://algolia.com/doc/api-reference/api-methods/batch-synonyms/?language=kotlin )
214- - [ Delete synonym] ( https://algolia.com/doc/api-reference/api-methods/delete-synonym/?language=kotlin )
215- - [ Clear all synonyms] ( https://algolia.com/doc/api-reference/api-methods/clear-synonyms/?language=kotlin )
216- - [ Get synonym] ( https://algolia.com/doc/api-reference/api-methods/get-synonym/?language=kotlin )
217- - [ Search synonyms] ( https://algolia.com/doc/api-reference/api-methods/search-synonyms/?language=kotlin )
218- - [ Replace all synonyms] ( https://algolia.com/doc/api-reference/api-methods/replace-all-synonyms/?language=kotlin )
219- - [ Copy synonyms] ( https://algolia.com/doc/api-reference/api-methods/copy-synonyms/?language=kotlin )
220- - [ Export Synonyms] ( https://algolia.com/doc/api-reference/api-methods/export-synonyms/?language=kotlin )
221-
222-
223-
224-
225- ### Query rules
226-
227- - [ Save rule] ( https://algolia.com/doc/api-reference/api-methods/save-rule/?language=kotlin )
228- - [ Batch rules] ( https://algolia.com/doc/api-reference/api-methods/batch-rules/?language=kotlin )
229- - [ Get rule] ( https://algolia.com/doc/api-reference/api-methods/get-rule/?language=kotlin )
230- - [ Delete rule] ( https://algolia.com/doc/api-reference/api-methods/delete-rule/?language=kotlin )
231- - [ Clear rules] ( https://algolia.com/doc/api-reference/api-methods/clear-rules/?language=kotlin )
232- - [ Search rules] ( https://algolia.com/doc/api-reference/api-methods/search-rules/?language=kotlin )
233- - [ Replace all rules] ( https://algolia.com/doc/api-reference/api-methods/replace-all-rules/?language=kotlin )
234- - [ Copy rules] ( https://algolia.com/doc/api-reference/api-methods/copy-rules/?language=kotlin )
235- - [ Export rules] ( https://algolia.com/doc/api-reference/api-methods/export-rules/?language=kotlin )
236-
237-
238-
239-
240- ### A/B Test
241-
242- - [ Add A/B test] ( https://algolia.com/doc/api-reference/api-methods/add-ab-test/?language=kotlin )
243- - [ Get A/B test] ( https://algolia.com/doc/api-reference/api-methods/get-ab-test/?language=kotlin )
244- - [ List A/B tests] ( https://algolia.com/doc/api-reference/api-methods/list-ab-tests/?language=kotlin )
245- - [ Stop A/B test] ( https://algolia.com/doc/api-reference/api-methods/stop-ab-test/?language=kotlin )
246- - [ Delete A/B test] ( https://algolia.com/doc/api-reference/api-methods/delete-ab-test/?language=kotlin )
247-
248-
249-
250-
251- ### Insights
252-
253- - [ Clicked Object IDs After Search] ( https://algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/?language=kotlin )
254- - [ Clicked Object IDs] ( https://algolia.com/doc/api-reference/api-methods/clicked-object-ids/?language=kotlin )
255- - [ Clicked Filters] ( https://algolia.com/doc/api-reference/api-methods/clicked-filters/?language=kotlin )
256- - [ Converted Objects IDs After Search] ( https://algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/?language=kotlin )
257- - [ Converted Object IDs] ( https://algolia.com/doc/api-reference/api-methods/converted-object-ids/?language=kotlin )
258- - [ Converted Filters] ( https://algolia.com/doc/api-reference/api-methods/converted-filters/?language=kotlin )
259- - [ Viewed Object IDs] ( https://algolia.com/doc/api-reference/api-methods/viewed-object-ids/?language=kotlin )
260- - [ Viewed Filters] ( https://algolia.com/doc/api-reference/api-methods/viewed-filters/?language=kotlin )
261-
262-
263-
264-
265- ### MultiClusters
266-
267- - [ Assign or Move userID] ( https://algolia.com/doc/api-reference/api-methods/assign-user-id/?language=kotlin )
268- - [ Get top userID] ( https://algolia.com/doc/api-reference/api-methods/get-top-user-id/?language=kotlin )
269- - [ Get userID] ( https://algolia.com/doc/api-reference/api-methods/get-user-id/?language=kotlin )
270- - [ List clusters] ( https://algolia.com/doc/api-reference/api-methods/list-clusters/?language=kotlin )
271- - [ List userIDs] ( https://algolia.com/doc/api-reference/api-methods/list-user-id/?language=kotlin )
272- - [ Remove userID] ( https://algolia.com/doc/api-reference/api-methods/remove-user-id/?language=kotlin )
273- - [ Search userID] ( https://algolia.com/doc/api-reference/api-methods/search-user-id/?language=kotlin )
274-
275-
276-
277-
278- ### Advanced
143+ ## 📄 License
279144
280- - [ Get logs] ( https://algolia.com/doc/api-reference/api-methods/get-logs/?language=kotlin )
281- - [ Configuring timeouts] ( https://algolia.com/doc/api-reference/api-methods/configuring-timeouts/?language=kotlin )
282- - [ Set extra header] ( https://algolia.com/doc/api-reference/api-methods/set-extra-header/?language=kotlin )
283- - [ Wait for operations] ( https://algolia.com/doc/api-reference/api-methods/wait-task/?language=kotlin )
145+ Algolia Kotlin API Client is an open-sourced software licensed under the [ MIT license] ( LICENSE.md ) .
0 commit comments