在前面的示例中,索引是使用 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
命令查看索引定义和统计信息。
注意
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