Skip to content

Commit 771b269

Browse files
committed
2 parents 41dc84c + 2368c06 commit 771b269

File tree

1 file changed

+40
-178
lines changed

1 file changed

+40
-178
lines changed

README.md

Lines changed: 40 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,37 @@
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

1136
Install 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

4958
All methods performing HTTP calls in the Kotlin client are [suspending functions](https://kotlinlang.org/docs/reference/coroutines/composing-suspending-functions.html#composing-suspending-functions).
5059
This 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
7180
Learn more about [coroutines](https://kotlinlang.org/docs/reference/coroutines/coroutines-guide.html).
7281

7382

74-
## Waiting for operations
83+
### Waiting for operations
7584

7685
Waiting 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

8998
The `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

97102
Response 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

Comments
 (0)