lunr模块添加索引提示 Uncaught TypeError: index.add is not a function

2019-05-12 11:40:00
admin
原创
2012

electron应用中添加了lunr搜索库,但在应用中却提示 Uncaught TypeError: index.add is not a function。如下:

image.png

看了半天代码也没找出哪里出了问题,最后在stackoverflow、github上发现了问题所在,原因是lunr从2.x版本开始做了一些修改变动,并且在官网上也确实找到了相应的说明(抓狂ing……)!

Lunr 0.x/1.x和2.x之间的最大差异是Lunr索引现在是不可变的。一旦构建它们,就无法在索引中添加,更新或删除任何文档。必须在定义功能退出之前添加所有文档。

以前将文档添加到索引将如下所示:

var idx = lunr(function () {
  this.ref('id')
  this.field('text')
})
idx.add({ id: 1, text: 'hello' })

在2.x中,文档在配置函数结束之前添加:

var idx = lunr(function () {
  this.ref('id')
  this.field('text')
  
  this.add({ id: 1, text: 'hello' })
})

官方说明: https://lunrjs.com/guides/upgrading.html

版权声明

版权声明:本站原创文章,转载请注明作者和出处。

本站点采用  知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议    

评论列表
noOne 2019-09-24 21:35:49
遇到同样的问题了……T.T 纠结了好久。。。
admin 2019-09-25 18:27:32
解决了没有啊?
1/1
发表评论
评论通过审核后显示。