Unser Android-API-Client ist veraltet und befindet sich nur im Wartungsmodus. Wir empfehlen die Verwendung unseres Kotlin-API-Clients, der besser für die Android-Entwicklung geeignet ist.
Algolia Search ist eine gehostete Suchmaschine, die in der Lage ist, Ergebnisse in Echtzeit ab dem ersten Tastendruck zu liefern.
Mit dem Algolia Search API Client für Android können Sie die Algolia Search REST API ganz einfach über Ihren Android-Code verwenden.
Hinweis: Wenn Sie Version 2.x unseres Android-Clients verwendet haben, lesen Sie die Migrationsanleitung auf Version 3.x.
Sie können die automatisch generierte Referenzdokumentation durchsuchen.
Dieses Projekt ist Open Source unter der MIT-Lizenz.
Ihre Beiträge sind willkommen! Bitte nutzen Sie unsere Formatierungskonfiguration, um den Codierungsstil konsistent zu halten.
Die vollständige Referenz finden Sie auf der Website von Algolia.
Mitwirken
Installieren
Schnellstart
Daten pushen
Konfigurieren
Suchen
Liste der verfügbaren Methoden
Hilfe bekommen
Liste der verfügbaren Methoden
Installieren Sie den Android-Client, indem Sie die folgende Abhängigkeit zu Ihrer Gradle
Build-Datei hinzufügen:
dependencies {
// [...]
implementation ' com.algolia:algoliasearch-android:3.+ '
// This will automatically update to the latest v3 release when you build your project
}
Dieses Schnellstart-Tutorial zeigt Ihnen in 30 Sekunden, wie Sie Objekte indizieren und durchsuchen.
Um zu beginnen, müssen Sie den Client initialisieren. Dazu benötigen Sie Ihre Anwendungs-ID und Ihren API-Schlüssel . Sie finden beides in Ihrem Algolia-Konto.
Client client = new Client ( "YourApplicationID" , "YourAPIKey" );
Index index = client . getIndex ( "your_index_name" );
Warnung: Wenn Sie eine native App für Mobilgeräte erstellen, achten Sie darauf, den Such-API-Schlüssel nicht direkt in den Quellcode aufzunehmen . Stattdessen sollten Sie erwägen, den Schlüssel beim Start der App von Ihren Servern abzurufen.
Ohne vorherige Konfiguration können Sie mit dem folgenden Code mit der Indizierung von Kontakten im contacts
beginnen:
Index index = client . initIndex ( "contacts" );
index . addObjectAsync ( new JSONObject ()
. put ( "firstname" , "Jimmie" )
. put ( "lastname" , "Barninger" )
. put ( "followers" , 93 )
. put ( "company" , "California Paint" ), null );
index . addObjectAsync ( new JSONObject ()
. put ( "firstname" , "Warren" )
. put ( "lastname" , "Speach" )
. put ( "followers" , 42 )
. put ( "company" , "Norwalk Crmc" ), null );
Sie können die Einstellungen anpassen, um das Suchverhalten zu optimieren. Sie können beispielsweise ein benutzerdefiniertes Ranking nach Anzahl der Follower hinzufügen, um die integrierte Relevanz weiter zu verbessern:
JSONObject settings = new JSONObject (). append ( "customRanking" , "desc(followers)" );
index . setSettingsAsync ( settings , null );
Sie können die Liste der Attribute, die Sie indizieren möchten, auch nach der Reihenfolge ihrer Wichtigkeit konfigurieren (das Wichtigste zuerst).
Hinweis: Algolia ist so konzipiert, dass es während der Eingabe Ergebnisse vorschlägt, was bedeutet, dass Sie im Allgemeinen nach Präfixen suchen. In diesem Fall ist die Reihenfolge der Attribute entscheidend, um zu entscheiden, welcher Treffer der beste ist.
JSONObject settings = new JSONObject ()
. put ( "searchableAttributes" , "lastname" )
. put ( "searchableAttributes" , "firstname" )
. put ( "searchableAttributes" , "company" );
index . setSettingsAsync ( settings , null );
Sie können jetzt nach Kontakten nach firstname
, lastname
, company
usw. suchen (auch mit Tippfehlern):
CompletionHandler completionHandler = new CompletionHandler () {
@ Override
public void requestCompleted ( JSONObject content , AlgoliaException error ) {
// [...]
}
};
// Search for a first name
index . searchAsync ( new Query ( "jimmie" ), completionHandler );
// Search for a first name with typo
index . searchAsync ( new Query ( "jimie" ), completionHandler );
// Search for a company
index . searchAsync ( new Query ( "california paint" ), completionHandler );
// Search for a first name and a company
index . searchAsync ( new Query ( "jimmie paint" ), completionHandler );