问题标签 [redisearch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
447 浏览

redis - 仅将文档与一个索引关联(Redisearch)

我在单个 Redisearch 上使用多个索引,每个索引都与代码中的一个类相关联。例如,XYZ ( List<XYZ>) 的数据通过索引 XYZ 保存,而 ABC ( List<ABC>) 的数据通过 ABC 保存。

问题是,当我使用索引 XYZ 搜索 XYZ 的数据时,ABC 的数据也会出现在搜索中。这可以像这样轻松地重新创建:

为什么是这样?有什么好的解决方法吗?

我知道 FT.ADD 现在已弃用,但 C# 库仍在内部调用 FT.ADD,因此我需要让它与 FT.ADD 一起使用,而且我们刚刚添加的文档仅包含“sampletext”,因此它仍然不应该出现在 sample2 下反正。

0 投票
0 回答
132 浏览

go - 为数组值创建索引

我正在尝试使用 Redisearch 为数组值创建索引。这是代码

需要这样的回应

  1. (整数) 2
  2. “测试:1”
    1. “代码”
    2. “ADL”
  3. “测试:2”
    1. “代码”
    2. “MSL”

如何创建类似上述响应的索引。

0 投票
0 回答
259 浏览

redis - 模块-redis-fork 上的 Redis 问题

问题

大家好,

在这些情况下尝试与 Redis 交互时遇到问题:

  1. 带有Redisearch 模块的Redis 实例,
  2. 在 Redis 模块分叉进行之前创建node-redis客户端,
  3. Redis 模块分叉正在进行中

我得到的行为是“send_command”保持空闲状态,直到分叉停止。当叉子结束时,我收到此错误:

调试模式->

客户端错误->

在我收到此错误后,来自同一客户端的命令(不创建新客户端)恢复正常。

在每个叉子上,我都有相同的行为。

附加信息:


代码示例:

这是一个简单的快递应用,

这是我必须复制问题的最简单方法。

我不知道是否有办法强制 redis 使用 fork,在我的情况下,它出现在对索引进行大量搜索之后,然后删除和插入记录。

然而,Redis 在这些操作(插入/删除)期间正常工作,我可以从 redis-cli 启动命令;

通过在分叉存在时创建 node-redis 客户端的新实例,一切正常,当分叉消失时,一切都继续工作。

环境

  • Node.js 版本v14.15.1
  • Redis 版本 6.0.4
  • 重新搜索版本 1.6.15
  • 节点redis版本3.2
  • 平台Server 128GB RAM, 8 Core, Debian
0 投票
1 回答
311 浏览

caching - AGGREGATE FILTER 是否期望 Redisearch 中区分大小写的查询表达式?

我在 Redis 中使用 Redisearch 模块并尝试使用以下查询过滤存储在 Redis 索引中的数据。

FT.AGGREGATE MyIndex * GROUPBY 1 "@MyField" FILTER "@MyField=='value'"

我只能获得搜索的确切单词的结果,但不能在使用小写字母搜索具有大写字母的字段时获得结果,反之亦然。例如:如果一个字段的值为 'test',则使用“@MyField=='TEST'”或“@MyField=='Test'”查询不起作用。

请提出任何可能的建议。谢谢你。

0 投票
1 回答
233 浏览

redis - MySQL 查询的 Redisearch 等效项

我正在寻找与以下查询等效的Redisearch :

我尝试了以下方法 - 它有效,但看起来不是最优雅的解决方案:

topic_id并且post_idNUMERICSORTABLE

谢谢你的帮助!

0 投票
0 回答
204 浏览

redis - 在 Redisearch 中使用 FT.search 使用小写字母进行 TEXT 字段搜索时,不返回具有大写字段的文档

我在 Redis 中使用 Redisearch 模块并尝试使用以下查询在 TEXT 字段中搜索值。它返回所有具有小写值的文档,例如“test or Test”,并且没有返回所有大写字母“TEST”的数据。

FT.search MyIndex @MyField:"test"

请提出一些建议。谢谢你。

我有一个类似的索引,如下所示,只有当我添加 'tjøp | 查询中的 TJØP' 或 'tjøp*'。

FT.CREATE MyIndex SCHEMA 名称 TEXT

ft.add MyIndex "110011" 1.0 FIELDS 名称 "tjøp plane"

ft.add MyIndex "110012" 1.0 字段名称 "文件 TJØP"

ft.add MyIndex "110013" 1.0 FIELDS 名称 "一个 TJØP 更多"

ft.add MyIndex "110015" 1.0 FIELDS name "一个 TJØP a/s more"

127.0.0.1:6379> ft.search MyIndex @name:"tjøp"

  1. (整数) 1
  2. “110011”
    1. “姓名”
    2. "tj\xc3\xb8p 平面" 127.0.0.1:6379> ft.search MyIndex @name:"tjøp | TJØP"
  3. (整数) 4
  4. “110011”
    1. “姓名”
    2. "tj\xc3\xb8p 平面"
  5. “110015”
    1. “姓名”
    2. “一个 TJ\xc3\x98P a/s 更多”
  6. “110013”
    1. “姓名”
    2. “一个 TJ\xc3\x98P 更多”
  7. “110012”
    1. “姓名”
    2. “文件 TJ\xc3\x98P”
0 投票
1 回答
467 浏览

redis - 如何从 Redisearch 的索引中删除所有文档?

我希望从 Redisearch 的特定索引中删除所有文档。我遇到了用于删除已知 documentid 的记录的命令。我们可以在不使用 documentids 的情况下删除所有记录吗?

请提出一些建议。谢谢你。

0 投票
1 回答
182 浏览

redis - RediSearch Suggestions - 删除所有建议

RediSearch Suggestions 非常有用。我想不通:如何删除所有建议?

命令参考解释了如何添加和删除单词。但是好像没有办法全部删除?

https://oss.redislabs.com/redisearch/Commands/#ftsugadd

0 投票
1 回答
226 浏览

redis - RediSearch - 搜索出现在许多记录中的特定单词需要很长时间。如何改进它?

我有大约 3000 万条记录的地址数据库(作为哈希)。我正在向所有地址字段添加文本索引。搜索看起来没问题,直到我想搜索出现在许多记录中的单词。例如,搜索出现在大约 2500000 条记录中的单词“London”需要 4.5 秒 ( FT.SEARCH idx:a4 london LIMIT 0 2)。有没有可能改善这个结果,做任何改变?谢谢你的帮助。

0 投票
1 回答
40 浏览

python - 流水线化 redisearch-py 命令

有没有办法使用 redisearch-py 客户端在单个管道中发送多个 redisearch 命令?是否可以在同一管道中混合使用经典的 redis 命令和 redisearch 命令?