lunr.js
1.0.0
有点像 Solr,但小得多,而且没有那么明亮。
可以使用以下命令创建一个非常简单的搜索索引:
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" : { }
}
}
}
}
]
提供 API 文档以及完整的工作示例。
Lunr.js 是一个在浏览器中使用的小型全文搜索库。它索引 JSON 文档并提供简单的搜索界面,用于检索与文本查询最匹配的文档。
对于所有数据都已位于客户端的 Web 应用程序,能够在客户端搜索该数据也很有意义。它节省了在服务器上添加额外的、压缩的服务的时间。本地搜索索引将更快,没有网络开销,并且即使没有网络连接也将保持可用和可用。
只需将 lunr.js 源文件包含在您要使用它的页面中即可。所有现代浏览器都支持 Lunr.js。
或者,也可以使用 npm 包npm install lunr
。
不支持 ES5 的浏览器需要 JavaScript shim 才能使 Lunr 工作。您可以使用 Augment.js、ES5-Shim 或任何修补旧浏览器的库来提供 ES5 兼容的 JavaScript 环境。
请参阅CONTRIBUTING.md
文件。