Tag: trie

MongoDB + Node.js + AJAX解决scheme,用于自动完成search

我正在寻找实现一个提前/自动完成search乐趣。 我在mongoDB的模式中有一些属性,但是我希望能够仅通过类别,标题,预览或date进行search。 这是我的一篇文章(我使用mongoose作为ORM)的mongoDB模式: { title: { type: String, required: true} , preview: { type: String, required: true} , body: { type: String, required: true} , category: {type: String} , created_at: { type: Date, default: Date.now } } 每次创build,更新或销毁时,都必须重新索引,以便search得到更新。 search将被自动完成,例如,当我有两篇文章,分别为“欢迎使用stackoverflow”和“如何避免使用stackoverflow”,并且用户input一个键't'那么我会使用AJAX显示这两篇文章他们的头衔都有't'字样。 我也想突出每一个't' ; 'to'中的't' , 't'中的't' ,表示查询到达某个事件。 (我期望它会看起来类似于当我们在这里search特定的'标签'在stackoverflow.com) 现在的问题是我应该使用不同的模式进行索引,或只是坚持我现有的模式? 看起来我不会使用包含整篇文章的“body”属性,并且有几千个单词,因为我现在不打算进行全文search。 标题属性可能只有45个字符,平均3或4个字。 类别大多只有1个字,平均9-15个字符。 预览将是最大的数据集,约150个字符,平均20个字。 我可能想要使用trie数据结构来实现这个。 在我的头上,我可能会说这样做的一种方法是通过使AJAX请求每个击键将被路由到node.js处理程序,然后从那里进行查询到mongoDB将返回每个条目,具有与由用户input的按键匹配的字母作为JSON文件。 然后我将parsing该JSON文件并显示每个条目。 那么问题是如何将triealgorithm应用到我的计划中? […]