介绍
Lunr.js是个轻个用于浏览器的轻量级 JavaScript 全文搜索引擎。它为JSON文档建立索引,量级并提供一个简单的全文搜索界面来检索与文本查询比较匹配的文档对于一些小型的博客、开发者文档或 Wiki 网站来说,搜索松实索完全可以通过它实现站内离线搜索:
为什么使用它?
对于已经将所有数据存储在客户端中的Web应用程序,也能够在客户端上搜索该数据也是服务器租用库轻很有意义的。这样可以节省在服务器上添加额外的现站线搜压缩服务。本地搜索索引将更快,内离没有网络开销,个轻并且即使没有网络连接也将保持可用。量级
Github
目前Github上star数6.6k
https://github.com/olivernn/lunr.js简单示例
var idx = lunr(function () { this.field(title) this.field(body) this.add({ "title": "Twelfth-Night",全文 "body": "If music be the food of love, play on: Give me excess of it…", "author": "William Shakespeare", "id": "1" }) })然后再像下面这样
idx.search("love")这将返回一个匹配文档列表,其中包含与搜索查询的搜索松实索匹配程度以及与该匹配相关的高防服务器任何关联元数据的分数:
[ { "ref": "1", "score": 0.3535533905932737, "matchData": { "metadata": { "love": { "body": { } } } } } ]安装
只需在要使用它的页面中包含lunr.js源文件。所有现代浏览器均支持Lunr.js。库轻
npm install lunr特性
(翻译或不够准确)
全文搜索支持14种语言 在查询时提升术语或在索引时提升整个文档 范围搜索到特定字段 模糊术语与通配符匹配或编辑距离总结
在之前的现站线搜文章中介绍过另一个全文搜索库FlexSearch.js,感兴趣的内离小伙伴也可以去看一看介绍,在这里也提前祝大家工作顺利,个轻万事如意,源码库身体健康!