首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在RediSearch中有动态索引有意义吗?

在RediSearch中有动态索引有意义吗?
EN

Stack Overflow用户
提问于 2021-09-02 22:21:13
回答 1查看 199关注 0票数 0

例如:假设哈希(让我们称之为事件)具有两个可搜索的属性: user_id (num)和name (文本)。

然而,每当我需要按名字过滤事件时,我就会有user_id。因此,我想知道是否有必要为每个用户设置一个事件索引,而不是为所有用户设置一个大型事件索引。

根据我对Redis和RediSearch的基本知识:

所有用户的所有事件的

  • One索引:
    • 前缀:“events:”
    • 键示例:
    • :123,

    轻松。

    • Cons:每当我需要搜索名为"foo“的事件时,user_id 100 RediSearch需要使用user_id查找一个事件块,然后过滤名称。哈希必须位于同一个碎片中,或者使用coordinator.

事件的每个用户索引: events:789:123

  • Pros:

  • 前缀:"events:%USER_ID%:",即,事件: 789,其中789是用户id

  • 的关键示例: distributed.

  • Cons:更小的索引以获得更好的性能,并且更容易维护。如果有1mi用户,我们有1mi索引,如果这是问题,不知道,或者not.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-04 08:44:45

@jonathan它取决于您的性能要求和可用内存。

如果内存不是一个问题(对同一个文档进行两次索引),并且希望将延迟降到最小,那么这听起来是一个可选的选项。

有一个警告,创建这么多的索引在GC上有一个开销,因此,只有当用户级别的索引非常静态或短暂时,才应该考虑它,并且可以将它定义为TEMPORARY (可以是无限超时的)。

请参阅:https://oss.redis.com/redisearch/Commands/#ftcreate

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69037608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档