Redis加Node.js的全文搜索引擎 Reds
Reds是由LearnBoost公司的TJ Holowaychuk开发的一个基于Redis的Node.js全文搜索引擎,其代码加上注释也只有300行。不得不说又是一个Redis的最佳实践,它的主要原理是通过Redis的sets数据结构将分词后的词语碎片进行存储。这里的分词仅仅是对英文按空格进行切分(中文分词就不要想了~)。
例子:
先添加几个句子到搜索引擎中建立索引
var strs = []; strs.push('Tobi wants four dollars'); strs.push('Tobi only wants $4'); strs.push('Loki is really fat'); strs.push('Loki, Jane, and Tobi are ferrets'); strs.push('Manny is a cat'); strs.push('Luna is a cat'); strs.push('Mustachio is a cat'); strs.forEach(function(str, i){ search.index(str, i); });
然后在Tobi dollars这个组合进行搜索
search.query(query = 'Tobi dollars', function(err, ids){ if (err) throw err; console.log('Search results for "%s":', query); ids.forEach(function(id){ console.log(' - %s', strs[id]); }); process.exit(); });
下面是其搜索结果
Search results for "Tobi dollars": - Tobi wants four dollars
- 授权协议: 未知
- 开发语言: C/C++ JavaScript
- 操作系统: Linux
- 收录时间: 2011年08月02日
- 软件首页 软件下载
本文出自 传播、沟通、分享,转载时请注明出处及相应链接。
本文永久链接: https://www.nickdd.cn/?p=1669