gpt4 book ai didi

Node.js 或 C 的不区分大小写的精确子字符串匹配/索引(无全文搜索)

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:43 25 4
gpt4 key购买 nike

哪些库在 Node.js 中提供不区分大小写的精确子字符串匹配以匹配大型字符串语料库?我正在专门寻找基于索引的解决方案。

例如,考虑一个由数百万个字符串组成的语料库:

  • “Abc Gef gHi”
  • “Def Ghi xYz”

我需要一个库,以便搜索 "C ge" 返回上面的第一个字符串,但搜索 "C ge"(注意多个空格)才不是。换句话说,我不是使用词干和停用词寻找模糊的、智能的、全文搜索;相反,它是最简单(和快速)的精确子字符串匹配器,具有可大规模使用的索引。

欢迎使用 JavaScript 解决方案,C 解决方案也是如此(因为它们可以转换为 native Node.js 模块)。或者,其他编程语言(如 Java)的解决方案也是可能的;它们可以通过命令行使用。优选地,解决方案是磁盘空间限制而不是内存限制(例如,而不是 Redis),并且它们应该将索引写入磁盘,以便后续启动时间低。

我发现的大多数解决方案(例如 the ones here)的问题是它们太智能了。即,它们应用了不同类型的词干提取或归一化,因此匹配不准确。

预先感谢您的帮助!

最佳答案

我将列出一些我找到的解决方案。

最简单但最合适的是 https://github.com/martijnversluis/JsSuffixTrie

然后,更详细,基于散列:https://github.com/fergiemcdowall/search-index

我也可以建议 http://redis.io/ .它很先进,但仍然很低级。没有太多花哨的包装。

最后,这篇博文讨论了 javascript 中的尝试,问题似乎主要是加载时间:http://ejohn.org/blog/javascript-trie-performance-analysis/

关于Node.js 或 C 的不区分大小写的精确子字符串匹配/索引(无全文搜索),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28343416/

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