13 个版本
0.10.1 | 2023 年 5 月 16 日 |
---|---|
0.10.0 | 2022 年 12 月 30 日 |
0.9.1 | 2022 年 12 月 18 日 |
0.8.8 | 2022 年 11 月 22 日 |
#972 in 命令行工具
675KB
12K SLoC
InfiSearch
静态网站的简单且灵活的客户端搜索。
描述
InfiSearch 是一种为静态网站制作的客户端搜索解决方案,它依赖于由 CLI 工具生成的预构建索引。
特性
- 相关搜索 🔍: 拼写纠正,自动前缀搜索,布尔和短语查询,BM25 分数,邻近度分数,分类筛选等...
- 快速 🏇: 由 WebAssembly & WebWorker 驱动,实现高效的、非阻塞的查询处理。后端由持久缓存支持,以最小化网络请求,并采用多线程 CLI 索引器。
- 半可扩展,通过可选地将索引分割成小块实现,同时具备增量索引功能。
- 一个可定制且易于使用的 用户界面 🖥️
- 支持多种文件格式(
.json,csv,pdf,html
),以满足更多定制数据需求。
文档
该文档使用 InfiSearch 作为其搜索功能,可在 此处 找到。
预览
有关 InfiSearch 在更大的 Gutenberg 集合中的应用演示也可在此 处 查看。
入门
使用 InfiSearch 为静态网站搜索提供动力非常简单,只需一个包含您的 HTML 文件的文件夹——标题、标题和其他文本将自动提取。根据您的文件夹结构自动生成页面链接,也可以手动指定。
1. 安装索引器
安装索引器有几种选择
- 使用
npm install -g @infisearch/cli
安装全局 npm 包。 - 如果您已设置 rust / cargo 工具链,请运行
cargo install infisearch --vers 0.10.1
。 - 您还可以在此处获取cli二进制文件。
2. 运行索引器
按照以下方式运行可执行文件,将<source-folder-path>
替换为您的源html文件的相对或绝对文件夹路径,并将<output-folder-path>
替换为您希望生成的索引输出文件夹。
infisearch <source-folder-path> <output-folder-path>
3. 通过CDN安装搜索UI
将以下资源添加到您的页面中
<!-- Search UI script -->
<script src="https://cdn.jsdelivr.net.cn/gh/ang-zeyu/[email protected]/packages/search-ui/dist/search-ui.ascii.bundle.js"></script>
<!-- Search UI css, this provides some basic styling for the search dropdown, and can be omitted if desired -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/gh/ang-zeyu/[email protected]/packages/search-ui/dist/search-ui-light.css" />
如果您想托管文件,您可以在索引器生成的<output-folder-path>/assets
目录中找到它们,或在发布页面中。
4. UI初始化
给页面中的任何<input>
元素一个id
为infi-search
,然后调用
infisearch.init({
searcherOptions: {
// Output folder URL specified as the second parameter in the cli command
// URLs like '/output/' will work as well
url: 'http://<your-domain>/output/',
},
uiOptions: {
// Input folder URL specified as the first parameter in the cli command
// This is where the generated result preview links will point to,
// and where you host your site.
sourceFilesUrl: 'http://<your-domain>/source/',
}
});
许可证
本项目遵循MIT许可证。
依赖项
~27–38MB
~460K SLoC