FT.SEARCH 仅返回特定列(投影)例如:使用 RETURN 1 属性1 不返回 JSON 的任何结果

问题描述 投票:0回答:1

产品:Redis Stack 7.2

由两部分组成的问题:

1。使用 REDIS 命令在 JSON 对象上搜索/投影:

WORKS:返回完整 JSON 结果的工作查询:

  • FT.SEARCH 帐户:索引“@status:{POSTED}”
  • 结果:返回多条JSON记录

不工作:不工作的场景:

  • FT.SEARCH 帐户:索引“@status:{POSTED} RETURN 1 状态”
  • FT.SEARCH account:index "@status: {POSTED} RETURN 1 '$.status'" (也尝试过这个版本)
  • 结果:未找到结果消息(两种情况下都没有错误)

2。搜索 /Projection Redis Om NodeJs 客户端库:

这两种情况我都无法要求 REDIS Stack 仅返回 JSON 中的特定属性。截至目前,我还没有办法让#1 或#2(使用 Redis OM)都工作

尝试在此处查看 FT.SEARCH 详细信息 https://redis.io/commands/ft.search/ 但不知道我错过了什么?

期望 REDIS 搜索在结果中仅返回 JSON 的预期属性(投影支持) 需要有关如何使用“REDIS OM”或至少使用直接 REDIS 命令 FT.SEARCH 来完成此操作的详细信息

查看了下面的两个内容,并没有发现它对我有用,它们似乎是未解决的问题: Redis搜索。是否可以将使用 RETURN 关键字请求的数据作为常规响应返回? https://github.com/redis/redis-om-python/issues/568

如有任何帮助,我们将不胜感激

redis redisjson redis-search redis-stack
1个回答
0
投票

您的引用位置错误。他们围绕查询。 RETURN 不是查询的一部分,它是一个参数。所以他们不会绕过它。

试试这个:

FT.SEARCH account:index "@status:{POSTED}" RETURN 1 $.status

对于 Node.js 的 Redis OM,它只返回完整的文档。这是设计使然,并且没有计划改变它。如果你想要更精细的控制,你应该直接使用Node Redis。

© www.soinside.com 2019 - 2024. All rights reserved.