总览
示例
可以使用下面的代码创建一个简单示例:
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 是一个在浏览器中使用的小型全文搜索库。它对 JSON 文档进行索引,并提供一个简单的搜索接口,用于检索与文本查询最佳匹配的文档。
为什么使用它?
对于所有数据都在客户端中存储的 web 应用程序,能够在客户端上搜索这些数据意义重大。它省去了在服务器上添加额外压缩服务的工作。本地搜索的速度也更快,没有网络开销,即使没有网络连接也能保持可用性。
安装
只要在您想要使用的页面中引入 Lunr.js 文件即可。所有现代浏览器都支持 Lunr.js。
也可以使用npm install lunr包进行安装。
不支持ES5的浏览器需要 JavaScript shim 才能让 Lunr 工作。您可以使用Augment.js、ES5- shim 或任何对让浏览器与 ES5 兼容的 JavaScript 库。
