2017-12-21 21 views
0

私はAlgoliaの新作です。インデックスを作成するときにデータをどのように構造化するのかちょっと混乱しています。アルゴリアのインデックス構造の設定

ローカルデータベースに「Films」と「Categories」という2つのモデルがあり、それらはピボットテーブルによって結合され、多対多の関係を管理します。

ユーザーは映画のタイトルで検索してからカテゴリをフィルタとして使用できるようにしたいが、ユーザーがカテゴリを参照できるようにしたい。

FilmsとCategoriesという2つのインデックスを作成した場合、どのように関係しますか?どの映画がどのカテゴリに属しているのか、アルゴリアはどのように分かりますか?

ドキュメントはこの上の明確なようではありません。https://www.algolia.com/doc/guides/indexing/structuring-your-data/

おかげ

ベン

答えて

0

あなたのケースでは、あなたが望むものFilmを検索することです。 インデックスは、一意のエンティティを検索できる非リレーショナルデータベースとして参照する必要があります。それはリレーショナルデータベースとは非常に異なり、同じ目的を果たしません。

2つのインデックスを作成する必要はありません。フィルムデータ(名前、説明など)とフィルムカテゴリを含むインデックスは1つのみです。

あなたのデータ構造は次のようになります。

[ 
    { 
    "name": "A Movie", 
    "categories": [ 
     "Comedy", 
     "Action" 
    ] 
    }, 
    { 
    "name": "Another Movie", 
    "categories": [ 
     "Horror", 
     "Action" 
    ] 
    } 
] 

ここnamecategoriesは、検索可能な属性することができます。 categoriesはファセットになり、カテゴリ別にフィルタリングすることができます。

+0

ありがとうございます、はい、私はこれが一番うまくいくと思っていますが、関係を読み込むとレコードが盛り上がります。 – Ben

関連する問題