index-search

1.1.0 • Public • Published

index-search

单字字典倒排式关联索引的静态资源搜索方案。

曾经我做过RavelloH/RPageSearch,也是静态站的全文搜索引擎,实现方式是先把所有资源拉取到本地,由js进行搜索。优点是只需要静态资源托管,不需要服务器参与运算,但是效率太低,内容多了之后文件大小爆炸。

这个项目是一个改进版,将每个字作为键来索引文章,会生成<全文中字的种类>个json,每个json中记录某个字在某篇文章的某个部分出现,前端只需要请求<搜索词长度>次即可进行搜索,而不用获取全文。

尤其适合中文这种字种多的语言,对纯英文用处不大。主要对“不是每篇文章都能用到”的字有效果,且作为索引,只能告诉你哪个内容中有你输入的搜索词,要获取那篇文章的全文需要再自行请求。

典型情况下,中文新闻语料库RavelloH/EverydayNews的data文件夹大小为1,738,276字节(1.65MB)时,会生成25,184,701(24.0MB)字节的索引,包含3773个json文件,平均每个文件的大小为6674字节(6.51KB),需要请求的文件大小降低至原来的(字数*6674)/1738276。典型赋值,字数为2-10时,降低至原来的0.0076-0.0383倍,提升高达2610%-13157%,效果显著。

Readme

Keywords

Package Sidebar

Install

npm i index-search

Weekly Downloads

268

Version

1.1.0

License

GPL-3.0-or-later

Unpacked Size

40.7 kB

Total Files

5

Last publish

Collaborators

  • ravelloh