Bietet API-Zugriff auf alle Algolia-Funktionen, Einstellungen, erweiterten Funktionen und ML/AI-Produkte.
Mit oder ohne Android Studio oder Intellij Idea
Frontend-Android-Projekte mit Kotlin
Backend-JVM-Projekte mit Kotlin
Kotlin Multiplattform, Kotlinx-Serialisierung, Ktor-HTTP-Client
Domänenspezifischer Locator (DSL)
Hintergrund-Wiederholungsstrategie zur Sicherstellung der Verfügbarkeit
Nahtlose Stapelverarbeitung über Iteratoren zur Optimierung der Anzahl der Netzwerkaufrufe
Funktion zur Neuindizierung ohne Ausfallzeiten
Kompatibel mit Kotlin 1.3.30 und höher
Wichtige Links
INSTALLIEREN
// Gradle
repositories {
mavenCentral()
}
dependencies {
implementation "com.algolia:algoliasearch-client-kotlin:$kotlin_client_version"
// for Gradle version < 6.0, use the following instead
implementation "com.algolia:algoliasearch-client-kotlin-jvm:$kotlin_client_version"
// Choose one of the following HTTP clients
implementation "io.ktor:ktor-client-apache:$ktor_version"
implementation "io.ktor:ktor-client-okhttp:$ktor_version"
implementation "io.ktor:ktor-client-android:$ktor_version"
implementation "io.ktor:ktor-client-cio:$ktor_version"
implementation "io.ktor:ktor-client-jetty:$ktor_version"
}
INDEX
// With JsonObject
val json = listOf(
ObjectID("myID1") to json {
"firstname" to "Jimmie"
"lastname" to "Barninger"
},
ObjectID("myID1") to json {
"firstname" to "Warren"
"lastname" to "Speach"
}
)
index.replaceObjects(json)
// With serializable class
@Serializable
data class Contact(
val firstname: String,
val lastname: String,
override val objectID: ObjectID
) : Indexable
val contacts = listOf(
Contact("Jimmie", "Barninger", ObjectID("myID")),
Contact("Jimmie", "Barninger", ObjectID("myID"))
)
index.replaceObjects(Kontakt.Serialisierer(), Kontakte)
SUCHEN
@Serializable
data class Contact(
val firstname: String,
val lastname: String
)
val indexName = IndexName("contacts")
val index = client.initIndex(indexName)
val query = queryBuilder {
query = "query string"
hitsPerPage = 50
attributesToRetrieve {
+"firstname"
+"lastname"
}
}
val result = index.search(query)
result.hits.deserialize(Contact.serializer())