Algolia 指数结构设置

Algolia indices structure setup

我是 Algolia 的新手,我对如何在索引数据时构建数据感到困惑。

我的本地数据库中有两个模型,分别称为 'Films' 和 'Categories',它们由一个枢轴 table 连接起来以管理多对多关系。

我希望用户能够按电影名称进行搜索,然后将类别作为过滤器,但我还希望用户能够浏览类别。

如果我创建两个名为“电影”和“类别”的索引,它们将如何关联? algolia 如何知道哪些电影属于哪些类别?

文档对此似乎并不清楚:https://www.algolia.com/doc/guides/indexing/structuring-your-data/

谢谢

在您的情况下,您想要的是搜索 Film。 您必须将索引视为允许您搜索唯一实体的非关系数据库。它与关系数据库有很大的不同,并且用途不同。

因此您不需要创建两个索引,只需要一个包含电影数据(如名称、描述...)和电影类别的索引。

你的数据结构应该是这样的:

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

这里namecategories可以是可搜索的属性。 categories 将是一个方面,允许您按类别过滤。