gpt4 book ai didi

javascript - 哪种数据结构最适合可快速搜索的文本数据?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:56 24 4
gpt4 key购买 nike

在查看 DnD Insider 和 Kindle 应用程序等产品时,用户可以在大型文本数据结构中快速搜索匹配的文本字符串。如果我要制作一个 Web 应用程序,允许用户快速搜索“规则手册”(或类似文本)以查找匹配的条目并提取数据进行阅读,我应该如何组织数据?

我认为将所有数据都放入内存不是一个好主意。但是,如果我将它存储在某种数据库中,搜索数据库并检索适当的匹配条目的好方法是什么?

到目前为止,我相信我将使用 Boyer-Moore 算法来实际进行搜索。我可以将规则文本的各个部分放入不同的数据库条目中。用户搜索将优先搜索章节标题而不是章节正文。由于文本将是静态的且用户不可编辑,也许存储每个单词的数组可行?

最佳答案

通常某种倒排索引用于此目的:https://en.wikipedia.org/wiki/Inverted_index

基本上,这是从每个单词到它出现的位置列表的映射。每个“地点”可以是一个(文档 ID、出现次数),或者如果您想支持短语搜索或如果您想要对标题中的匹配给予更多权重等,则可以是更精确的东西。

搜索结果通常使用 tf-idf 的某些变体进行排名:https://en.wikipedia.org/wiki/Tf%E2%80%93idf

关于javascript - 哪种数据结构最适合可快速搜索的文本数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54016506/

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