我們的 Android API 用戶端是舊版的,並且僅處於維護模式。我們建議使用更適合 Android 開發的 Kotlin API 用戶端。
Algolia Search 是一個託管搜尋引擎,只需第一次擊鍵即可提供即時結果。
適用於 Android 的 Algolia Search API 用戶端可讓您從 Android 程式碼輕鬆使用 Algolia Search REST API。
注意:如果您使用的是我們的 Android 用戶端2.x 版本,請閱讀 3.x 版本的遷移指南。
您可以瀏覽自動產生的參考文件。
該專案是根據 MIT 許可證開源的。
歡迎您的貢獻!請使用我們的格式配置來保持編碼風格一致。
您可以在 Algolia 網站上找到完整的參考資料。
貢獻
安裝
快速入門
推播數據
配置
搜尋
可用方法列表
尋求協助
可用方法列表
透過將以下相依性新增至Gradle
建置檔來安裝 Android 用戶端:
dependencies {
// [...]
implementation ' com.algolia:algoliasearch-android:3.+ '
// This will automatically update to the latest v3 release when you build your project
}
在 30 秒內,這個快速入門教學將向您展示如何索引和搜尋物件。
首先,您需要初始化客戶端。為此,您需要您的應用程式 ID和API 金鑰。您可以在您的 Algolia 帳戶上找到這兩個內容。
Client client = new Client ( "YourApplicationID" , "YourAPIKey" );
Index index = client . getIndex ( "your_index_name" );
警告:如果您要在行動裝置上建立本機應用程序,請確保不要將搜尋 API 金鑰直接包含在原始程式碼中。相反,您應該考慮在應用程式啟動期間從伺服器獲取密鑰。
無需任何事先配置,您可以使用以下程式碼開始在contacts
索引中索引聯絡人:
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 );
您可以自訂設定來微調搜尋行為。例如,您可以根據追蹤者數量新增自訂排名,以進一步增強內建相關性:
JSONObject settings = new JSONObject (). append ( "customRanking" , "desc(followers)" );
index . setSettingsAsync ( settings , null );
您也可以按重要性順序配置要索引的屬性清單(最重要的在前)。
注意: Algolia 旨在在您鍵入時建議結果,這意味著您通常會按前綴進行搜尋。在這種情況下,屬性的順序對於決定哪個命中是最好的至關重要。
JSONObject settings = new JSONObject ()
. put ( "searchableAttributes" , "lastname" )
. put ( "searchableAttributes" , "firstname" )
. put ( "searchableAttributes" , "company" );
index . setSettingsAsync ( settings , null );
現在您可以按firstname
、 lastname
、 company
等搜尋聯絡人(即使有拼字錯誤):
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 );