我有一个需要非常灵活的搜索功能的应用程序。作为其中的一部分,用户将需要能够对多个文本字段进行全文搜索,但也需要通过一些数字字段进行过滤,这些字段记录定期更新的数据(有时不止一次或两次一分钟)。此数据存储在 NDB 数据存储中。
我目前正在使用 Search API 创建文档对象和索引来搜索文本数据,并且我知道我还可以将数值添加到这些文档中以进行索引。但是,由于这些数字字段的动态特性,我将不断更新(删除和重新创建)搜索 API 索引的文档。即使我允许搜索 API 在一段时间内使用旧数据,它仍然需要每天更新几次。对我来说,这似乎不是存储这些数据以进行搜索的有效方法,特别是考虑到搜索查询的数量将大大少于数据更新的数量。
有没有一种有效的方法可以比不断修改搜索文档更有效地处理这些动态数据?
我对这个想法的唯一想法是实现一个两步过程,然后将全文搜索的结果用于针对 NDB 数据存储的查询或使用 Python 手动过滤。两者似乎都不理想,但我没有想法。提前感谢您的任何帮助。