Book,User和Review说,我正在构建具有复杂模型的应用程序。
评论包含书籍和用户ID。为了能够搜索至少包含一个评论的“图书”,我已将“图书”设置为“评论”的父级,并且具有这样的路由。但是,我还需要找到撰写包含某些短语的评论的用户。
是否可以同时将书和用户作为评论的父级?有没有更好的方法来处理这种情况?
请注意,我无法更改数据建模的方式/不愿意这样做,因为数据已从持久性数据库传输到Elasticsearch。
据我所知,你不能与两个父母有文件。
我的建议基于Elasticsearch的Application-side join章节的权威指南:
Book
Review
user_id
我认为这涵盖了您描述的两种用例:
Books that contain at least one review
Users who wrote reviews that contain certain phrases
编辑: "give me the books that have reviews this month written by user whose name started with John"
"give me the books that have reviews this month written by user whose name started with John"
我建议您收集所有这些高级用例,并对实现它们所需的数据进行非规范化。在这种特殊情况下,只需将用户名标准化为即可Review。无论如何,elasticsearch的人们已经在他们的博客中写过关于管理关系的文章,或者elasticsearch的权威指南