ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Hister数据生命周期全解析:存储占用、删除、备份与清理策略指南

Hister数据生命周期全解析:存储占用、删除、备份与清理策略指南 Hister数据生命周期全解析存储占用、删除、备份与清理策略指南【免费下载链接】histerYour own search engine项目地址: https://gitcode.com/GitHub_Trending/hi/histerHister 是一款自托管的私有搜索引擎Your own search engine帮你把浏览器历史、书签和本地文件变成可搜索的个人知识库。但数据存多了怎么办这篇文章带你一文读懂 Hister 数据生命周期管理每页约 100 KB 的存储占用、如何删除文档、如何备份与清理让磁盘空间不再失控 Hister 数据存储在哪里Hister 把所有核心数据集中存放在app.directory配置的主数据目录中结构清晰方便统一管理位置内容index.db和index_LANG.db可搜索的文档字段和全文索引data/html/按内容哈希寻址的压缩 HTML 预览data/favicon/按内容哈希寻址的压缩 favicondb.sqlite3用户、会话、搜索历史、爬虫任务、版本差异等vectors.sqlite3语义搜索的文本块和向量rules.json单用户模式下的规则和别名 两个值得知道的细节相同的 HTML 或 favicon 会共享同一个按内容寻址的文件天然去重语言检测可能创建多个index_LANG.db索引文件。存储占用有多大如何控制增长平均每存储一个页面约需 100 KB 磁盘空间。Hister 本身不设自动过期、不设文档数量上限也不设总磁盘配额——服务器管理员需要自行监控磁盘。有容易误会的两个配额参数其实都不是总量限制indexer.max_file_size_mb默认 1 MiB限制单个受监视文件或远程快照的大小不限制网页和总索引体积server.max_batch_body_size默认 40 MiB只限制单次批量请求的大小。控制存储增长的 5 个实用策略关闭 HTML 预览设置app.disable_previews: true并重启之后不再存储新的 HTML 预览纯文本仍可搜索使用跳过规则在采集前就排除低价值、隐私类 URL谨慎使用版本规则只对内容变化重要的页面开启版本记录定期删除过期文档用日期查询批量清理见下文监控磁盘盯紧数据目录、PostgreSQL 数据库和备份存储。配置项定义见 config/config.go。更新与版本重复提交会发生什么文档的身份是规范化 URL 所有者。Hister 会去掉 URL 片段和常见utm追踪参数因此同一页面的多次提交会归并为一条当前文档普通再次访问标题、文本、HTML 预览、元数据和更新时间被新值替换旧预览文件若不再被引用会自动移除命中版本规则Hister 额外在 SQL 数据库中保存文本和 HTML 差异记录可在预览界面重建历史内容。⚠️ 注意版本记录没有自动年龄或数量限制禁用版本规则只阻止新增差异不会删除已存的差异。如何删除 Hister 中的文档删除有两条路径在 Web 或终端界面逐条删除或用命令行客户端按查询批量删除。批量删除前务必先用 dry-run 预览影响范围# 先演练查看 90 天未更新的文档 hister delete --dry --verbose updated:90d # 确认后执行删除某域名的所有文档 hister delete domain:example.com命令默认要求确认加--yes可跳过。删除时真正移除了什么删除每条匹配的当前文档会移除✅ 全文索引中的可搜索文档✅ 其 HTML 预览和 favicon当没有其他文档引用相同内容时✅ 语义搜索的文本块和待处理嵌入任务✅ 同一 URL 和所有者的已打开结果历史关联软删除删除时不会移除什么❌ 源浏览器历史、书签、本地文件或远程页面❌ SQL 数据库中的版本差异记录❌ 持久化爬虫任务记录❌ 日志、导出的 JSON、文件系统快照和备份 如果要求彻底擦除管理员还需手动处理版本记录、任务元数据、日志、导出件和备份。Hister 目前不提供一条命令抹除所有副本。防止已删除文档复活删除后文档仍可能重新出现——如果某个活跃采集器再次提交它。删除前建议暂停浏览器扩展采集为该 URL 添加跳过规则将其从爬虫队列中移除调整受监视目录配置。对于受监视文件可设置delete_on_remove: true文件被删除时对应索引文档自动删除默认关闭。使用 hister cleanup 清理残留文件hister cleanup是内置的清理命令做两件事对账本地文档移除索引中超出配置目录范围、不再匹配filetypes、patterns、excludes或隐藏路径设置的本地文档清理无引用资产扫描存储的 HTML 和 favicon 文件删除不再被任何当前索引文档引用的文件比如被中断操作遗留的孤儿文件。hister cleanup它会报告检查、跳过和移除了多少条本地文档。注意 cleanup 只评估索引中已存的字段不遍历或读取本地文件也不会删除网页文档、版本差异、爬虫任务或搜索历史。相关实现见 server/indexer/maintenance.go。爬虫任务的生命周期管理持久化爬虫和浏览器导入会把队列状态保存在 SQL 数据库中以支持断点续传。已完成和中断的任务记录会一直保留以便检查需要时显式删除hister crawl list # 列出爬虫任务 hister crawl delete JOB_ID # 删除指定任务删除爬虫任务只移除其队列和状态记录不会删除该任务已索引的文档。Hister 数据备份的正确姿势完整备份整体备份数据目录完整的服务器备份流程是停止 Hister备份整个app.directory目录以及存放在别处的配置文件和tui.yamlPostgreSQL 部署还需要额外备份数据库受监视源文件需要单独的备份计划。hister export 能当备份吗hister export导出当前索引文档及调用者可预览内容适合迁移场景但不是完整备份——它不保留用户账户、搜索结果历史、爬虫任务、版本差异、规则、会话和大部分服务器配置。hister export⚠️ 备份文件可能包含完整页面文本、私人预览、本地文件内容甚至从页面中意外捕获的凭据务必像保护生产服务器一样保护备份。多用户环境下的所有权管理所有用户共享服务器存储和索引文件但每条当前文档都有所有者 ID。普通搜索只返回该用户自己的文档加上全局文档。普通用户只能删除自己的当前文档管理员删除请求没有自动的所有者限制在共享服务器上务必用user_id:ID约束查询用hister update QUERY --user-id ID可转移文档所有权而无需导出再导入hister delete-user USERNAME --purge会先移除预检发现的索引文档再软删除账户注意这不是完整数据擦除。数据生命周期速查表事件结果提交新 URL为该 URL 和所有者创建可搜索文档重复提交同一规范化 URL替换当前文档内容提交计数 1命中版本规则且内容变化额外存储差异记录受监视文件被修改更新其可搜索文档受监视文件被删除默认保留文档除非配置delete_on_remove: true删除文档移除当前索引记录及关联的当前资产运行hister cleanup移除越界的本地文档和无引用的 HTML、favicon 文件常见问题 FAQ问Hister 会自动清理过期数据吗不会。Hiter 不设自动过期、数量上限或磁盘配额删除和监控由管理员负责。问删除文档后数据彻底消失了吗当前索引记录、预览和无引用资产会被移除但版本差异、爬虫任务、日志、导出和备份中可能仍有副本彻底擦除需手动处理。问如何估算我的存储空间按平均每页约 100 KB 估算HTML 预览、大文档、版本差异和语义向量都会额外增加占用建议以实际数据目录大小为准。总结Hister 的数据生命周期设计是透明、手动、可控的存储所有数据集中在app.directory内容寻址天然去重️删除先--dry演练再执行删前暂停采集器防复活清理hister cleanup一键清除越界文档和孤儿文件备份停服后整体备份数据目录hister export只适合迁移。更多细节可参阅官方文档 contenteditable="false">【免费下载链接】histerYour own search engine项目地址: https://gitcode.com/GitHub_Trending/hi/hister创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表