我目前正在为工作搜索系统编写一个小型测试 Web 应用程序。我有一张桌子空缺(主要要讲的桌子)。我需要对与用户查询匹配的空缺(在输入控件下方的建议列表中)进行快速 AJAX 更新。不同的 DBMS 提供了强大的编程扩展,例如Microsoft SQL Server 中的自由文本搜索……但我认为扫描物理文件需要大量时间。我的想法是基于将整个表Vacancy转移到 RAM 中,所以在我看来,这是有道理的,因为在这种情况下,数据检索需要更少的时间。因此,如果客户在文本框中键入“pro”之类的内容 - 建议列表会显示建议:
-产品经理 - 专业设计师 -程序员 -程序员 C# -程序员Java -物业管理员 -供应专家当用户键入另一个字母“g”时,文本框的值将扩大为“prog” 并且列表会刷新:
-程序员 -程序员 C# -程序员Java为了实现这一点,我计划在节点中创建一个保存值的树索引,其中空缺前缀将扮演索引键的角色,节点值是空缺名称。索引仅使用数据表中的数据构建和填充一次。看看我在下面的意思:
“专业” -> { “产品经理”, “专业设计师”, “程序员”, "程序员 C#", “程序员Java” “物业管理员”, “供应专家” }因此索引构建器必须分析字符串列表并找到空位名称的最少前缀。然后,当构建器在先前找到的前缀之后找到带有字母的字符串时,它会创建一个子树节点(“prog”)(该节点中的数据值计数随着不断过滤而减少)并将自身添加到父节点(“专业”)
“前卫” -> { “程序员”, "程序员 C#", “程序员Java”} }你能告诉我自然适合解决这个问题的树索引类型吗?在寻找时间之前,它们中最好的是什么?谢谢