2017-04-14 13 views
1

5カ国があり、それぞれの国に10の都市があり、それぞれの都市に20の異なる場所があるとします.RDBMSには3つのテーブルがありますが、私はalgolia instant search jsを使用して検索を実装したいと思います。誰でも私に教えてください、どのように私は検索やフィルタリング1つの国と検索結果は、特定の国の場所を示すような検索を達成することはできますか?アルゴリアではどの表を索引付けする必要がありますか?algoliaインスタント検索で外部キーで検索する方法は?

答えて

0

場所ごとに1つのアルゴリア記録を作成します。その文書の中には、検索したい都市と国の属性(city.name、country.nameなど)を含める必要があります。

+0

つまり、場所は1つしかありません。場所のデータを挿入しているときにplaces.nameとcity.nameをplaces表に挿入する必要があります。私が間違っているなら、あなたは私を訂正してください。 – msbomrel

+0

そうだよ!ある意味では、各レコードに完全な場所、都市、国があるように、データモデルを平坦化/非正規化しています。これにより、ジョインを行う必要がなくなり、クエリ時のプロセスが非常に簡単になります。あなたのsearchableAttributesについては、名前(または場所オブジェクトを入れ子にする場合はplace.name)、city.name、country.nameをおそらくこの順番で持つことが必要です。 –

関連する問題