RediSearch中的@符号如何?
How to the @ symbol in RediSearch?
我正在使用模块 RedisJSON 和 RediSearch 一起对 JSON 数据执行搜索查询。
给定一个像这样的 json 列表:
{"email": "test1@example.com", "is_checked": 1}
我愿意:
FT.CREATE myidx ON JSON SCHEMA $.email AS email TAG
FT.SEARCH myidx "@email:'test1@example.com'"
但是我得到了Syntax error
我如何 select 使用值“test1@example.com”?
您可以使用反斜杠转义特殊字符,例如@:
FT.SEARCH myidx "@email:'test1\@example.com'"
这应该可以解决问题。
我只是 运行 解决了这个问题,接受的答案对我不起作用,但我在 this RediSearch issue 中找到了解决方案。
有了一个索引,其中有一个存储为 TAG
的电子邮件字段,您可以像这样进行搜索:
FT.SEARCH myidx "@email:{ test1\@example\.com }"
转义 @
和 .
个字符。
这里还有查询 TAG
字段的文档:https://redis.io/docs/stack/search/reference/tags/#querying-tag-fields
我正在使用模块 RedisJSON 和 RediSearch 一起对 JSON 数据执行搜索查询。 给定一个像这样的 json 列表:
{"email": "test1@example.com", "is_checked": 1}
我愿意:
FT.CREATE myidx ON JSON SCHEMA $.email AS email TAG
FT.SEARCH myidx "@email:'test1@example.com'"
但是我得到了Syntax error
我如何 select 使用值“test1@example.com”?
您可以使用反斜杠转义特殊字符,例如@:
FT.SEARCH myidx "@email:'test1\@example.com'"
这应该可以解决问题。
我只是 运行 解决了这个问题,接受的答案对我不起作用,但我在 this RediSearch issue 中找到了解决方案。
有了一个索引,其中有一个存储为 TAG
的电子邮件字段,您可以像这样进行搜索:
FT.SEARCH myidx "@email:{ test1\@example\.com }"
转义 @
和 .
个字符。
这里还有查询 TAG
字段的文档:https://redis.io/docs/stack/search/reference/tags/#querying-tag-fields