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

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

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 国际许可协议  

发表评论
评论通过审核后显示。
关注【程序员专区】

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

热门文章
近期留言

裔浪2019-09-22

站长说的很对,badao.net前来学习了!

C2019-08-01

总结的非常好,不过很可惜没有什么新形式的CMS出现,比如响应式设计,手机

giao2019-07-11

厉害

橘子园2019-04-29

网站挺不错的,以后想要学习服务器相关的知识可以来这逛逛,橘子园https://j

情感咨询2019-04-17

有用,感谢分享