Reds Redis加Node.js的全文搜索引擎

我要开发同款
匿名用户2011年08月02日
49阅读
开发技术C/C++
所属分类程序开发、搜索引擎
授权协议未知

作品详情

Reds是由LearnBoost公司的TJHolowaychuk开发的一个基于Redis的Node.js全文搜索引擎,其代码加上注释也只有300行。不得不说又是一个Redis的最佳实践,它的主要原理是通过Redis的sets数据结构将分词后的词语碎片进行存储。这里的分词仅仅是对英文按空格进行切分(中文分词就不要想了~)。

例子:先添加几个句子到搜索引擎中建立索引

varstrs=[];strs.push('Tobiwantsfourdollars');strs.push('Tobionlywants$4');strs.push('Lokiisreallyfat');strs.push('Loki,Jane,andTobiareferrets');strs.push('Mannyisacat');strs.push('Lunaisacat');strs.push('Mustachioisacat');strs.forEach(function(str,i){search.index(str,i);});

然后在Tobidollars这个组合进行搜索

search.query(query='Tobidollars',function(err,ids){if(err)throwerr;console.log('Searchresultsfor"%s":',query);ids.forEach(function(id){console.log('-%s',strs[id]);});process.exit();});

下面是其搜索结果

Searchresultsfor"Tobidollars":-Tobiwantsfourdollars

介绍内容来自:https://blog.nosqlfan.com/html/2676.html

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论