我是Algolia的新手,我在编制数据时对如何构建数据感到困惑。
我的本地数据库中有两个名为“Films”和“Categories”的模型,它们通过数据透视表连接来管理多对多的关系。
我希望用户能够通过电影标题进行搜索,然后将类别作为过滤器进行搜索,但我也希望用户能够浏览类别。
如果我创建两个名为Films and Categories的索引,它们将如何相关? algolia如何知道哪些电影属于哪些类别?
文档似乎不清楚:https://www.algolia.com/doc/guides/indexing/structuring-your-data/
由于
本
答案 0 :(得分:0)
在您的情况下,您想要的是搜索Film
。
您必须将索引视为非关系数据库,以便您搜索唯一的实体。它与关系数据库非常不同,并没有用于相同的目的。
所以你不需要创建两个索引,只有一个索引包含电影数据(作为名称,描述......)和电影类别。
您的数据结构应如下所示:
[
{
"name": "A Movie",
"categories": [
"Comedy",
"Action"
]
},
{
"name": "Another Movie",
"categories": [
"Horror",
"Action"
]
}
]
此处name
和categories
可以是可搜索的属性。
categories
将成为一个方面,允许您按类别进行过滤。