0

我最近开始了一个网络项目,我必须在我的网站上实现一个搜索按钮,但在客户端。于是我发现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!'
})

我把这段代码放在哪里?我显然不知道。

4

1 回答 1

0

欢迎来到堆栈溢出!

您拥有的代码段创建一个索引,并将文档添加到该索引。索引是您执行搜索的对象,它以使全文搜索成为可能的方式存储您添加的文档。

您应该将该代码(但添加您要搜索的文档)放在您希望提供搜索功能的每个页面上。

然后,您需要提供某种 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 文档页面上看到另一个正在使用的示例

于 2016-07-20T20:41:27.373 回答