标签: lunrjs

lunr.js添加有关索引记录的数据

lunr.js中,您可以使用该.ref()方法添加唯一引用,但我找不到任何方法来添加有关该特定记录的额外数据/信息.这是不可能的,还是我错过了一些非常明显的东西.

我甚至尝试将对象分配给ref,但它将其保存为字符串.

编辑 现在我将所有内容保存为JSON字符串.ref(),这可以使用,但是真的很难使用.

javascript lunrjs

7
推荐指数
1
解决办法
1702
查看次数

分配后无法将文档添加到lunr索引(TypeError:idx.add不是函数)

我正在尝试创建一个lunr索引,并且能够在分配后为其添加文档.这是我正在尝试做的略微简化的版本:

var documents = [{
  'id': '1',
  'content': 'hello'
}, {
  'id': '2',
  'content': 'world'
}, {
  'id': '3',
  'content': '!'
}];

var idx = lunr(function() {
  this.ref('id');
  this.field('content');
});

for (var i = 0; i < documents.length; ++i) {
  idx.add(documents[i]);
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:TypeError:idx.add不是一个函数.我已经看过多个教程,说这是你应该怎么做的.

如果我在分配idx时添加文件,它只适用于我;

var documents = [{
  'id': '1',
  'content': 'hello'
}, {
  'id': '2',
  'content': 'world'
}, {
  'id': '3',
  'content': '!'
}];

var idx = lunr(function() {
  this.ref('id');
  this.field('content');

  for (var i = 0; i …
Run Code Online (Sandbox Code Playgroud)

javascript lunrjs

6
推荐指数
1
解决办法
1118
查看次数

为什么 lunr 不会索引 JSON 数组中的多个单词字符串?

Lunr 在查找大多数结果方面做得很好,但我不明白为什么它不会返回包含在 JSON 数组中的多字字符串。

这是一个示例 JSON 文件,用于了解我的数据的结构:

[{
    "title": "Rolling Loud",
    "date": "May 5–7",
    "location": "Miami, FL, USA",
    "rock-artists": [],
    "hh-artists": ["Kendrick Lamar", "Future"],
    "electronic-artists": [],
    "other-artists": []
}]
Run Code Online (Sandbox Code Playgroud)

当我搜索“Miami”和“Future”时,lunr 返回了节日。但是,在搜索“Kendrick”或“Kendrick Lamar”时,lunr 不会返回节日。

相关代码:

// initialize lunr
var idx = lunr(function () {
    this.field('id');
    this.field('title', { boost: 3 });
    this.field('date');
    this.field('location');
    this.field('rockArtists', { boost: 3 });
    this.field('hhArtists', { boost: 3 });
    this.field('electronicArtists', { boost: 3 });
    this.field('otherArtists', { boost: 3 });

    // add festivals to lunr
    for (var key in …
Run Code Online (Sandbox Code Playgroud)

javascript json lunrjs

0
推荐指数
1
解决办法
838
查看次数

标签 统计

javascript ×3

lunrjs ×3

json ×1