使用 python redisearch 客户端按标签过滤搜索
Filter search by tags with python redisearch client
我有一个带有 TagField 的索引,是这样创建的
create_index([TextField("enc_id"), TextField("title", 2.0), TagField("tags")])
我会添加这样的文档。
add_document(title = "meh, lol", tags = "python,C")
我是这样搜索的。它有几个不需要搜索的字段,所以我限制了搜索的字段。
Query(query_string='meh').limit_fields(title)
我想要的是也通过一些标签过滤结果。例如,我有带有 python、C、Java 等标签的文档,我只希望返回带有 'C'.
标签的文档
我该怎么做?
终于找到了:D.
我基本上尝试使用 python 客户端执行纯 redis-cli 命令。不知道如何:/
但这奏效了。我可以在查询字符串中使用 @。就像我们在 cli 中做的那样。
Query("@title:meh @tags:{java}")
我有一个带有 TagField 的索引,是这样创建的
create_index([TextField("enc_id"), TextField("title", 2.0), TagField("tags")])
我会添加这样的文档。
add_document(title = "meh, lol", tags = "python,C")
我是这样搜索的。它有几个不需要搜索的字段,所以我限制了搜索的字段。
Query(query_string='meh').limit_fields(title)
我想要的是也通过一些标签过滤结果。例如,我有带有 python、C、Java 等标签的文档,我只希望返回带有 'C'.
标签的文档我该怎么做?
终于找到了:D.
我基本上尝试使用 python 客户端执行纯 redis-cli 命令。不知道如何:/
但这奏效了。我可以在查询字符串中使用 @。就像我们在 cli 中做的那样。
Query("@title:meh @tags:{java}")