284 lines
9.9 KiB
HTML
284 lines
9.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=1280, height=720">
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
|
|
<style>
|
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
body { font-family: 'Inter', -apple-system, sans-serif; -webkit-font-smoothing: antialiased; }
|
|
.slide {
|
|
width: 1280px;
|
|
height: 720px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 64px 80px;
|
|
background: linear-gradient(160deg, #F4F5FA 0%, #ECEEF5 42%, #F2F3F8 100%);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.slide::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: -35%;
|
|
right: -20%;
|
|
width: 68%;
|
|
height: 88%;
|
|
background: radial-gradient(ellipse, rgba(10,132,255,0.08) 0%, transparent 62%);
|
|
pointer-events: none;
|
|
}
|
|
.glass {
|
|
background: rgba(255,255,255,0.62);
|
|
border: 1px solid rgba(255,255,255,0.76);
|
|
border-radius: 24px;
|
|
backdrop-filter: blur(36px);
|
|
-webkit-backdrop-filter: blur(36px);
|
|
box-shadow: 0 8px 30px rgba(0,0,0,0.04), 0 0 0 1px rgba(255,255,255,0.85) inset;
|
|
}
|
|
.glass-strong {
|
|
background: rgba(255,255,255,0.72);
|
|
border: 1px solid rgba(255,255,255,0.8);
|
|
border-radius: 30px;
|
|
backdrop-filter: blur(50px);
|
|
-webkit-backdrop-filter: blur(50px);
|
|
box-shadow: 0 12px 40px rgba(0,0,0,0.06), 0 0 0 1px rgba(255,255,255,0.9) inset;
|
|
}
|
|
.kicker {
|
|
font-size: 13px;
|
|
letter-spacing: 0.18em;
|
|
text-transform: uppercase;
|
|
color: rgba(0,0,0,0.45);
|
|
font-weight: 700;
|
|
}
|
|
h1 {
|
|
font-size: 52px;
|
|
letter-spacing: -0.03em;
|
|
color: #1D1D1F;
|
|
font-weight: 800;
|
|
}
|
|
h2 {
|
|
font-size: 18px;
|
|
letter-spacing: 0.12em;
|
|
text-transform: uppercase;
|
|
color: #007AFF;
|
|
font-weight: 800;
|
|
margin-bottom: 22px;
|
|
}
|
|
.sub {
|
|
color: #6E6E73;
|
|
font-size: 22px;
|
|
font-weight: 600;
|
|
line-height: 1.45;
|
|
}
|
|
.pill {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
font-size: 14px;
|
|
font-weight: 700;
|
|
color: #0B5ED7;
|
|
padding: 10px 14px;
|
|
border-radius: 999px;
|
|
background: rgba(0,122,255,0.10);
|
|
border: 1px solid rgba(0,122,255,0.16);
|
|
}
|
|
.row { display: flex; gap: 24px; align-items: stretch; }
|
|
.col { display: flex; flex-direction: column; gap: 14px; }
|
|
.card {
|
|
padding: 22px 24px;
|
|
border-radius: 18px;
|
|
background: rgba(255,255,255,0.58);
|
|
border: 1px solid rgba(255,255,255,0.76);
|
|
}
|
|
.card .t {
|
|
font-size: 14px;
|
|
color: rgba(0,0,0,0.48);
|
|
font-weight: 800;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
margin-bottom: 8px;
|
|
}
|
|
.card .v {
|
|
font-size: 24px;
|
|
color: #1D1D1F;
|
|
font-weight: 800;
|
|
letter-spacing: -0.02em;
|
|
}
|
|
.list p {
|
|
font-size: 24px;
|
|
line-height: 1.68;
|
|
color: #1D1D1F;
|
|
}
|
|
.list span {
|
|
color: #8E8E93;
|
|
font-size: 20px;
|
|
}
|
|
.small {
|
|
font-size: 17px;
|
|
line-height: 1.7;
|
|
color: rgba(0,0,0,0.64);
|
|
}
|
|
.flow {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 16px;
|
|
}
|
|
.flow .node {
|
|
padding: 18px 18px;
|
|
border-radius: 16px;
|
|
background: rgba(255,255,255,0.62);
|
|
border: 1px solid rgba(255,255,255,0.78);
|
|
}
|
|
.flow .node h3 {
|
|
font-size: 18px;
|
|
color: #1D1D1F;
|
|
margin-bottom: 6px;
|
|
}
|
|
.flow .node p {
|
|
font-size: 15px;
|
|
color: #6E6E73;
|
|
line-height: 1.55;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<!-- Slide 1 封面 -->
|
|
<div class="slide" id="slide-1" style="justify-content:center; align-items:center;">
|
|
<div class="glass-strong" style="width: 940px; padding: 58px 70px; text-align:center;">
|
|
<div class="kicker" style="margin-bottom: 12px;">Shensheshou · NAS MongoDB</div>
|
|
<h1 style="margin-bottom: 16px;">神射手:用户画像极速检索</h1>
|
|
<p class="sub">聚焦“完整手机号 + 多源画像 + 秒级命中”</p>
|
|
<div style="display:flex; justify-content:center; gap:12px; margin-top: 28px;">
|
|
<span class="pill">🎯 查询提速</span>
|
|
<span class="pill">🔐 数据完整</span>
|
|
<span class="pill">📊 画像统一</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Slide 2 背景与目标 -->
|
|
<div class="slide" id="slide-2" style="justify-content:center;">
|
|
<h2>Background & Goal</h2>
|
|
<div class="row">
|
|
<div class="glass-strong col" style="flex: 1; padding: 30px 36px;">
|
|
<div class="list">
|
|
<p>① 现状问题:<span>跨库查询慢、命中字段不统一</span></p>
|
|
<p>② 核心诉求:<span>姓名/地址/手机号/QQ 一次拉全</span></p>
|
|
<p>③ 输出要求:<span>手机号必须完整,不打码</span></p>
|
|
<p>④ 目标结果:<span>NAS 端可稳定做快速画像检索</span></p>
|
|
</div>
|
|
</div>
|
|
<div class="glass col" style="width: 360px; padding: 22px;">
|
|
<div class="card">
|
|
<div class="t">Query Focus</div>
|
|
<div class="v">人、号、地址、关联账号</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="t">Success Criteria</div>
|
|
<div class="v">快 + 全 + 稳</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="t">Deployment</div>
|
|
<div class="v">远程 NAS MongoDB</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Slide 3 方案架构 -->
|
|
<div class="slide" id="slide-3" style="justify-content:center;">
|
|
<h2>Solution Architecture</h2>
|
|
<div class="glass-strong" style="padding: 30px 34px;">
|
|
<div class="flow">
|
|
<div class="node">
|
|
<h3>数据源层</h3>
|
|
<p>KR、KR_京东、KR_腾讯、KR_微博、KR_顺丰、KR_酒店、KR_户口等画像相关库。</p>
|
|
</div>
|
|
<div class="node">
|
|
<h3>索引层</h3>
|
|
<p>按 phone/mobile、name、email、qq、idcard、province+city 等核心字段建索引。</p>
|
|
</div>
|
|
<div class="node">
|
|
<h3>查询层</h3>
|
|
<p>统一检索脚本,优先主键字段命中,再回填扩展画像字段。</p>
|
|
</div>
|
|
</div>
|
|
<div class="glass" style="margin-top: 16px; padding: 18px 22px;">
|
|
<div class="small">策略关键词:单字段精准索引 + 组合索引补充 + 大表后台建索引,减少线上阻塞。</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Slide 4 已执行动作 -->
|
|
<div class="slide" id="slide-4" style="justify-content:center;">
|
|
<h2>Executed Actions</h2>
|
|
<div class="row">
|
|
<div class="glass-strong" style="flex:1; padding: 30px 36px;">
|
|
<div class="list">
|
|
<p>① 新建脚本:<span>nas_mongo_create_indexes.py</span></p>
|
|
<p>② 覆盖字段:<span>手机号、姓名、地址、QQ、证件、评分等</span></p>
|
|
<p>③ 输出规范:<span>query_jd_xiamen_nas.py 改为完整手机号</span></p>
|
|
<p>④ 文档沉淀:<span>快速查询与索引优化手册已更新</span></p>
|
|
</div>
|
|
</div>
|
|
<div class="glass col" style="width: 360px; padding: 22px;">
|
|
<div class="card">
|
|
<div class="t">Main Script</div>
|
|
<div class="v">Index Automation</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="t">Query Policy</div>
|
|
<div class="v">Full Phone Output</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="t">Scope</div>
|
|
<div class="v">用户资产数字化画像</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Slide 5 效果与价值 -->
|
|
<div class="slide" id="slide-5" style="justify-content:center;">
|
|
<h2>Result & Value</h2>
|
|
<div class="row">
|
|
<div class="glass-strong col" style="flex:1; padding: 30px 36px;">
|
|
<div class="list">
|
|
<p>① 查询效率:<span>从“全库碰运气”变成“索引定向命中”</span></p>
|
|
<p>② 输出质量:<span>关键标识完整,便于画像聚合与复核</span></p>
|
|
<p>③ 复用能力:<span>脚本化流程,可重复用于后续批量检索</span></p>
|
|
<p>④ 运维稳定:<span>大表索引后台构建,降低业务影响</span></p>
|
|
</div>
|
|
<div class="glass" style="padding: 16px 20px;">
|
|
<div class="small">结论:神射手已具备“快查 + 全量字段 + 可复用”的基础能力。</div>
|
|
</div>
|
|
</div>
|
|
<div class="glass" style="width: 360px; padding: 22px;">
|
|
<div class="card"><div class="t">Speed</div><div class="v">快速命中</div></div>
|
|
<div class="card"><div class="t">Completeness</div><div class="v">手机号不打码</div></div>
|
|
<div class="card"><div class="t">Standardization</div><div class="v">统一查询规范</div></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Slide 6 下一步 -->
|
|
<div class="slide" id="slide-6" style="justify-content:center; align-items:center;">
|
|
<div class="glass-strong" style="width: 980px; padding: 48px 58px;">
|
|
<div style="display:flex; justify-content:space-between; align-items:center; margin-bottom: 12px;">
|
|
<span class="kicker">Next Step</span>
|
|
<span class="pill">🚀 持续优化</span>
|
|
</div>
|
|
<h1 style="font-size: 44px; margin-bottom: 14px;">下一步三件事</h1>
|
|
<div class="list" style="margin-bottom: 16px;">
|
|
<p>① 监控索引构建进度:<span>按库逐步验证命中率与耗时</span></p>
|
|
<p>② 增加查询模板:<span>手机号、姓名、证件号三类标准入口</span></p>
|
|
<p>③ 做画像报告化:<span>输出固定结构,直接用于业务决策</span></p>
|
|
</div>
|
|
<div class="glass" style="padding: 16px 20px;">
|
|
<div class="small">目标:让“找人、识别、聚合画像”成为低门槛、可规模化的标准动作。</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|