使用 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}")