我目前正在开发一个 Web 应用程序,理想情况下,我将能够在将为用户存储的文档上支持搜索栏。这些文档中的每一个都将是一个小片段,直到一篇相当大的文章。(我不认为任何文档会大于几 KB 的文本以用于搜索目的)当我一直在阅读有关使用 RethinkDB 的正确方法时,其中一条信息让我感到担忧是对非索引数据进行过滤等操作的性能,我看到人们提到其中一个调用花费了数分钟。考虑到我预计,从长远来看,至少会有 10,000 多个文档(从长远来看,100,000+、1,000,000+ 等),有没有办法能够在标准 RethinkDB API 中以亚秒级(最好是 10 毫秒)响应时间的方式搜索这些文档?还是我必须想出一个单独的方案,允许通过巧妙地使用索引进行快速搜索?还是我最好使用另一个提供该功能的数据库?
问问题
1920 次
1 回答
3
如果您不使用索引,您的查询将不得不查看表中的每个文档,因此随着表变大,它会变慢。在快速硬件上搜索 10,000 个文档应该是合理的,但您可能无法在 10 毫秒内完成搜索,而且数百万个文档的搜索速度可能会很慢。
您可能希望将 elasticsearch 作为一种方法来执行此操作:http ://www.rethinkdb.com/docs/elasticsearch/
于 2015-07-21T10:06:06.377 回答