Escaping 转义字符重新搜索

Escaping 转义字符重新搜索,escaping,redisearch,Escaping,Redisearch,下午好 今天下午上班时我对重新搜索有问题。 我想搜索一个记录,在它的键中有一个特定的值,但是这个键有一个特殊的字符 例如: 记录1: 姓名:托托 职位:产品经理 城镇:洛洛巴巴 在redis cli中,当我执行“ft.search”lolo baba“时,它给出了由RedSearch执行的查询。 ->它在做lolo或-baba 经过一些研究,我发现这是因为重新研究如何将单词划分为标记。解决方法是在“特殊字符”之前使用“\”或两个字符来转义它,但在我的情况下不起作用 我已经试过了: ft.sear

下午好

今天下午上班时我对重新搜索有问题。 我想搜索一个记录,在它的键中有一个特定的值,但是这个键有一个特殊的字符

例如: 记录1: 姓名:托托 职位:产品经理 城镇:洛洛巴巴

在redis cli中,当我执行“ft.search”lolo baba“时,它给出了由RedSearch执行的查询。 ->它在做lolo或-baba

经过一些研究,我发现这是因为重新研究如何将单词划分为标记。解决方法是在“特殊字符”之前使用“\”或两个字符来转义它,但在我的情况下不起作用

我已经试过了: ft.search“lolo baba” ->“lolo或-baba”不是我想要的吗

ft.search“lolo baba” ->这一个给了我我想要的“lolo baba而不是lolo或-baba”,但我不知道为什么它什么也没给我

英尺搜索“lolo \-baba” ->用同一个词做了很多次奇怪的事情,我不知道奇怪


我希望有一个查询将“lolo baba”作为单个字符串而不是两个令牌执行。

如果使用redis cli,则需要双重转义,第一个转义是cli告诉它转义下一个字符,第二个转义是使转义字符实际发送到redis:

ft.search lolo\\-baba
这将创建您正在查找的确切查询,但请注意,它仍然不会返回任何结果,因为您还必须在索引时转义(否则,这两个词也将在索引时标记化,并且不会作为单个术语索引)

另一种可能是将此字段索引为标记字段。标记仅通过分隔符(“,”默认情况下)标记。然后您的查询将如下所示:

ft.search @field_name:{lolo\\-baba}