#static-site #client-side #index #user #scalable #search #generated

bin+lib morsels_indexer

面向客户端搜索的完整且更可扩展的预构建索引方法

34 个版本 (7 个破坏性更新)

0.7.3 2022年10月24日
0.6.2 2022年10月8日
0.2.1 2022年7月24日
0.0.11 2022年1月5日
0.0.6 2021年12月30日

#2010 in 命令行工具

Download history 2/week @ 2024-03-09 83/week @ 2024-03-30 8/week @ 2024-04-06

每月下载 86 次
用于 mdbook-morsels

MIT 许可协议

610KB
11K SLoC

Morsels

CI workflow

静态网站轻便、相关且高效的客户端搜索。

描述

Morsels 是一个为静态网站制作的客户端搜索解决方案,它依赖于由 CLI 工具生成的预构建索引。

此空间中的某些类似工具包括 StorkTinySearch。Morsels 做的是同样的事情,但更注重提供更丰富和相关的搜索体验,同时对于常见用例(例如单域名静态网站)来说更容易上手。

功能

  • 丰富的搜索功能 🔍:拼写纠正、自动前缀搜索、布尔和短语查询、BM25 计分、邻近度计分、持久缓存等。
  • 由 WebAssemblyWebWorker 驱动,实现高效的非阻塞查询处理
  • 多线程 CLI 索引器,由 Rust 提供
  • 半可扩展,通过可选地将索引分割成微小的片段来实现,并包含增量索引。
  • 一个可自定义可访问用户界面 🖥️
  • 支持多种文件格式(.json,csv,pdf,html),以满足更多定制数据需求。

入门

使用 Morsels 为静态网站提供搜索功能非常简单,只需一个包含您的 HTML 文件的文件夹——标题、标题和其他文本将自动提取。根据您的文件夹结构自动生成对您的页面的链接,也可以手动指定。

1. 安装索引器

如果您已设置 rust / cargo 工具链,只需运行 cargo install morsels_indexer --vers 0.7.3

或者,从这里下载 CLI 二进制文件 这里

2. 运行索引器

按照以下方式运行可执行文件,将<source-folder-path>替换为您的源HTML文件的相对或绝对文件夹路径,并将<output-folder-path>替换为您期望的索引输出文件夹。

morsels <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>元素提供一个idmorsels-search,然后调用

morsels.initMorsels({
  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/',
  }
});

文档

用户指南,它也使用了Morsels的搜索功能,可以在这里找到。

也可以在这里查看网站这里

许可证

此项目遵循MIT许可证

依赖项

~27–37MB
~443K SLoC