Algolia指数结构设置

时间:2017-12-21 19:06:30

标签: php indexing algolia

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

我的本​​地数据库中有两个名为“Films”和“Categories”的模型,它们通过数据透视表连接来管理多对多的关系。

我希望用户能够通过电影标题进行搜索,然后将类别作为过滤器进行搜索,但我也希望用户能够浏览类别。

如果我创建两个名为Films and Categories的索引,它们将如何相关? algolia如何知道哪些电影属于哪些类别?

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

由于

1 个答案:

答案 0 :(得分:0)

在您的情况下,您想要的是搜索Film。 您必须将索引视为非关系数据库,以便您搜索唯一的实体。它与关系数据库非常不同,并没有用于相同的目的。

所以你不需要创建两个索引,只有一个索引包含电影数据(作为名称,描述......)和电影类别。

您的数据结构应如下所示:

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

此处namecategories可以是可搜索的属性。 categories将成为一个方面,允许您按类别进行过滤。