58 lines
2.9 KiB
Go
58 lines
2.9 KiB
Go
// 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 端口
|
|
)
|