问题标签 [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 回答
62 浏览

php - 将 php-redisearch 与 laravel 8 集成的问题

我已经使用以下命令安装了插件 MacFJA/php-redisearch

composer require macfja/redisearch

问题:

在此处输入图像描述

完整代码:

有人可以分享为什么会抛出这个问题吗?

0 投票
0 回答
58 浏览

laravel - 在并发请求中使用 Redisearch

我在 M6G 8X 大型服务器中使用 Laravel 8 部署了一个 API。我的系统架构如下。

Client -> NGINX -> PHP-FPM -> Laravel API -> PGBouncer -> PostgreSQL/PostGIS

API 从 Postgres 函数将结果返回给客户端请求,该函数使用来自 120 亿条记录的表中的信息,平均耗时 300 毫秒。我使用 jmeter 对 500 个并行请求的 50K 请求进行了负载测试,而我的吞吐量仅为 390 Requests/Sec。

为了缓解这个问题,我在 Redis 内存中加载了 120 亿条记录,并使用 RediSearch FT.Aggregate 函数在 Redis 中对 postgres 函数进行了相同的操作和地理空间过滤器,我得到的结果平均为 250-300 毫秒. 我对 50K 请求和 400 个并行请求进行了相同的负载测试,其中我只有 45 个请求/秒的吞吐量,这比 Postgres 函数方法差得多。

Client -> NGINX -> PHP-FPM -> Laravel API -> Redisearch -> Redis

请让我知道如何使用 Redis 方法提高并发请求的吞吐量,因为我的假设是 Redis 中没有锁定问题或与 Postgres DB 问题的连接。谢谢。

示例查询

0 投票
1 回答
24 浏览

php - 使用库“MacFJA/php-redisearch”在聚合函数中使用“withApplies”时面临问题

聚合原始查询

FT.AGGREGATE indexName "@geofield:[-83.81373 34.3755452645611 20 mi]" LOAD 1 @geofield APPLY "@cc_sum * ( 20 - (geodistance(@geofield, -83.81373, 34.3755452645611)) / 20)" as ccSumCalcValue APPLY 1 as test GROUPBY 1 @test REDUCE SUM 1 @ccSumCalcValue as weightedSum

使用“MacFJA/php-redisearch”聚合查询

我无法使用此库从原始聚合查询中执行以下命令

APPLY 1 as test GROUPBY 1 @test REDUCE SUM 1 @ccSumCalcValue as weightedSum

有人可以帮我用这个库做这个命令吗

0 投票
1 回答
65 浏览

stackexchange.redis - NRediSearch - 获取匹配的文档总数

Aggregate调用函数时有没有办法获得总结果数?

请注意,我不是使用Aggregate函数来聚合结果,而是作为高级搜索查询,因为Search函数不允许按多个字段排序。

RediSearch 返回匹配的文档总数,但我找不到使用 NRediSearch 库获取此数字的方法。

0 投票
2 回答
52 浏览

redisearch - 部分匹配的重新搜索查询

我在使用 redisearch 的 FT.SEARCH 命令时遇到了一个小问题:

对于这个值为这个的数据:ns=2;s=OIGateway:ArchestrA.ACU.AO_ACU230_AIn_CabTp.fa_A2OutOfRan

这个查询是怎么来的:

将返回结果

而这个:

(注意末尾缺少的“o”)

什么都不会回来?

谢谢您的回复。

0 投票
2 回答
87 浏览

redisearch - 为什么 RediSearch 在排序数字字段时很慢?

我在我的项目中使用 RediSearch,该项目的索引包含超过 1300 万份文档。如果用户没有提供过滤器,我需要获取最新的文档。我的索引架构有一个带有 SORTABLE 标志的 NUMERIC 字段,我尝试运行以下查询。

FT.SEARCH media * SORTBY media_id DESC LIMIT 0 10

它有一段时间没有返回响应,我通常会终止查询。

有没有办法在可接受的时间内获得最后的文件?

0 投票
1 回答
109 浏览

python - redis-py ft().search() 不返回结果

我正在使用以下测试代码来试验使用 RedisJSON 数据的 RediSearch。我希望client.ft(candles_index).search("4h")返回candles列表中的 JSON 数据,但没有返回任何结果。

我一直在使用redis-py中的一些单元测试作为我的一些代码的参考,并且我还包含了运行时输出,以显示我一直用来尝试的一些输出看看我可能哪里出错了。

.我已经尝试对,和之间的架构中的根引用进行各种调整..,看看它是否可能是根匹配问题,但似乎不是。$.$..

回答

我想我一定是$..在我的早期测试中错误地测试了路径模式的变化。那是让这个为我工作的秘诀。更新了代码和结果,以及我在这里找到的另一个变体

0 投票
1 回答
167 浏览

database - 如何在 RediSearch 中索引 JSON 数组?

我一起使用模块 RedisJSON 和 RediSearch 对 JSON 数据执行搜索查询。对于每个 JSON 对象,我需要索引数组字段中的所有字符串元素,以便能够通过查询数组中的一个字符串来获取该对象(即通过搜索包含在字符串中的作者之一来获取一些书籍数据JSON书中的数组)。不过,目前看来是不可能的。有什么可能的解决方法还是我被卡住了?

0 投票
1 回答
32 浏览

json - 如何在 RediSearch 中使用 @ 符号?

我一起使用模块 RedisJSON 和 RediSearch 对 JSON 数据执行搜索查询。给定一个像这样的 json 列表:

{“电子邮件”:“test1@example.com”,“is_checked”:1}

我愿意:

但我得到了Syntax error

如何选择值“test1@example.com”?

0 投票
0 回答
18 浏览

python - 是否有一些官方支持的异步 redis python 客户端?

我正在寻找一个异步的 redis python 客户端,它具有 redisearch-py 或 redis-py 等所有功能。

我已经探索了这些模块:

  1. redis-py(给同步客户端)
  2. aioredis(异步,但没有像我们在 redis-py 中那样执行查询的内置函数)
  3. redis-om(异步但只能找到像“find”这样的功能),我应该如何执行其他复杂的查询,比如聚合?

如果您在生产中使用过其中任何一种,请提出您的意见。