用 js 撸了一个嵌入式的搜索引擎

目前个人打算用于 electron 做的知识管理软件的文章搜索。

主要基于
1. rocksDB
2. roaring(bitmap)
3. jiebanode(分词)
4. rxjs

https://github.com/yuankui/loosenjs
(Lucene 谐音,我是不是很无耻。。)

目前还在开发中,但是架子基本完成。

1. 支持全文搜索
2. 支持整数的过滤,排序
3. 高度可扩展(有兴趣自己看代码)

在开发之前,我也调研过其他的库。比如
lunr:大致看了下,他好像全是基于内存的,序列化保存到磁盘的成本有点?相比之下,loosenjs 是基于 rocksdb,磁盘+内存,支持增量更新。

不知道大家有兴趣,如果有兴趣,我后面可以准备写一个系列文章,来介绍下原理和该库的正确打开方式。

相关文章

12 thoughts on “用 js 撸了一个嵌入式的搜索引擎

  1. @yuankui 召回这里也许可以添加其他维度的召回逻辑,比如 faiss 召回、精准召回等等,这样几种召回逻辑可以互为补充,提升召回结果;

  2. @icu996 遇到大佬了,感谢大佬指点。
    我其实没搞过搜索引擎,faiss,精准召回都没听过,回头看下相关资料。
    我理解可以把找召回我单独抽象成一个接口,然后运行时根据参数,动态选择一个合适的召回实现,然后进行召回。

发表评论

电子邮件地址不会被公开。 必填项已用*标注