java - 数据库添加自动生成的标签列以提高可搜索性
问题描述
我目前正在开发一个 Springboot、Mongodb项目,其中一个模型有 4 个 DBRefs。例如:模型 A具有模型 B、C、D 和 E的DbRefs 。该系统通常需要检索由模型 B、C、D 和 E中的属性查询的模型 A的列表。类似于SQL 中的连接查询。
目前,我正在使用$lookup
操作来加入文档,然后执行它$match
并且它可以工作。
问题是随着收集数据检索时间增加中文档数量的增加(即使我正在分页。页面大小为 25 个文档)
1000 个文档的检索时间为 200ms,10,000 个文档的检索时间为1000ms。
因此,我正在考虑向模型 A添加一个名为标签的字符串字段,并使用将用于查询的模型 B、C、D 和 E 中的逗号分隔值填充它。所以在查询中,我可以对标签字段进行“喜欢”查询。(我必须让标签字段保持最新。每当 B、C、D、E 模型更新时。)
这是个好主意吗?或者是否有任何其他模式可以实现这一点。
解决方案
推荐阅读
- javascript - 使用 JS 函数在光标附近生成和渲染 html 内容
- kubernetes - Kubernetes activeDeadlineSeconds 没有杀死进程
- php - 引导表单助手日期选择器默认值
- c - 为什么在 char** cast 后出现分段错误?
- python - 在 Docker 中使用 Celery 的 Flask 应用程序中的应用程序上下文错误
- c - 没有循环的函数是否可并行化?
- java - 永久编辑类路径中的 txt 文件
- python - 如何从 txt 文件中绘制字符串日期时间
- dll - 在 .NetCore 2.1 (Windows) 中加载本机库
- reactjs - 为什么在我的测试中我的子组件上的道具没有更新?