IT科技类资讯

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

时间:2010-12-5 17:23:32  作者:IT科技   来源:域名  查看:  评论:0
内容摘要:介绍Lunr.js是个用于浏览器的轻量级 JavaScript 全文搜索引擎。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询比较匹配的文档对于一些小型的博客、开发者文档或 Wiki

 介绍

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,感兴趣的内离小伙伴也可以去看一看介绍,在这里也提前祝大家工作顺利,个轻万事如意,源码库身体健康!

copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap