龙空技术网

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

爱分享Coder 1471

前言:

现在大家对“js实现搜索”大约比较看重,姐妹们都需要知道一些“js实现搜索”的相关文章。那么小编同时在网上收集了一些有关“js实现搜索””的相关内容,希望你们能喜欢,朋友们快快来学习一下吧!


介绍

Lunr.js是个用于浏览器的轻量级 JavaScript 全文搜索引擎。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档对于一些小型的博客、开发者文档或 Wiki 网站来说,完全可以通过它实现站内离线搜索:




为什么使用它?

对于已经将所有数据存储在客户端中的Web应用程序,也能够在客户端上搜索该数据也是很有意义的。这样可以节省在服务器上添加额外的压缩服务。本地搜索索引将更快,没有网络开销,并且即使没有网络连接也将保持可用。

Github

目前Github上star数6.6k

简单示例
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,感兴趣的小伙伴也可以去看一看介绍,在这里也提前祝大家新年快乐,万事如意,身体健康!

标签: #js实现搜索 #js怎么实现搜索功能 #js文本搜索