gpt4 book ai didi

javascript - 在 JavaScript 中检查大型文本文档中的字符串的有效方法

转载 作者:行者123 更新时间:2023-11-28 18:30:27 25 4
gpt4 key购买 nike

我有一个 30kb 的文本文件,其中包含空格分隔的 URL。我需要根据文本文件中的字符串对用户输入的字符串进行检查。实现这一目标最有效的方法是什么?

  1. 在redis中创建Set;在集合上执行 sismember 进行搜索。
  2. 将文件加载到nodejs服务器的变量中并执行indexOf操作(我认为这可能会导致阻塞!)。
  3. 其他一些方法,我不知道......

(文件大小可能会增加到最大 80kb)

最佳答案

我处理 30 MB、1 GB、1TB 文件。 30KB 听起来很小,但根据具体情况,它可能会很大。想象一下,由于访问者很多,您的服务器非常繁忙,并且您想要在访问者很多的情况下执行该操作,服务器肯定会经历沉重的服务器负载。我建议考虑有效的算法或工具来帮助您解决这个问题。

问题:为什么你的数据不能保留在Redis中?您可以轻松地从 Redis 端进行全文搜索。如果无法做到这一点,请考虑在 Node.js 端关联全文搜索引擎或提出有效的搜索算法。

这是我要做的:

将单词保存为索引,例如您有以下文本:

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

抓取此文本并保存每个单词及其在大文本中的位置。

  • Lorem 位于 0
  • Ipsum 位于 7

如果 Lorem 在后面的文本中再次出现,只需附加到 Lorem 键 (Lorem: 0,118)

然后您可以轻松搜索键并查看该单词是否存在。

关于javascript - 在 JavaScript 中检查大型文本文档中的字符串的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38115487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com