学习

使用过滤器创建索引#

在前面的示例中,索引是使用 PREFIX 创建的,其中所有与类型和前缀匹配的键都被索引。

也可以使用过滤器创建索引,例如,创建包含所有在 1990 年至 2000 年间 (不包括 2000 年) 发行的“剧情片”的索引。

The FILTER` 表达式使用 聚合过滤器语法,例如对于类型和发行年份,它将是

  • FILTER "@genre=='Drama' && @release_year>=1990 && @release_year<2000"

因此,当您创建索引时

FT.CREATE idx:drama ON Hash PREFIX 1 "movie:" FILTER "@genre=='Drama' && @release_year>=1990 && @release_year<2000" SCHEMA title TEXT SORTABLE release_year NUMERIC SORTABLE

您可以运行 FT.INFO idx:drama 命令查看索引定义和统计信息。

注意

  • The PREFIX 是必需的。
  • 在此应用程序中,此索引没有用,因为您可以从 idx:movie 中获取相同的数据

您可以通过运行以下查询来检查数据是否已编入索引,这些查询应返回相同数量的文档。

idx:drama

> FT.SEARCH idx:drama "  @release_year:[1990 (2000]" LIMIT 0 0

1) (integer) 24

idx"movie

> FT.SEARCH idx:movie "@genre:{Drama}  @release_year:[1990 (2000]" LIMIT 0 0

1) (integer) 24
上次更新于 2024 年 3 月 18 日