// Package config holds all global configuration parameters for sese-engine. // config 包存放 sese-engine 的所有全局配置参数。 package config // Index / storage limits // 索引 / 存储相关限制常量 const ( MaxURLsPerKey = 11000 // 每个索引词最多保存的 URL 数量上限 MaxSameDomainPerKey = 20 // 同一域名在每个索引词下最多出现的次数 BigCleanThreshold = 10000000 // 内存中累计多少条索引后触发一次刷盘清理 MaxNewURLsPerKey = 10000 // 每次刷盘时,每个索引词最多写入的新 URL 数量上限 MinURLsForNewKey = 3 // 新索引词如果 URL 数少于该值则丢弃,不写入磁盘 ) // Crawler settings // 爬虫行为相关配置 const ( SpiderName = "loli_spider" // HTTP 请求的 User-Agent 标识 CrawlerCooldown = 3 // 同一主机相邻两次请求的最小间隔(秒),用于遵守 robots.txt 和避免被封 CrawlerWorkers = 22 // 爬虫并发 goroutine 数量 CrawlFocus = 0.7 // 域名集中度因子,越大越倾向在少量域名内深挖,越小越分散 MaxKeywordsPerPage = 250 // 单个页面最多提取的关键词数量 MaxEpoch = 100 // BFS 爬取的最大轮次上限 ExpectedProsperRatio = 0.6 // 队列中预期"繁荣"域名(高反向链接)的占比,用于调度决策 EntryURL = "https://zh.wikipedia.org/" // BFS 爬取的起始入口 URL ) // Search / ranking weights // 搜索结果排序权重配置 const ( UseOnlineSnippet = true // 是否在线抓取摘要(搜索时实时抓取页面补充摘要) OnlineSnippetTimeout = 3 // 在线抓取摘要的超时时间(秒) WeightDailyDecay = 0.996 // 页面年龄的时间衰减因子(每天乘以此系数) LanguageWeight = 0.5 // 语种匹配权重:与查询语种一致时加分 ConsecutiveKeyWeight = 1.3 // 连续关键词命中权重:多词连续出现时加分 BacklinkWeight = 1.0 // 反向链接权重:指向该 URL 的链接越多得分越高 SearchServerPort = 80 // 搜索服务和收获服务的统一 HTTP 监听端口 FlushIntervalSeconds = 60 // 定期刷盘间隔(秒):将内存索引批量写入磁盘 ) // Backlink computation // 反向链接(PageRank 类)计算相关常量 const ( BacklinkBaseline = 200000 // 反向链接得分归一化的除数(用于将原始链接数映射到 [0,1] 区间) ) // Storage path (relative to process working directory) // 存储根目录路径,相对于进程启动时的工作目录 const StoragePath = "./savedata" // Prometheus ports // 各模块 Prometheus 监控指标的 HTTP 端口 const ( PromPortCrawler = 14950 // 爬虫模块的 metrics 端口 PromPortBacklink = 14952 // 反向链接计算模块的 metrics 端口 PromPortSearch = 14953 // 搜索服务(含收获功能)模块的 metrics 端口 )