首页 > 解决方案 > 使用 python redisearch 客户端按标签过滤搜索

问题描述

我有一个带有 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”的文档。

我怎么做?

标签: pythonpython-3.xredisearch

解决方案


终于找到了:D。

我基本上尝试使用 python 客户端执行纯 redis-cli 命令。不知道如何:/

但这有效。我可以在查询字符串中使用@ 。就像我们在 cli 中所做的那样。

Query("@title:meh @tags:{java}")

推荐阅读