RediSearch 使用 NRediSearch 批量文档插入需要大量时间

问题描述

我正在尝试在 Azure 上的 redisearch 客户端中插入 50K 数据以获取单个索引。我们正在使用 .Net 核心平台和 "NRediSearch" Version="2.2.3" 、StackExchange.Redis Version="2.2.4" nugets。插入这些记录需要很多时间(大约 40 分钟)。即使在插入前 10K 条记录时,它也会抛出超时异常。 预计 redisearch 将在至少 2 分钟内插入此类文档。

一些细节:

互联网连接非常好(82 Mbps)

redisearch 客户端完全是空的,因此有足够的内存并且没有使用额外的连接。我们正在使用的连接字符串:

 var config = ConfigurationOptions.Parse("[redisclient with port],password=[password]");
      config.AbortOnConnectFail = false; 
      config.AsyncTimeout = 3000000;                       
      config.SyncTimeout = 3000000; 
      config.ResolveDns = false;            
      config.ConnectTimeout = 30000000;
      config.Ssl = true;
      config.AllowAdmin = true;
      config.KeepAlive = 30000000;

我们尝试了什么:

我们也尝试过 Lazy 和仅 ConnectionMultiplexer。 我们尝试使用 _client.AddDocument(docId,dictRedis,score) 一次添加单个文档 并且还通过使用 _client.AddDocuments(batch); 一次对 500 条记录进行批处理。 (在这里使用异步不是解决方案,因为我们必须监控插入整个数据所需的确切时间。)

我们的要求:

有没有一种方法可以通过在 .Net 核心中使用 nrediredisearch 和 stackexchange.redis 来减少 redisearch 所花费的插入时间??

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...