【问题标题】:MongoDB regex case insensitive search query taking too longMongoDB 正则表达式不区分大小写的搜索查询耗时太长
【发布时间】:2021-08-03 02:53:57
【问题描述】:

你好堆栈溢出社区我有一个搜索 api,它查询 mongo 以进行不区分大小写的正则表达式搜索查询。 从 900 万条记录中获取结果大约需要 10 秒,但如果我删除不区分大小写的功能,它的速度非常快。任何人都可以帮助我在 mongo 中通过不区分大小写的搜索来提高性能。我正在使用spring boot mongotemplate查询mongo数据库。

谢谢

【问题讨论】:

  • 如何查询mongo?可以发一下示例代码吗?
  • 您好,我使用spring boot mongo模板查询,例如"studentName" : { "$regularExpression" : { "pattern" : "John.*", "options" : "i"}

标签: java spring mongodb performance search


【解决方案1】:

MongoDB 正则表达式不区分大小写的查询通常不会使用索引。这意味着他们将需要读取集合中的每个文档,这对于非平凡的数据集通常非常慢。

【讨论】:

  • 嘿@Joe,感谢您的回复。我尝试使用不区分大小写的索引。但没有任何帮助。你能想出使我的搜索查询更快的任何解决方法吗?谢谢。
  • 你尝试过排序吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
  • 2013-10-09
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多