学习

使用筛选器创建索引#

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

也可以使用筛选器创建索引,例如创建一个包含所有在 1990 年至 2000 年间(不包含 2000 年)发布的“戏剧”电影的索引。

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
最后更新于 2024年3月18日