相关动态
使用 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://mip.xhstdz.com/ , 查看更多   
最新文章
电信卡怎么异地销户 销户流程是什么手机卡停机多久会被注销「电信卡怎么异地销户 销户流程是什么」
随着手机普及率越来越高,人们因为更工作、学习等各种原因更换手机号的频率也是越来越高,对于不用的手机号我们都需要进行销户,
梦金园去年净利同比降17.8%至1.89亿元 海外增700%
《科创板日报》3月29日讯(记者 徐赐豪)近期,黄金行情不断上涨,引发资本市场高度关注,黄金相关的企业也备受瞩目。昨晚公布其
怎么找回qq密码qq密码忘记了手机号也换了怎么办「怎么找回qq密码」
在日常的数字生活中,QQ作为我们常用的通讯工具之一,其账号安全显得尤为重要。然而,偶尔我们可能会遇到忘记密码的尴尬情况。别
大屏智能千元机 酷派5860价格欲破1100元酷派5860手机「大屏智能千元机 酷派5860价格欲破1100元」
(中关村在线手机频道行情报道)2012年3月6日,酷派5860(行货)在“ZOL商城”促销,最新报价为1181元,含发票。本款的配件为:
计步器怎么删掉手机自动计步器「计步器怎么删掉」
计步器作为现代智能设备的一部分,已经成为许多人日常健康管理的得力助手。然而,在某些情况下,用户可能需要删除计步器中的数据
三星今天上午宣布Note7爆炸原因 已导致损失超10亿美元手机爆炸「三星今天上午宣布Note7爆炸原因 已导致损失超10亿美元」
2016年8月, Galaxy Note 7智能手机在上市后,“引爆”了全球对于手机市场安全问题的关注,上百起电池燃烧事故让三星频繁陷入舆
CBA八强出炉!下半区比上半区惨烈,9-12最终排名确定!
在附加赛全部结束之后,八强的对阵已经全部出来了。其中上半区:广厦-青岛、辽宁-新疆。广厦和青岛的比赛,大家肯定都看好广厦。
财知道 | 爆卖上百万件!巴掌大的小东西,是年轻人的“到此一游”
或是四四方方、圆圆造型,或是形态各异,一块硬板刻着各式内容,再配上一块方寸大小的磁力贴片,曾被人吐槽“又土又贵”的冰箱贴
Z趋势:4G高速时代 机会与挑战并存4g手机价格「Z趋势:4G高速时代 机会与挑战并存」
2013年12月4日下午,工业和信息化部向中国联通、中国电信、中国移动正式发放了第四代移动通信业务牌照(即4G牌照),三家均获得T
华为手机工程模式怎么进入(华为手机工程模式怎么进入桌面)手机工程模式「华为手机工程模式怎么进入(华为手机工程模式怎么进入桌面)」
华为手机工程模式怎么进入相信很多小伙伴还不知道,现在让我们一起来看看吧!华为手机工程模式怎么进入(华为手机工程模式怎么进入