使用 RethinkDB "Full Text Search"

Using RethinkDB for "Full Text Search"

我目前正在开发一个 Web 应用程序,理想情况下,我将能够在将为用户存储的文档上支持搜索栏。这些文档中的每一个都将是一个小片段,直到一篇大小合适的文章。 (我认为出于搜索目的,任何文档都不会超过几 KB 的文本)正如我一直在阅读有关使用 RethinkDB 的正确方法一样,其中一条信息让我感到担忧是对非索引数据进行过滤等操作的性能,我看到人们提到其中一个调用花费了多分钟。考虑到我预计,在很长的 运行 中,至少会有 10,000 多个文档(在真正的 运行、100,000+、1,000,000+ 等中),有没有办法能够在标准 RethinkDB API 中以具有亚秒级(最好是 10 毫秒)响应时间的方式搜索这些文档?或者我是否必须想出一个单独的方案,允许通过巧妙地使用索引进行快速搜索?还是我最好使用提供该功能的另一个数据库?

如果您不使用索引,您的查询将不得不查看 table 中的每个文档,因此随着 table 变大,它会变慢。在快速硬件上搜索 10,000 个文档应该是合理的,但您可能无法在 10 毫秒内完成,而搜索数百万个文档可能会很慢。

您可能想查看 elasticsearch 作为执行此操作的一种方式:http://www.rethinkdb.com/docs/elasticsearch/