当前位置: 首页 > 科技观察

一个轻量级的JavaScript全文搜索库,轻松实现站内离线搜索

时间:2023-03-14 00:38:55 科技观察

介绍Lunr.js是一个轻量级的JavaScript浏览器全文搜索引擎。它索引JSON文档并提供一个简单的搜索界面来检索与文本查询匹配的文档。对于一些小型博客、开发者文档或Wiki网站,可以用来实现站内离线搜索:为什么要使用它?对于已经在客户端存储所有数据的Web应用程序,能够搜索到它也是有意义的客户端上的数据也是如此。这节省了在服务器上添加额外的压缩服务。本地搜索索引将更快,没有网络开销,并且即使没有网络连接也将保持可用。Github目前在Github上有6.6k星https://github.com/olivernn/lunr.js简单的例子varidx=lunr(function(){this.field('title')this.field('body')this.add({"title":"Twelfth-Night","body":"Ifmusicbethefoodoflove,playon:Givemeexcessofit...","author":"WilliamShakespeare","id":"1"})})然后像下面的idx。search("love")这将返回一个匹配文档列表,其中包含它们与搜索查询匹配程度的分数以及与该匹配相关的任何相关元数据:[{"ref":"1","score":0.3535533905932737,"matchData":{"metadata":{"love":{"body":{}}}}}]安装只需将lunr.js源文件包含在您要使用它的页面中。所有现代浏览器都支持Lunr.js。npminstalllunr特性(翻译过的还是不够准确)全文搜索支持14种语言查询时Boostterms或索引时全文搜索ScopesearchtospecificfieldsFuzzytermsmatchwithwildcardsoreditdistancepost搜索库FlexSearch.js,有兴趣的朋友也可以去看看介绍,在此提前祝大家工作顺利,万事如意,身体健康!