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

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

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
发表评论
评论通过审核后显示。
关注【程序员专区】

扫一扫,分享更多技术干货

热门文章
近期留言

米醋儿网2020-11-27

很不错

ys2020-11-21

urllib这个库应该用的少了吧,现在用requests了吧

6662020-11-03

我跟你的一样。你现在解决了吗?求助?

6662020-11-03

我跟你一样。还是没声音。

前端博客 mybj123.com2020-06-03

写的不错,这回懂得了