2017-04-20 25 views
1

當我使用algolia的即時搜索時,我點擊的網址將返回所擊中對象的所有屬性。我有多種不同類型的用戶,而且我不想僅僅向用戶發送電子郵件給全世界。有沒有辦法以不同的方式查詢algolia,以便在返回頁面之前限制返回的結果集?如何限制從algolia返回的結果屬性?

我目前的想法是通過我們的後端彙集一切,但我不喜歡通過我自己的服務器響應速度來限制搜索結果的流量。

這裏的algolia命中返回所有我的鑰匙的一個例子:

https://identifier-dsn.algolia.net/1/indexes/localhost_users/query?x-algolia-agent=Algolia%20for%20vanilla%20JavaScript%203.18.0&x-algolia-application-id=identifier&x-algolia-api-key=secret_letters 

回答

5

對於在什麼返回類型的數據,你可以配置attributesToRetrieve和索引的attributesToHighlight更好的控制。看看attributesToRetrievehere的文檔。

編輯:此外,使用unretrievableAttributes如果你想不想有人用搜索API密鑰以訪問某些屬性

+0

你知道,如果有另一種方式來過濾?從技術上講,有人可能會進入界面並改變attributesToRetrieve,這仍然看起來像一個安全漏洞。 – unflores

+0

如果你想要更多的控制,你也可以使用'unretrievableAttributes',它只能用Admin鍵修改。這樣你就可以擁有你需要的安全性。欲瞭解更多信息,請查看[常見問題](https://www.algolia.com/doc/faq/searching/what-is-attributestoretrieve-and-unretrievableattributes/)進行比較 –