1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
選項(xiàng)1
鑒于您使用的是PHP,因此屬于后端,您可以使用以下代碼:
$settings = $index->getSettings();
然后,您可以了解各個(gè)方面$settings['attributesForFaceting']。
為了能夠調(diào)用,getSettings您需要使用已設(shè)置settingsACL的API密鑰初始化API客戶端。
因此,可以使用Admin API密鑰或?yàn)榇嗽趦x表板中創(chuàng)建的特定密鑰。
選項(xiàng)2
具有setting對(duì)您的API密鑰ACL集通常不是在前端的搜索應(yīng)用程序適當(dāng)。
因此,對(duì)于前端實(shí)現(xiàn)(顯然不是您的情況),search功能就是您所需要的;可以提供一個(gè)空的搜索字符串,也可以調(diào)整查詢以縮短響應(yīng)時(shí)間和大?。?/p>
$response = $index->search('', [
'attributesToRetrieve' => ['objectID'], // don't retrieve full objects
'hitsPerPage' => 0, // send back an empty page of results anyway
'facets' => '*' // ask for all facets,
'responseFields' => 'facets' // limit JSON response to `facets`
]);
獲得該查詢的響應(yīng)后,您將獲得帶有以下方面的方面列表:
$facets = array_keys($response['facets']);
請(qǐng)注意此方法的一個(gè)警告:如果索引很大,則響應(yīng)可能不包含所有構(gòu)面值。
這樣做的原因是,像Algolia這樣的搜索引擎被設(shè)計(jì)為在快速的同時(shí)具有相關(guān)性,而不是被設(shè)計(jì)為在快速的同時(shí)具有窮舉性的數(shù)據(jù)庫(kù)。結(jié)果,當(dāng)索引太大而無(wú)法在一定時(shí)間內(nèi)“瀏覽”時(shí),Algolia將超時(shí)并發(fā)回它得到的結(jié)果(注意,這是事情發(fā)生的基本觀點(diǎn))。
選項(xiàng)3
我沒(méi)有您的項(xiàng)目的詳細(xì)信息,但是您是否研究了Instantsearch.js?
這是構(gòu)建Algolia搜索體驗(yàn)的首選庫(kù)(或其變體之一)。通過(guò)直接調(diào)用其API服務(wù)器在前端完成所有操作,這是獲得快速搜索體驗(yàn)的最佳方法:)
- 1 回答
- 0 關(guān)注
- 225 瀏覽
添加回答
舉報(bào)