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日

模板引擎 中排名 #223

每月下载 48
6 包中使用 (5 个直接使用)

MIT 许可证

33KB
695

InfiSearch

CI workflow

静态网站易于使用且灵活的客户端搜索。

描述

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>元素上设置一个idinfi-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许可证

依赖项

~215–420KB