相关动态
使用 JavaScript 工具在网站上实施搜索
2024-11-10 17:21

搜索是任何网站或应用程序的必备工具。一个简单的搜索小部件可以让用户梳理您的整个博客。或者允许客户浏览您的库存。建立自定义照片库?添加搜索框。各种第三方供应商都提供网站搜索功能。或者,您可以采用 DIY 方法并构建整个后端来应答搜索 API 调用。

使用 Javas<em></em>cript 工具在网站上实施搜索

Lunr.js 通过 Javascript 在客户端运行。Lunr 不会向后端发送调用,而是在客户端本身构建的索引中查找搜索词。这避免了浏览器和服务器之间昂贵的来回网络调用。网上有很多教程可以展示 Lunr 的网站搜索功能。但是您实际上可以使用 Lunr.js 来搜索任何 Javascript 对象数组。

在本指南中,我为有史以来排名前 100 的书籍建立了搜索索引 。之后,我将向您展示如何预先构建索引以加快索引速度。我还将向您展示如何充分利用 Lunr 的搜索选项。

创建一个名为 的新 HTML 页面。我在整个指南中都使用这个文件。在 顶部,调用主 Lunr JS 库。

接下来,创建一个名为 的变量。此变量将包含主数据集的 JSON 化字符串。在标签内 定义变量。

我需要将此数据解析为 JSON,以便 Javascript 可以处理它。

为确保加载过程成功,我将遍历 JSON 数据集并打印每个条目。您应该在控制台日志中看到以下内容。

建立搜索索引

现在我将在使用该函数调用的变量中构建搜索索引。这一步需要三件事:

我现在可以调用该函数来构建搜索索引。

如果浏览器的控制台日志中没有错误,则索引构建成功。接下来,我将带它去试驾。

首先,我想看看有没有包含这个词的文件:

我应该在控制台日志中看到以下内容:

好吧。所以有一个文档与搜索查询匹配。但是如何显示呢?

正如我之前提到的,Lunr 返回匹配文档的引用。但不是文档本身。意思是如果我打印,我会看到以下内容。

这里包含一个具有单个元素的对象数组。该元素的字段包含一个值。这是因为我使用该字段作为参考。要显示完整的文档,我需要加倍努力。

在上面的代码中,我使用函数迭代结果。然后我在结果集中查找所有引用的文档。所以包含完整的搜索结果。

现在,我重复搜索关键字。代码如下。

结果是:

就这么简单!添加对任何 JSON 对象数组的搜索只需要五个简单的步骤:

您可能已经注意到,在每次页面刷新时构建搜索索引都需要一些时间。时间现在可能难以察觉。但它不会是在远程服务器上的时候。Lunr 允许 预先构建搜索索引 以使搜索更具响应性。

有两种预构建索引的方法。第一种方法是在建立索引后对其进行序列化。由于我已经在教程中创建了索引,所以我使用这种方法。

然后我会用序列化的字符串替换。索引加载命令也会改变。

    以上就是本篇文章【使用 JavaScript 工具在网站上实施搜索】的全部内容了,欢迎阅览 ! 文章地址:http://sjzytwl.xhstdz.com/news/2180.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
苹果手机怎么恢复备份?详细攻略为你整理好了!云备份怎么恢复到手机「苹果手机怎么恢复备份?详细攻略为你整理好了!」
随着智能手机和互联网的普及,手机中存储的个人信息、照片、视频、聊天记录等数据会变得越来越多。一旦手机丢失、损坏或系统出现
李亚鹏正式息影 投资50亿丽江当老板金立手机老板「李亚鹏正式息影 投资50亿丽江当老板」
  华西都市报4月28日讯 昨日,李亚鹏打造的“云南省文化产业试验园”项目北京签约“我每年只选一部戏来拍,这已经严格遵循了10
怎样采用比特币挖矿?手机挖矿「怎样采用比特币挖矿?」
好吧,废话不多说了,其实比特币 - Bitcoin 出现时间已经很久了,不过对于新手来说,还是需要讲解一下的。关于比特币。FORECE 在
定了!苹果 2022 秋季发布会定档,9月8日见iPhone 14 来了?苹果手机发布会「定了!苹果 2022 秋季发布会定档,9月8日见iPhone 14 来了?」
又是九月,丰收的季节,今年的苹果又该熟了.......正如此前传闻那样,今晚苹果正式向外界发送了邀请函,宣布将于当地时间 9月7日
苹果手机微信闪退怎么回事苹果手机闪退是什么原因「苹果手机微信闪退怎么回事」
  品牌型号:iPhone12  系统版本:IOS14  苹果手机如果出现微信闪退的状况,首先我们得寻找原因,接下来小编就带着你们来
ZArchiver手机解压缩工具chm文件手机怎么打开「ZArchiver手机解压缩工具」
ZArchiver是一款功能强大的解压缩工具APP,可用于解压文件或压缩文件,软件支持多种文件格式的压缩和解压缩,包括ZIP、RAR、7Z、
【原】一部手机最长能用几年?主要有三个因素,决定了手机的寿命什么手机寿命最长「【原】一部手机最长能用几年?主要有三个因素,决定了手机的寿命」
一部手机最长能用几年?主要取决于以下这几个重要因素,才能决定手机的使用寿命。在当今社会,智能手机已经成为我们生活中不可或
iQOO 3评测:旗舰机还能在哪提升?这部手机给了答案机械手机「iQOO 3评测:旗舰机还能在哪提升?这部手机给了答案」
  文/晓光 于泽 瑞豪 视频/贾乾 图/苏航  从去年成立至今,iQOO这品牌发布了不到十款产品,并成功在互联网渠道占据了自己的
2013-4-7发布华为模拟器eNSP月度更新版(V2.0)支持全系列AR路由器模拟华为手机模拟器「2013-4-7发布华为模拟器eNSP月度更新版(V2.0)支持全系列AR路由器模拟」
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.ne
ADB驱动源码深度解析,从原理探究到实践应用android手机驱动「ADB驱动源码深度解析,从原理探究到实践应用」
摘要:,,本文深入解析ADB(Android Debug Bridge)驱动源码,从原理到实践全面阐述。文章首先介绍了ADB的基本原理和主要功能,
相关文章