我知道这个问题听起来很一般,但我想选择建议。
我有一个关系数据库模型(Postgresql),如下所示。
所有用户都属于角色。我还有可搜索内容的对象(文本或tsvector - 它不会影响搜索查询的速度),每个对象都有版本。 用户只能根据他们所在的角色查看某些对象版本,并且为特定对象提供了读取和编写此角色的特定权限。
现在我的问题是,是否有任何全文搜索实现也可以使用基于用户角色的权限(虽然我真的不知道这将如何工作)或任何提示如何缓存用户的结果,考虑到结果不断变化(例如创建或删除内容)
目前搜索是通过普通的JOIN postgresql查询完成的,这很慢。全文索引没有帮助。