Lunr.js 索引?
Lunr.js indexing?
我最近开始了一个网络项目,我必须在我的网站上实现一个搜索按钮,但在客户端。所以我找到了lunr.js
。我的问题是..如何索引页面?是的,我确实知道他们网站上写的演习..不过,还不够清楚..我在哪里实施该脚本? (见下文)我用什么??
var index = lunr(function () {
this.field('title', {boost: 10})
this.field('body')
this.ref('id')
})
index.add({
id: 1,
title: 'Foo',
body: 'Foo foo foo!'
})
index.add({
id: 2,
title: 'Bar',
body: 'Bar bar bar!'
})
我应该把这段代码放在哪里?我显然不知道。
欢迎来到 Stack Overflow!
您的代码片段创建了一个索引,并将文档添加到该索引。索引是您执行搜索的对象,它以一种可以进行全文搜索的方式存储您添加的文档。
您应该将该代码(但添加您要搜索的文档)放在您希望提供搜索功能的每个页面上。
然后,您需要提供某种 UI 以允许用户执行搜索:
<input type="search" id="search-input" placeholder="Search">
现在,只要用户在搜索框中键入内容,您就希望对 lunr 执行搜索:
var searchInput = document.querySelector('#search-input')
searchInput.addEventListener('keyup', function () {
var results = index.search(searchInput.value)
// do something with the results (maybe display them)
})
以上内容非常简单,但希望足以让您入门。您可以在 lunr docs page
上看到另一个正在使用的示例
我最近开始了一个网络项目,我必须在我的网站上实现一个搜索按钮,但在客户端。所以我找到了lunr.js
。我的问题是..如何索引页面?是的,我确实知道他们网站上写的演习..不过,还不够清楚..我在哪里实施该脚本? (见下文)我用什么??
var index = lunr(function () {
this.field('title', {boost: 10})
this.field('body')
this.ref('id')
})
index.add({
id: 1,
title: 'Foo',
body: 'Foo foo foo!'
})
index.add({
id: 2,
title: 'Bar',
body: 'Bar bar bar!'
})
我应该把这段代码放在哪里?我显然不知道。
欢迎来到 Stack Overflow!
您的代码片段创建了一个索引,并将文档添加到该索引。索引是您执行搜索的对象,它以一种可以进行全文搜索的方式存储您添加的文档。
您应该将该代码(但添加您要搜索的文档)放在您希望提供搜索功能的每个页面上。
然后,您需要提供某种 UI 以允许用户执行搜索:
<input type="search" id="search-input" placeholder="Search">
现在,只要用户在搜索框中键入内容,您就希望对 lunr 执行搜索:
var searchInput = document.querySelector('#search-input')
searchInput.addEventListener('keyup', function () {
var results = index.search(searchInput.value)
// do something with the results (maybe display them)
})
以上内容非常简单,但希望足以让您入门。您可以在 lunr docs page
上看到另一个正在使用的示例