【发布时间】:2015-04-25 00:17:00
【问题描述】:
我正在研究如何在 JavaScript 中实现支持索引复合字段的 b-tree。示例对象:
{
"name": "Jim",
"age": 14
}
“姓名”和“年龄”字段上的复合索引将允许对“姓名”字段或“姓名”和“年龄”字段进行快速完全匹配、前缀匹配和范围搜索。
如何对 b-tree 索引进行编码以实现上述目标(在 JavaScript 或伪代码中)?
现成的解决方案也很有用,但我主要对解决方案的内部细节感兴趣,因此最好解释清楚的索引和检索过程。
此外,任何人都可能熟悉的有关该主题的任何书籍或技术文章也会有所帮助!
【问题讨论】:
-
重要的是建立一个排序:你如何比较其中两个键并知道哪个在另一个“之前”?一旦你决定了,那么它就和普通的 B-Tree 完全一样了。
-
您是否查看过 Javascript 中现有的 B-Tree 实现(简单的 Google 搜索显示大量代码可供查看)?您需要帮助的那些实现缺少哪些?
-
@jfriend00 您希望每个人都使用搜索并首先检查现有库...有没有人不这样做?!?现有的库都没有讨论如何以我上面描述的方式使用 b-tree 来索引复合字段,因为它们主要只对 b-tree 本身的孤立操作感兴趣,而不是它的用法。
标签: javascript database indexing b-tree