2017-04-14 139 views
1

假設我有5個國家,每個國家有10個城市,然後每個城市有20個不同的地方。RDBMS中有3個表格,我想用algolia即時搜索js來實現搜索。任何人都可以告訴我,我怎樣才能實現搜索,當我搜索或過濾一個國家和搜索結果顯示特定國家的地方。哪些表格需要在algolia中編入索引?如何在algolia即時搜索中通過外鍵搜索?

回答

0

爲每個地點創建一份Algolia記錄。在該文檔的內部,您應該包含要搜索的城市和國家/地區的屬性(city.name,country.name等)。

+0

你的意思是說,我將只有一個索引即地方,我必須插入地點表中的country.name和city.name插入地點的數據。如果我錯了,你能糾正我嗎? – msbomrel

+0

對,你懂了!從某種意義上說,你正在使數據模型扁平化/非規範化,以便在每條記錄中擁有完整的位置,城市和國家。這避免了必須進行任何連接,並使查詢時的流程非常簡單。對於您的searchableAttributes,您可能希望具有名稱(如果您嵌套位置對象,則爲place.name),city.name和country.name,可能按此順序排列。 –