我正在使用laravel php构建一个Web应用程序,我正在使用algolia作为搜索服务。但是我无法根据数据透视表和其他表格中的外国ID返回algolia返回结果。所以我的问题是,algolia目前不支持数据透视表和关系表吗?或者我没有得到这个对,这完全是我的错? 非常感谢你提前
答案 0 :(得分:6)
搜索引擎最初并不是为处理关系而设计的:数据库做得很好,但查询时费用很高。
出于性能原因,Algolia引擎不支持这种关系。因此,最好的方法是在将数据推送到Algolia之前对数据进行非规范化。
示例:强>
你有users(id, name)
&一个posts(id, author_id, content)
SQL表,您希望在显示帖子内容和作者姓名的同时搜索帖子。
你应该在你身边JOIN
解决作者的姓名并将一个{ "objectID": 42, "content": "...", "author_name": "<fetched from users table>" }
对象推送到Algolia。