91jav 搜索功能 PRD 阅读版,来源文件:docs/91jav搜索功能PRD草案.md。
#91jav 搜索功能 PRD 草案
版本: v0.14
状态: 产品方案草案
适用范围: 91jav 当前上线 Demo 到本次搜索迭代完整交付能力
页面定位: search.html?q=关键词,搜索结果页为 noindex,nofollow 用户功能页
#0. 文档阅读说明
这份文档面向产品、设计、前端、后端共同评审。
本文不定义具体接口字段和技术协议,但会明确:
- 用户场景是什么。
- 页面应该展示什么。
- 搜索联想什么时候触发。
- 输入词如何识别。
- 多结果、多歧义、无结果怎么处理。
- 后台需要提供哪些功能能力。
推荐阅读路径:
- Leader / 评审先看
0.1 评审摘要、1 产品定位、15 本次迭代范围与边界。 - 产品 / 设计重点看搜索场景、PC/H5 交互、联想结构、结果页形态、无结果兜底。
- 前端 / 后端重点看意图识别、匹配规则、筛选排序分页、埋点、广告和风控边界。
开发拆任务时,可按以下模块拆:
- 搜索入口与搜索面板。
- 搜索联想。
- 搜索意图识别。
- 搜索结果页。
- 搜索词映射管理。
- 用户搜索行为统计。
- 广告策略接入。
#0.1 评审摘要
#本文口径
本文的“本次迭代”指本 PRD 推演出的搜索功能完整交付范围,作为一个完整交付包评审和开发。
#给 Leader 的一屏摘要
一句话概括: 本次迭代要把 91jav 的搜索从“顶部输入框”升级成完整找片闭环,覆盖明确找某部片、找女优作品、找某类内容、模糊找片、搜不到后的继续发现,并补齐行为数据、广告边界和风控规则。
本次体验闭环:
- 用户从 PC 顶部搜索框或 H5 全屏搜索面板进入。
- 未输入时用最近搜索和大家在搜承接。
- 输入时实时给出搜索当前词、番号、女优、相关条件、视频等联想。
- 用户点击任意联想或回车提交后,统一进入
search.html?q=。 - 搜索结果页按意图展示不同形态,不直跳详情页。
- 结果不足或无结果时,用纠错、大家在搜、推荐视频继续承接。
- 搜索行为沉淀为大家在搜、最热排序、搜索质量指标和基础反作弊的数据来源。
本次搜索主流程:
阅读重点:本次搜索聚焦“找片”:入口 → 联想 → 意图识别 → 多形态结果 → 动态兜底 → 数据沉淀;不做合集实体搜索。
#本次迭代做什么
- 统一搜索入口到
search.html?q=。 - PC/H5 搜索提交和搜索结果页。
- PC/H5 搜索联想。
- 最近搜索。
- 大家在搜。
- 番号、女优、标签、属性、标题关键词搜索。
- 综合搜索页形态。
- 筛选、排序、分页、URL 状态同步。
- 搜索词基础映射和映射后台。
- 搜索行为统计、成功指标、基础反作弊。
- 搜索广告策略接入。
#本次迭代不做什么
- AI 语义搜索。
- 复杂自然语言理解。
- 搜索页 SEO 收录化。
- 联想直跳详情页、女优页、标签页。
- 运营后台加权搜索排序。
- 影评搜索。
- 合集实体搜索。
- 过度个性化推荐。
#核心争议点
- 搜索联想点击统一进搜索结果页,不直达详情页或女优页。
- 搜索结果页为
noindex,nofollow功能页,不做 SEO 收录页。 - 标签和属性后台区分,前台统一放在“相关条件”展示。
- 综合搜索中,无歧义属性自动作为筛选条件,但必须允许用户取消。
- 广告占 20 个展示卡位,但不能导致自然结果丢失。
#需要技术确认的问题
- 是否能按本文定义完成搜索埋点和指标归因。
- 搜索联想 300ms 防抖、请求取消和超时降级是否可实现。
- 广告占位后,自然结果分页是否由后端直接返回,还是前端组装。
- 搜索行为的
search_id归因链路由前端生成还是后端生成。 - 是否存在风险词/禁用词名单;如果暂无词库,公开展示词的审核和过滤由哪一侧处理。
#外部规则最小摘要
分页规则:
- 搜索结果页属于视频列表页。
- 每页 20 个展示卡位。
- PC 为 5×4,H5 为 2×10。
- PC/H5 都使用传统分页,不使用加载更多。
广告规则:
- 搜索结果页是
noindex功能页,广告可比收录列表页放开一档。 - 首次搜索 2 个中插,非首次搜索 4 个中插。
- 中插广告占 20 个展示卡位。
- 无结果页不放中插广告。
- 广告必须有明确“广告”标识,不能伪装自然视频结果。
#1. 产品定位
91jav 搜索不是大而全搜索引擎,而是服务视频门户的核心找片路径。
本次迭代能力目标:
- 支持番号找片。
- 支持女优找片。
- 支持标签、属性找片。
- 支持标题关键词找片。
- 搜不到时提供纠错和兜底。
本次迭代设计原则:
- 全站搜索统一进入
search.html?q=关键词。 - 搜索联想点击统一进入搜索结果页,不直达详情页、女优页、标签页。
- 搜索结果页按意图展示不同结果形态。
- 搜索结果页保持
noindex,nofollow,不做 SEO 收录页。 - 不做 AI 语义搜索、不做复杂自然语言理解、不做运营加权排序。
#1.1 成功指标
搜索上线后不能只靠主观判断“准不准”,需要用行为指标看搜索是否帮助用户找到内容。
核心指标:
| 指标 | 含义 | 用途 |
|---|---|---|
| 搜索后点击率 | 搜索结果页中,用户点击视频/女优/纠错建议等自然搜索承接项的比例 | 判断搜索结果是否有用 |
| 搜索结果首屏点击率 | 用户在首屏结果中发生点击的比例 | 判断首屏排序是否准确 |
| 无结果率 | 搜索后进入无结果页的比例 | 判断词库和召回覆盖是否足够 |
| 弱结果率 | 结果数少于 3 条的搜索比例 | 判断结果覆盖是否过窄 |
| 联想点击率 | 输入联想曝光后,用户点击联想项的比例 | 判断联想是否有效 |
| 番号精确命中成功率 | 形似完整番号的搜索中,能精确命中视频的比例 | 判断番号搜索基本盘 |
| 女优命中成功率 | 搜索女优名/别名后,命中女优卡或作品的比例 | 判断女优词库和关联作品质量 |
| 搜索平均耗时 | 从提交搜索到结果首屏可用的耗时 | 判断搜索体验速度 |
| 搜索二次修改率 | 搜索后短时间内再次修改关键词的比例 | 判断结果是否偏离用户意图 |
上线初期口径:
- 本次迭代上线时,必须保证核心指标可采集。
- 首版不强行设绝对目标值,避免没有基线时拍脑袋。
- 上线后 7 天形成基线,再按环比优化判断搜索质量。
- 番号精确命中、无结果率、搜索后点击率是第一批重点观察指标。
指标计算口径:
| 指标 | 分母 | 分子 | 有效窗口 | 去重口径 |
|---|---|---|---|---|
| 搜索后点击率 | 搜索提交次数 | 搜索后 60 秒内点击任一结果的搜索次数 | 60 秒 | 同一 search_id 多次点击只算 1 次 |
| 搜索结果首屏点击率 | 搜索结果页曝光次数 | 首屏内结果被点击的搜索次数 | 60 秒 | 同一 search_id 只算 1 次 |
| 无结果率 | 搜索提交次数 | 结果数为 0 的搜索次数 | 搜索响应时 | 同一 session 30 秒内相同词重复搜索只算 1 次 |
| 弱结果率 | 搜索提交次数 | 结果数 1 到 2 条的搜索次数 | 搜索响应时 | 同一 session 30 秒内相同词重复搜索只算 1 次 |
| 联想点击率 | 联想曝光次数 | 联想曝光后发生联想点击的次数 | 曝光后 30 秒 | 同一输入词同一曝光批次只算 1 次 |
| 番号精确命中成功率 | 形似完整番号的搜索次数 | 精确命中视频的搜索次数 | 搜索响应时 | 同一 session 30 秒内相同番号只算 1 次 |
| 女优命中成功率 | 形似女优名/别名的搜索次数 | 命中女优卡或女优作品列表的搜索次数 | 搜索响应时 | 同一 session 30 秒内相同词只算 1 次 |
| 搜索平均耗时 | 搜索提交次数 | 搜索提交到首屏结果可用的耗时总和 | 单次请求 | 不去重,排除超时失败样本可单独统计 |
| 搜索二次修改率 | 搜索提交次数 | 搜索后 60 秒内再次提交不同关键词的搜索次数 | 60 秒 | 同一 search_id 只算 1 次 |
补充说明:
- “搜索成功点击”只统计自然搜索承接项,包括视频、女优卡、纠错建议;页面广告卡不属于搜索结果,不参与搜索成功率统计。
- “首屏点击”以页面首次渲染时无需滚动可见的自然结果为准。
- 广告卡如发生点击,只进入广告指标,不进入搜索后点击率、首屏点击率等搜索质量指标。
- 已识别的风险词、禁用词搜索不进入搜索质量指标,只进入风控统计;如暂无风险词库,则至少保证未审核搜索词不进入公开推荐。
#1.2 功能验收口径
本次迭代作为一个完整交付包处理,以下能力都属于本次开发需要完成的搜索闭环。
功能验收:
- PC/H5 能提交搜索并进入
search.html?q=。 - 番号精确搜索可展示主命中。
- 番号前缀搜索可展示相关番号列表。
- 女优名称搜索可展示女优卡和作品列表。
- 标题关键词搜索可展示视频列表。
- 无结果页有基础兜底。
- 搜索结果页传统分页可用。
- PC 搜索联想可用。
- H5 全屏搜索联想可用。
- 最近搜索可保存、删除、清空。
- 大家在搜可展示真实或冷启动候选。
- 标签/属性搜索可展示相关条件和视频结果。
- 筛选、排序、URL 状态同步可用。
- 综合搜索页可展示女优候选、相关条件和视频列表。
- 基础搜索词映射可用,如
中字 -> 中文字幕。 - 广告可按搜索结果页规则插入,且不伪装自然结果。
- 无意义词、未审核公开词、已识别风险词/禁用词有明确处理结果。
数据验收:
- 能记录搜索词提交。
- 能记录搜索结果曝光和点击。
- 能记录无结果搜索词。
- 能记录联想曝光。
- 能记录联想点击。
- 能记录筛选、排序、分页行为。
- 能区分首次搜索和非首次搜索。
- 大家在搜可基于搜索行为数据生成;最热排序使用视频
hot字段,hot可由全站行为数据生成。 - 搜索词映射后台可审核、启用、禁用、冲突处理和回滚。
- 搜索行为分析和异常流量过滤可用。
#1.3 验收用例表
| 输入词 | 预期意图 | 预期模块 | 是否自动改写 | 是否保存最近搜索 |
|---|---|---|---|---|
ABCD-123 | 番号精确命中 | 番号主命中 + 更多相关结果 | 否 | 是 |
ABCD | 番号前缀命中 | 相关番号视频列表 | 否 | 是 |
波多野结衣 | 女优唯一强命中 | 女优卡 + 她的作品列表 | 否 | 是 |
boduo ye | 女优罗马音命中 | 女优卡 + 她的作品列表 | 是,展示实际女优名 | 是 |
中字 | 属性命中 | 已匹配中文字幕 + 视频列表 | 是,匹配到中文字幕 | 是 |
无 | 多义属性 | 相关条件候选 + 综合搜索 | 否 | 是 |
素人 | 标签命中 | 相关条件 + 标签作品列表 | 否 | 是 |
护士 | 标签或标题关键词 | 相关条件,如标签存在 + 视频列表 | 否 | 是 |
波 无码 | 综合搜索 | 女优候选 + 无码条件 + 视频列表 | 否 | 是 |
新人 4K | 综合搜索 | 4K 条件 + 新人相关视频 | 否 | 是 |
新人出道 | 普通关键词 | 视频列表 | 否 | 是 |
| 风险词 | 风控 | 安全提示或无结果 | 否 | 否 |
| 无意义乱码 | 无结果 | 无结果 + 推荐/大家在搜 | 否 | 可保存,除非命中风险规则 |
#1.4 边界验收用例表
| 场景 | 操作 | 预期结果 |
|---|---|---|
| H5 返回搜索页 | H5 搜索 中文字幕 后进入第 2 页,再点浏览器返回 | 回到上一个 URL 状态,搜索词、筛选、页码保持一致 |
| URL 刷新 | 打开 search.html?q=素人&page=2&sort=latest 后刷新页面 | 仍展示 素人 搜索结果第 2 页,排序为最新 |
| 筛选后无结果 | 搜索 素人 后选择 4K,但筛选后没有结果 | 展示“当前筛选下没有结果”和“清空筛选”,不当作原始搜索无结果 |
| 风险词 | 输入已识别风险词并提交 | 不进入大家在搜、不保存最近搜索;结果页展示安全提示或无结果 |
| 暂无风险词库 | 用户搜索任意未审核词 | 可正常搜索,但该词不自动进入大家在搜、联想推荐和公开推荐位 |
| 联想接口失败 | 输入 中字 时联想接口超时或失败 | 保留 搜索「中字」,不弹错误,不阻塞回车提交 |
| 输入法组合态 | 中文输入法输入 bo 尚未选字时按 Enter | 不提交搜索,优先作为输入法选字处理 |
| 输入法完成后提交 | 用户选字为 波 后按 Enter | 按 波 提交搜索或展示最终上屏文字的联想 |
| 广告卡位不足 | 当前页自然结果只有 5 条 | 不插中插广告,避免广告压过自然结果 |
| 广告分页一致性 | 非首次搜索自然结果 48 条,每页 4 个广告卡 | totalItems=48,totalPages=3,第 2 页从第 17 条自然结果开始 |
| 最热无 hot 字段 | 搜索结果没有 hot 字段 | 隐藏“最热”排序;如必须保留,点击后按发布时间倒序 |
| 合集实体搜索 | 搜索词命中某合集标题 | 本次不展示合集卡;只有合集内视频自身命中时才作为普通视频结果出现 |
#2. 搜索对象与优先级
#2.1 搜索对象
| 对象 | 本次迭代策略 | 说明 |
|---|---|---|
| 视频 | 必做 | 主搜索对象 |
| 番号 | 必做 | 属于视频字段,但搜索优先级最高 |
| 女优 | 必做 | 支持正式名、别名、罗马音、简称 |
| 标签 | 必做 | 内容题材词,如素人、剧情、制服、人妻 |
| 属性 | 必做 | 结构化条件,如中文字幕、无码、4K、年份 |
| 合集 | 本次不做 | 合集页面保留,但本次搜索不识别合集实体;合集内视频如命中关键词,可作为视频结果出现 |
| 影评 | 本次不做 | 当前核心是找片,影评搜索放到后续增强 |
#2.2 标签与属性
后台规则上必须区分标签和属性。
| 类型 | 示例 | 说明 |
|---|---|---|
| 字幕属性 | 中文字幕、无字幕 | 视频字幕字段 |
| 类型属性 | 有码、无码 | 视频类型字段 |
| 清晰度属性 | 4K、1080P、720P | 视频清晰度字段 |
| 年份属性 | 2024、2025 | 视频年份字段 |
| 内容标签 | 素人、剧情、制服、人妻 | 内容题材标签 |
前台搜索联想和搜索结果页中,标签和属性统一展示为“相关条件”。
白话定义:
相关条件 = 系统从用户输入里识别出来的、可以帮助用户缩小搜索范围的条件。
它不是视频结果,也不是女优结果,而是“搜索方向提示”。
相关条件包含两类:
- 属性条件: 字幕、类型、清晰度、年份。
- 标签条件: 题材、角色、场景等内容标签。
展示示例:
相关条件
[字幕] 中文字幕
[类型] 无码
[清晰度] 4K
[题材] 素人
[题材] 剧情
真实场景示例:
| 用户输入 | 系统识别 | 相关条件怎么展示 | 点击后结果页怎么处理 |
|---|---|---|---|
中字 | 中字 是 中文字幕 的同义词 | [字幕] 中文字幕 | 进入搜索结果页,按字幕 = 中文字幕 展示视频 |
无码 | 无码 是类型属性 | [类型] 无码 | 进入搜索结果页,按类型 = 无码 展示视频 |
4K | 4K 是清晰度属性 | [清晰度] 4K | 进入搜索结果页,按清晰度 = 4K 展示视频 |
2025 | 2025 是年份属性 | [年份] 2025 | 进入搜索结果页,按年份 = 2025 展示视频 |
素人 | 素人 是内容标签 | [题材] 素人 | 进入搜索结果页,展示素人相关视频 |
护士 | 如果标签库里有 护士 | [题材] 护士 | 进入搜索结果页,展示护士相关视频 |
无 | 可能是 无码,也可能是 无字幕 | [类型] 无码、[字幕] 无字幕 | 不自动替用户选择;用户点哪个条件,就按哪个条件搜索 |
新人 4K | 新人 是标签,4K 是属性 | [题材] 新人、[清晰度] 4K | 优先展示同时满足新人 + 4K 的视频 |
这样做的原因:
- 用户不需要理解后台字段差异。
- 搜索面板不拆成过多碎分区。
- 每个条件仍用小标识说明类型。
- 多义输入不自动改写,只展示候选条件让用户选择。
#2.3 搜索结果页意图优先级
结果页主意图优先级:
- 番号精确命中。
- 番号前缀命中。
- 女优唯一强命中。
- 属性强命中。
- 标签强命中。
- 普通关键词命中。
- 无结果。
多义规则:
- 能唯一判断时,展示对应主意图。
- 不能唯一判断时,进入综合搜索。
- 非主意图可以作为辅助模块展示。
- 不替用户强行选择多义结果。
#3. 搜索入口
#3.1 PC 搜索入口
位置: 顶部导航搜索框。
占位文案:
番号 / 女优 / 关键词
交互:
- 聚焦时展示搜索浮层。
- 空输入展示搜索空态。
- 有输入展示实时联想。
- 点击外部关闭。
- 按 Esc 关闭。
- 按 Enter 提交搜索。
#3.2 H5 搜索入口
位置: 顶部搜索入口。
交互:
- 点击后打开全屏搜索面板。
- 输入框自动聚焦。
- 空输入展示搜索空态。
- 有输入展示实时联想。
- 点击取消 / 返回关闭面板。
- 点击搜索按钮或键盘搜索提交。
#4. 搜索空态
#4.1 空态触发
搜索框为空并聚焦时展示空态。
PC: 下拉浮层。
H5: 全屏搜索面板。
#4.2 空态结构
最近搜索
大家在搜
- 热门番号
- 热门女优
- 热门关键词
#4.3 最近搜索
来源: 用户本地搜索记录。
规则:
- 最多保存 8 条。
- 重复搜索置顶,不重复展示。
- 支持单条删除。
- 支持清空。
- 最近搜索为空时,隐藏整个模块,不展示“暂无最近搜索”。
隐私规则:
- 最近搜索默认只保存在用户本地,不作为服务端个人历史长期存储。
- 用户点击清空后,本地最近搜索应立即删除。
- 风险词、禁用词不保存到最近搜索。
- 浏览器无痕/隐私模式下,如果本地存储不可用,最近搜索功能自动失效,不报错。
- 最近搜索不做跨设备同步。
- 最近搜索不展示给其他用户,也不用于公开热词。
- 服务端搜索行为统计只用于聚合指标,不反向展示个人搜索历史。
#4.4 大家在搜
“大家在搜”来自用户搜索行为,不是运营手动配置热词墙。
| 子模块 | 来源 |
|---|---|
| 热门番号 | 最近 7 天被搜索的番号词 |
| 热门女优 | 最近 7 天被搜索的女优词 |
| 热门关键词 | 最近 7 天被搜索的标签、属性、普通关键词 |
热门关键词包含:
- 标签,如素人、剧情、护士。
- 属性,如中文字幕、无码、4K。
- 普通关键词,如新人出道、温泉。
#4.5 空态展示数量
| 模块 | PC | H5 |
|---|---|---|
| 最近搜索 | 最多 8 | 最多 8 |
| 热门番号 | 最多 4 | 最多 2 |
| 热门女优 | 最多 4 | 最多 2 |
| 热门关键词 | 最多 6 | 最多 4 |
数量定义原则:
- 最近搜索保留 8 条,是因为它是用户自己的历史行为,复搜价值最高,允许比热门区更完整。
- 热门番号和热门女优是强意图入口,PC 各 4 条可以形成一行,H5 各 2 条避免首屏被热词占满。
- 热门关键词覆盖标签、属性、普通关键词,类型更杂,所以 PC 给 6 条、H5 给 4 条,保证有一定覆盖面。
- 空态不是频道页,不承担完整发现任务,只提供快速复搜和少量群体搜索趋势。
- 所有数量都是展示上限,不足时展示实际数量,不能用低质量词硬凑满。
#4.6 空态展示示例
PC:
最近搜索
[ABCD-123] [波多野结衣] [中文字幕] [护士] [清空]
大家在搜
热门番号
[ABCD-123] [SSIS-001] [IPX-888] [ABP-984]
热门女优
[波多野结衣] [三上悠亚] [明日花绮罗] [桥本有菜]
热门关键词
[中文字幕] [无码] [4K] [人妻] [素人] [剧情]
H5:
最近搜索
ABCD-123 ×
波多野结衣 ×
中文字幕 ×
大家在搜
热门番号
[ABCD-123] [SSIS-001]
热门女优
[波多野结衣] [三上悠亚]
热门关键词
[中文字幕] [无码] [4K] [人妻]
#4.7 空态缺省规则
- 最近搜索无数据: 隐藏最近搜索模块。
- 热门番号无数据: 隐藏热门番号子模块。
- 热门女优无数据: 隐藏热门女优子模块。
- 热门关键词无数据: 隐藏热门关键词子模块。
- 大家在搜三个子模块都无数据: 隐藏大家在搜。
- 最近搜索和大家在搜都无数据: 展示冷启动兜底“推荐搜索”。
冷启动推荐搜索示例:
推荐搜索
[中文字幕] [4K] [1080P] [无码]
[有码] [素人] [剧情] [制服]
[人妻] [巨乳] [护士] [女教师]
说明:
- 以上词汇只是行业通用示例,最终以站内真实标签、属性和视频库存为准。
- 推荐搜索只用于冷启动,不是长期运营推荐。
- 推荐搜索只放当前搜索规则可以直接识别的标签或属性词。
- 不放
最新上架、本月热播、精选合集这类榜单词或运营词,避免用户点击后无法按关键词稳定召回结果。 - 推荐搜索不参与热度排序;真实行为数据足够后,由“大家在搜”接管空态入口。
#4.8 大家在搜排序
排序以用户行为为主:
搜索次数 + 搜索后点击次数
同一子模块内热度相同时:
- 搜索后点击次数高的在前。
- 仍相同时,按固定顺序兜底,保证刷新后顺序稳定。
不进入“大家在搜”的词:
- 单字中文,如
女、波、无。 - 单个英文字母,如
A。 - 纯数字短词,如
1、12。 - 已识别的风险词、禁用词。
- 明显无意义或无点击的高频误输入。
- 未经过公开展示审核的用户搜索词。
边界定义:
| 类型 | 定义 | 处理 |
|---|---|---|
| 风险词 | 涉及违规、敏感、平台禁止展示的词 | 不进入联想、不进入大家在搜,结果页按风控策略处理 |
| 禁用词 | 业务明确不允许展示或引导的词 | 不展示、不推荐、不进热榜 |
| 无意义词 | 单字、乱码、重复字符、无可识别意图的词 | 不进入大家在搜,可按普通搜索处理 |
| 高频误输入 | 搜索次数高,但搜索后点击极低或无结果率极高的词 | 不进入大家在搜,进入待处理池 |
示例:
“女” -> 单字泛词,不进大家在搜
“aaaa” -> 无意义重复输入,不进大家在搜
“ABCD-123” -> 明确番号,可进入热门番号
“波多野结衣” -> 明确女优,可进入热门女优
“中文字幕” -> 明确属性,可进入热门关键词
判断口径:
- 是否进入大家在搜,不只看搜索次数,还要看是否有有效点击。
- 搜索次数高但点击很低,说明用户没有找到想要内容,不应作为热词推荐给更多人。
- 如果已有风险词、禁用词名单,则按名单过滤。
- 如果暂无风险词、禁用词名单,未审核的用户搜索词不得自动进入大家在搜。
- 大家在搜只展示系统确认可公开展示的词,避免把用户输入直接放大到公共入口。
本期不强制要求按“最近一次搜索时间”排序,避免增加开发复杂度。后续如果已有完整搜索日志,可作为增强兜底规则。
#5. 搜索联想触发规则
#5.1 联想触发总原则
搜索联想在搜索框聚焦后生效。
联想分两种:
- 空态联想: 输入为空时展示最近搜索和大家在搜。
- 输入联想: 输入不为空时展示搜索当前词、番号、女优、视频、相关条件等结果。
页面加载时不主动弹出联想,避免干扰浏览。
#5.2 触发场景表
| 场景 | 是否展示联想 | 展示内容 |
|---|---|---|
| PC 搜索框聚焦,输入为空 | 是 | 空态联想 |
| PC 搜索框聚焦,搜索框已有关键词 | 是 | 基于搜索框内关键词展示输入联想 |
| H5 打开搜索面板,输入为空 | 是 | 空态联想 |
| H5 打开搜索面板,搜索框已有关键词 | 是 | 基于搜索框内关键词展示输入联想 |
| 页面首次加载,搜索框有关键词 | 否 | 不自动弹联想 |
| 用户输入普通字符 | 是 | 实时更新输入联想 |
| 用户粘贴关键词 | 是 | 粘贴后触发一次输入联想 |
| 用户清空输入 | 是 | 回到空态联想 |
| 点击联想项 | 否 | 直接进入搜索结果页 |
| 点击外部 / Esc | 否 | 关闭联想 |
| 回车提交 | 否 | 进入搜索结果页 |
#5.3 中文输入法拼音阶段
中文输入法会出现“还在拼音输入中、汉字尚未上屏”的阶段。
例如用户想输入“波”:
- 键盘先出现
bo。 - 输入法候选栏出现“波 / 博 / 播”等候选字。
- 用户选中“波”后,搜索框里才真正出现“波”。
其中 bo 就是拼音中间态。这个阶段如果直接触发搜索,会把 bo、boduo 误认为罗马音或英文搜索。
规则:
- 汉字尚未上屏时,不用拼音中间态刷新女优、视频、标签等复杂联想。
- 拼音输入过程中,可以保持上一帧联想结果,或只展示
搜索「当前输入」。 - 用户选字完成后,再按最终上屏文字触发联想。
- 组合阶段按 Enter,优先视为输入法选字,不提交搜索。
- 选字完成后按 Enter,才提交搜索。
示例:
用户用中文输入法输入 bo,尚未选字
不把 bo 当成罗马音女优搜索
用户选字为“波”
按“波”触发中文弱联想
如果用户明确输入并保留英文 boduo,不处于中文输入法组合阶段,则按罗马音规则触发女优联想。
#5.4 回车前、回车后
回车前:
- 用户每次输入变化后,实时刷新联想。
- 第一条永远展示
搜索「当前输入词」。 - 其他分区根据命中情况展示。
回车后:
- 保存最近搜索。
- 进入
search.html?q=当前输入词。 - 结果页按意图展示结果。
- 结果页顶部搜索框显示当前搜索词。
- 页面加载后不自动弹出联想。
- 用户再次聚焦搜索框时,基于框内已有关键词展示联想。
#5.5 点击联想后
点击任意联想项:
- 保存最近搜索。
- 进入
search.html?q=联想项对应词。 - 不停留在搜索框内做回填确认。
- 不直达详情页、女优页、标签页。
#5.6 联想性能与降级
触发频率:
- 用户输入后 300ms 内没有继续输入,再触发联想请求。
- 用户连续输入时,不对每个字符都发请求。
- 粘贴关键词后立即进入 300ms 防抖逻辑。
请求处理:
- 新输入产生后,取消或忽略上一次未完成的联想请求。
- 只渲染最后一次输入对应的结果。
- 如果旧请求晚于新请求返回,必须丢弃旧结果。
- 联想请求超时时间建议 800 到 1000ms。
失败降级:
- 联想接口失败时,保留第一行
搜索「当前输入词」。 - 不阻塞用户回车提交搜索。
- 不展示错误弹窗。
- 可保留上一帧联想结果,但需要避免与当前输入明显不一致。
- 空态接口失败时,仍可展示本地最近搜索。
提交优先级:
- 用户按 Enter 或点击搜索按钮时,不等待联想接口返回。
- 搜索提交直接进入结果页。
#6. 输入后联想面板
#6.1 基础结构
输入后第一条永远是:
搜索「当前输入词」
它是联想面板第一行操作项,不是 placeholder。
后续分区只展示有命中的内容。
| 分区 | PC 上限 | H5 上限 |
|---|---|---|
| 搜索当前词 | 1 | 1 |
| 番号相关 | 最多 3 | 最多 2 |
| 女优 | 最多 2 | 最多 2 |
| 相关视频 | 最多 5 | 最多 4 |
| 相关条件 | 最多 5 | 最多 4 |
联想面板不分页、不加载更多。
数量定义原则:
- 搜索当前词固定 1 条,保证用户始终可以按原词搜索。
- 番号相关是高确定意图,但输入前缀时候选不会太多,PC 3 条、H5 2 条足够让用户快速确认。
- 女优候选最多 2 条,是为了处理同名前缀或别名歧义;超过 2 条会让搜索面板像女优列表页。
- 相关视频是主体内容,PC 5 条能覆盖一屏主要候选,H5 4 条避免挤压其他分区。
- 相关条件承载标签和属性,PC 5 条、H5 4 条用于覆盖字幕、类型、清晰度、题材等方向。
- 联想只做预览和引导,更多内容交给搜索结果页分页承接。
#6.2 相关条件展示内容
“相关条件”是联想面板里的可点击条件行,用来提示用户: 系统识别到了某个筛选方向或题材方向。
它不是视频卡片,不展示缩略图,也不展示视频标题。
展示形态:
相关条件
[字幕] 中文字幕
[类型] 无码
[清晰度] 4K
[年份] 2025
[题材] 素人
每条相关条件由两部分组成:
- 条件类型,如
[字幕]、[类型]、[清晰度]、[年份]、[题材]。 - 条件值,如
中文字幕、无码、4K、2025、素人。
点击规则:
- 点击相关条件后,统一进入
search.html?q=条件值。 - 不直跳标签页。
- 不停留在当前搜索面板。
- 结果页根据条件值识别对应意图,并展示视频结果。
点击示例:
| 联想项 | 点击后进入 | 结果页处理 |
|---|---|---|
[字幕] 中文字幕 | search.html?q=中文字幕 | 展示中文字幕视频 |
[类型] 无码 | search.html?q=无码 | 展示无码视频 |
[清晰度] 4K | search.html?q=4K | 展示 4K 视频 |
[年份] 2025 | search.html?q=2025 | 展示 2025 年视频 |
[题材] 素人 | search.html?q=素人 | 展示素人相关视频 |
输入场景示例:
用户输入: 中字
搜索「中字」
相关条件
[字幕] 中文字幕
相关视频
[缩略图] 【中文字幕】示例视频标题
ABCD-123 · 中文字幕 / 1080P
用户输入: 无
搜索「无」
相关条件
[类型] 无码
[字幕] 无字幕
说明:
“无”有歧义,不自动改写成无码或无字幕。
用户点击哪个条件,结果页就按哪个条件搜索。
用户输入: 新人 4K
搜索「新人 4K」
相关条件
[题材] 新人
[清晰度] 4K
相关视频
[缩略图] 新人出道示例标题
ABCD-100 · 新人 / 4K / 中文字幕
不展示相关条件的情况:
- 输入只命中视频标题,没有命中标签或属性。
- 输入太短或太泛,如
女、人、无,且无法形成明确条件时,只展示候选或不展示。 - 标签库和属性映射都没有对应值。
#6.3 相关视频展示内容
“相关视频”不是单纯标题文字,而是视频候选行。
联想面板里的相关视频建议展示:
- 视频缩略图。
- 视频标题。
- 番号。
- 主要女优,若有。
- 关键属性或标签,最多 2 到 3 个,如
中文字幕、4K、素人。 - 时长,若有。
PC 示例:
相关视频
[缩略图] 【中文字幕】波多野结衣 新人出道完整收录
SSIS-001 · 波多野结衣 · 中文字幕 / 1080P · 42:18
[缩略图] 波多野温泉旅行特别篇
ABCD-123 · 波多野结衣 · 无码 / 4K · 51:06
H5 示例:
相关视频
[缩略图] 【中文字幕】波多野结衣 新人出道完整收录
SSIS-001 · 中文字幕 / 1080P
点击相关视频行后,仍进入:
search.html?q=该视频番号
不直达视频详情页。
文字展示边界:
- 视频标题 PC 最多展示 2 行,超出省略号。
- 视频标题 H5 最多展示 2 行,超出省略号。
- 番号、女优、属性、标签等元信息展示 1 行,超出省略号。
- 属性/标签最多展示 3 个,超出不展示,避免元信息挤爆。
- 标题优先级高于元信息;空间不足时先收起部分属性/标签,不截掉番号。
- 缩略图尺寸固定,文字变化不能撑高整行导致浮层跳动。
- 如果没有缩略图,使用默认占位缩略图,仍保持同样行高。
#6.4 分区顺序
分区顺序按输入意图调整,不按命中数量机械排序。
| 输入倾向 | 分区顺序 |
|---|---|
| 像番号 | 搜索当前词 -> 番号相关 -> 相关视频 -> 相关条件 |
| 像女优 | 搜索当前词 -> 女优 -> 相关视频 -> 相关条件 |
| 像属性 / 标签 | 搜索当前词 -> 相关条件 -> 相关视频 |
| 像普通关键词 | 搜索当前词 -> 相关视频 -> 相关条件 |
| 无命中 | 搜索当前词 -> 纠错建议 -> 大家在搜 |
说明:
- 一个输入可以同时展示多个分区。
- 某个分区结果多,不代表它一定排第一。
- 分区上限固定,超出不展示“更多”,用户可直接搜索进入结果页。
#6.5 同分区排序
同一分区内排序:
- 完全匹配优先。
- 前缀匹配其次。
- 包含匹配再次。
- 搜索后点击次数高的优先。
- 无行为数据时按内容默认顺序兜底。
如果同一分区内有多个“完全匹配”,继续按以下顺序排序:
- 搜索后点击次数高的在前。
- 关联作品数多的在前,适用于女优、标签、属性。
- 发布时间新的在前,适用于视频。
- 仍相同时按内容 ID 或后台返回顺序固定兜底。
默认顺序定义:
| 分区 | 默认顺序 |
|---|---|
| 番号相关 | 番号精确匹配 > 番号前缀匹配 > 发布时间新 |
| 女优 | 作品数多 > 搜索后点击高 > 后台固定顺序 |
| 相关视频 | 发布时间新 > 后台固定顺序 |
| 相关条件 | 关联作品数多 > 后台固定顺序 |
说明:
- “后台固定顺序”不是随机顺序,应保证同一输入多次刷新展示稳定。
- 如果真实行为数据未接入,直接跳过点击次数排序,使用各分区默认顺序。
- 不允许前端每次随机打乱联想排序。
#7. 联想匹配规则
#7.1 查询预处理
所有输入先做基础处理:
- 去首尾空格。
- 多个空格合并为一个。
- 英文字母匹配时不区分大小写。
- 番号匹配时忽略横杠。
- 全角英文字母、数字、符号转半角。
- 中文空格、制表符、换行等统一按普通空格处理。
- 特殊横杠统一为普通横杠,例如
-、–、—、‐都按-处理。 - URL 编码先解码后再匹配,例如
%E4%B8%AD%E5%AD%97解码为中字。 - 移除不可见字符,例如零宽空格、控制字符。
- 中文本期不做复杂分词,优先依赖词库、字段和包含匹配。
繁简处理:
- 常见属性、标签、女优别名可以通过搜索词映射支持繁简差异。
- 本次不建议对所有内容做全量自动繁简转换,避免人名、片名被错误转换。
- 如果后端已有稳定繁简转换能力,可以只对属性、标签、女优别名启用,不对视频标题做强制转换。
#7.2 番号识别
认为“像番号”的输入:
- 完整番号: 字母 2-6 位 + 可选横杠 + 数字 2 位及以上,如
ABCD-123、ABCD123、IPX-999。 - 番号前缀: 字母 2-6 位,且站内存在以该前缀开头的番号,如
ABCD命中ABCD-123。 - 字母 + 部分数字,如
ABCD12,可匹配ABCD-123。
不触发番号联想:
- 单字母,如
A。 - 纯数字,如
123。 - 中文词,如
护士、中文字幕。 - 普通英文词且站内没有对应番号前缀,如
love。
匹配方式:
| 方式 | 说明 |
|---|---|
| 精确匹配 | 番号归一化后完全相等 |
| 前缀匹配 | 候选番号以用户输入为开头 |
| 标题兜底 | 标题中包含番号字符串 |
示例:
输入 AB -> 可命中 ABCD-123、ABP-985
输入 ABCD12 -> 可命中 ABCD-123
输入 ABCD-123 -> 精确命中 ABCD-123
无命中处理:
- 完整番号格式但没有精确命中时,展示“未找到该番号”。
- 如果存在同前缀番号,展示同前缀相关番号。
- 如果同前缀也没有结果,进入无结果兜底。
- 纯英文输入不强判番号,按普通关键词搜索标题、女优别名、罗马音、标签映射;仍无命中时进入无结果兜底。
#7.3 女优识别
认为“像女优”的输入:
- 命中女优正式名。
- 命中女优正式名前缀。
- 命中女优别名。
- 命中女优罗马音。
- 命中女优简称。
长度限制:
| 输入 | 策略 |
|---|---|
| 中文 1 个字 | 弱联想,不判定女优意图 |
| 中文 2 个字及以上 | 可触发女优联想 |
| 英文 2 个字符及以上 | 可触发罗马音或简称联想 |
匹配优先级:
- 正式名完全匹配。
- 别名完全匹配。
- 正式名前缀匹配。
- 罗马音完全匹配。
- 罗马音前缀匹配。
- 简称匹配。
- 包含匹配。
唯一命中时可强判女优。多个候选时只展示候选,不自动替用户选择。
相似女优候选来源:
- 相似女优候选不是 AI 猜测,也不是中文名编辑距离猜测。
- 只从女优正式名、别名、罗马音/英文名、简称字段中匹配出来。
- 如果没有别名、罗马音/英文名、简称字段,则只支持女优正式名和正式名前缀匹配。
- 中文名不做低置信猜测;英文/罗马音可做前缀匹配。
#7.4 属性识别
属性包括:
- 字幕: 中文字幕、无字幕。
- 类型: 有码、无码。
- 清晰度: 4K、1080P、720P。
- 年份: 如 2026、2025、2024,优先匹配视频
year字段。
命中方式:
- 输入等于属性标准值。
- 输入等于属性同义词。
- 输入是属性标准值前缀。
- 输入可被映射到属性值。
示例:
中字 -> 中文字幕
中文 -> 中文字幕
无马 -> 无码
无修 -> 无码
高清 -> 4K / 1080P
4k -> 4K
1080 -> 1080P
歧义示例:
输入“无”
可能是“无码”,也可能是“无字幕”
只展示候选,不自动改写
年份规则:
- 年份搜索优先按视频
year字段筛选。 - 如果数据没有
year字段,则按发布时间date/dateNum的年份部分筛选。 - 前台统一展示为“年份”,不向用户区分
year和发布时间年份。 - 命中年份后,默认仍按发布时间倒序排列,最新发布的在前。
#7.5 标签识别
标签是内容题材词。
示例:
素人、剧情、制服、人妻、巨乳、护士、新人
标签命中分三档:
| 档位 | 规则 | 是否强判标签意图 |
|---|---|---|
| 强命中 | 输入完整等于标签名或无歧义标签同义词 | 是 |
| 前缀命中 | 输入是标签名前缀 | 否,只用于联想 |
| 包含命中 | 标签名包含输入词,或输入包含标签名 | 否,只作为补充 |
标签命中过多时:
- 相关条件区 PC 最多 5 条、H5 最多 4 条。
- 超出上限时不展示“更多标签”。
- 排序为: 完整匹配 > 前缀匹配 > 搜索后点击次数 > 关联作品数 > 固定顺序。
- 单字中文只做弱联想。
人、女、大、高、无这类泛词不强触发标签意图。- 标签前缀命中只影响联想,不直接决定结果页主意图。
#7.6 视频标题识别
视频标题用于普通关键词匹配,也可作为其他意图的辅助结果。
匹配范围:
- 标题包含输入词。
- 标题包含归一化后的番号。
- 标题包含女优名。
- 标题包含标签或属性词。
规则:
- 标题命中不高于番号字段精确命中。
- 标题命中不高于女优唯一强命中。
- 标题命中主要用于“相关视频”和普通关键词结果。
#8. 搜索联想场景示例
#8.1 拼音输入阶段
场景: 用户用中文输入法准备输入“波”。
输入法组合中: bo
展示: 保持上一帧联想,或只展示“搜索「bo」”
选字完成: 波
展示: 按“波”触发中文弱联想
#8.2 女优输入: 波
搜索「波」
女优
波多野结衣
波多美咲
相关视频
[缩略图] 波多野温泉旅行特别篇
ABCD-123 · 波多野结衣 · 中文字幕 / 1080P
相关条件
命中的题材条件,如有
规则:
波是单字,只做弱联想。- 不强判为某个女优。
- 女优最多展示 2 个候选。
#8.3 女优输入: 波多
搜索「波多」
女优
波多野结衣
波多美咲
相关视频
[缩略图] 波多野温泉旅行特别篇
ABCD-123 · 波多野结衣 · 中文字幕 / 1080P
[缩略图] 波多美咲剧情精选
EFGH-456 · 波多美咲 · 无码 / 4K
规则:
波多可能命中多个女优。- 不自动判唯一女优。
- 候选按匹配强度和点击表现排序。
#8.4 女优输入: 波多野结衣
搜索「波多野结衣」
女优
波多野结衣 作品数
相关视频
[缩略图] 【中文字幕】波多野结衣 新人出道完整收录
SSIS-001 · 波多野结衣 · 中文字幕 / 1080P
规则:
- 唯一命中女优,女优区置顶。
- 点击女优项进入
search.html?q=波多野结衣。 - 结果页展示女优卡和她的作品列表。
#8.5 罗马音输入: boduo
如果用户不是中文输入法组合阶段,而是明确输入英文:
搜索「boduo」
女优
波多野结衣
波多美咲
规则:
- 罗马音前缀可能命中多个女优。
- 展示候选,不自动替用户选择。
#8.6 罗马音输入: boduo ye
搜索「boduo ye」
女优
波多野结衣
规则:
- 如果唯一命中,则可强判为女优。
- 结果页可提示“已为你匹配: 波多野结衣/实际命中的女优名”,以词库为准。
#8.7 组合搜索: 波多野结衣 中字
搜索「波多野结衣 中字」
女优
波多野结衣
相关条件
[字幕] 中文字幕
相关视频
[缩略图] 【中文字幕】波多野结衣 新人出道完整收录
SSIS-001 · 波多野结衣 · 中文字幕 / 1080P
规则:
- 识别出女优和字幕属性。
- 结果页以女优为主意图。
- 作品列表自动带入
字幕 = 中文字幕条件。
#8.8 番号输入: A
搜索「A」
规则:
- 单字母不触发番号联想。
- 避免召回过泛。
#8.9 番号输入: AB
搜索「AB」
番号相关
ABCD-123
ABP-985
规则:
- 2 个及以上英文字母开始触发番号前缀联想。
- 候选番号必须以前缀命中为主。
#8.10 番号输入: ABCD
搜索「ABCD」
番号相关
ABCD-100
ABCD-123
ABCD-156
相关视频
[缩略图] ABCD 系列剧情作品
ABCD-100 · 女优A · 中文字幕 / 1080P
[缩略图] ABCD 温泉特别篇
ABCD-123 · 女优B · 无码 / 4K
#8.11 番号输入: ABCD-123
搜索「ABCD-123」
番号相关
ABCD-123 标题
规则:
- 精确番号排第一。
- 不在联想中展示过多弱相关内容。
#8.12 属性输入: 中
搜索「中」
相关条件
[字幕] 中文字幕
规则:
中可弱联想到中文字幕。- 不直接改写搜索词。
#8.13 属性输入: 中字
搜索「中字」
相关条件
[字幕] 中文字幕
规则:
中字通过搜索词映射识别为中文字幕。- 点击后进入
search.html?q=中文字幕。
#8.14 属性输入: 无
搜索「无」
相关条件
[类型] 无码
[字幕] 无字幕
规则:
无存在歧义。- 不自动纠错为某一个条件。
- 展示多个相关条件供用户选择。
#8.15 标签输入: 素
搜索「素」
相关条件
[题材] 素人
规则:
- 单字只做弱联想。
- 不强判为标签意图。
#8.16 标签输入: 素人
搜索「素人」
相关条件
[题材] 素人
相关视频
[缩略图] 素人初体验街头实录
BCDE-191 · 素人 / 中文字幕 / 1080P
规则:
- 完整命中标签,可作为标签意图。
- 结果页展示标签相关作品。
#8.17 视频标题输入: 护士
如果“护士”是标签:
搜索「护士」
相关条件
[题材] 护士
相关视频
[缩略图] 【中文字幕】护士的诱惑 病房秘密
EFGH-107 · 中文字幕 / 剧情 / 1080P
如果“护士”不是标签:
搜索「护士」
相关视频
[缩略图] 【中文字幕】护士的诱惑 病房秘密
EFGH-107 · 中文字幕 / 剧情 / 1080P
规则:
- 标签库有则展示相关条件。
- 标签库没有则走普通标题关键词。
#8.18 视频标题输入: 新人出道
搜索「新人出道」
相关条件
[题材] 新人
相关视频
[缩略图] 新人出道单体企划 完全收录版
ABCD-100 · 新人 / 中文字幕 / 1080P
规则:
- 视频优先。
- 如果“新人”是标签,展示相关条件。
- 本次不展示合集入口。
#8.19 无命中
搜索「xxxx」
没有找到相关内容
你是不是想搜: xxx
大家在搜
热门番号 / 热门女优 / 热门关键词
规则:
- 有高置信纠错时展示“你是不是想搜”。
- 无高置信纠错时不展示纠错。
- 不硬凑低相关视频。
#9. 搜索结果页
#9.1 通用结构
搜索「xxx」
意图结果区
筛选栏
视频列表
分页
广告位
分页与数量采用知识库《首页楼层 / 数量规范 / 分页》的固定口径:
- 搜索属于视频列表页。
- 每页 20 个展示卡位。
- PC 为 5×4。
- H5 为 2×10。
- PC 与 H5 使用同一套数据、同一个 page。
- PC 和 H5 都使用传统分页,不使用加载更多。
- 中插广告启用时,占用展示卡位,详见第 14 章广告策略。
#9.1.1 搜索 URL 状态
搜索结果页需要把用户当前状态写入 URL,保证刷新、分享、返回、分页时状态不丢。
URL 参数:
| 参数 | 状态是否需要 | URL 是否可省略默认值 | 示例 | 说明 |
|---|---|---|---|---|
q | 必须 | 否 | q=波多野结衣 | 搜索词 |
page | 必须 | page=1 可省略 | page=2 | 当前页码,默认 1 |
sort | 必须 | 默认相关度可省略 | sort=latest | 排序,默认相关度 |
type | 可选 | 无筛选时省略 | type=无码 | 类型筛选 |
subtitle | 可选 | 无筛选时省略 | subtitle=中文字幕 | 字幕筛选 |
quality | 可选 | 无筛选时省略 | quality=4K | 清晰度筛选 |
year | 可选 | 无筛选时省略 | year=2025 | 年份筛选 |
规则:
- 搜索提交时必须带
q。 page、sort是页面状态必需项,但默认值可在 URL 中省略。- 切换筛选或排序后,
page重置为 1。 - 翻页时保留
q、sort、筛选条件。 - 清空某个筛选项时,从 URL 移除对应参数。
- 搜索页为
noindex功能页,不需要为筛选参数做 SEO canonical 设计,但用户状态必须稳定。
示例:
search.html?q=波多野结衣&page=2&sort=latest&subtitle=中文字幕&quality=1080P
#9.1.2 综合搜索页形态
当输入无法唯一判断为番号、女优、标签、属性时,进入综合搜索。
触发场景:
- 同一搜索词同时命中女优和标签,但不能唯一确定主意图。
- 输入包含多个意图,如
波 无码、新人 4K。 - 输入是泛词或短词,无法强判。
- 输入既命中标题,又命中标签/属性。
页面标题:
搜索「xxx」
辅助提示:
为你找到以下相关内容
模块顺序:
- 可能相关的女优,最多 2 个。
- 相关条件,最多 5 个。
- 视频结果列表。
- 分页。
展示规则:
- 只有命中的模块才展示。
- 视频结果列表永远是主体。
- 女优、相关条件都是辅助入口,不替代视频列表。
- 辅助模块不分页。
- 视频列表按普通关键词相关度排序。
示例:
搜索「波 无码」
可能相关的女优
[波多野结衣] [波多美咲]
相关条件
[类型] 无码
视频结果
[视频卡列表,每页 20]
综合搜索不展示“已为你匹配”,因为系统没有唯一改写用户输入。
综合搜索的条件应用规则:
- 如果输入中包含无歧义属性词,则自动转为筛选条件。
- 如果输入中包含无歧义标签词,则作为相关条件,并可参与视频召回。
- 如果剩余词仍有关键词,则用于标题、简介、女优名、标签等普通匹配。
- 自动应用的条件必须在筛选栏或条件条中可见。
- 用户可以手动取消自动应用的条件。
- 用户取消条件后,URL 同步移除对应参数,并重新搜索。
- 多义词不自动应用为条件,只展示候选。
示例:
输入: 波 无码
识别:
- “波” = 女优/标题弱匹配,不能唯一确定
- “无码” = 类型属性,唯一确定
结果:
- 展示可能相关的女优候选
- 自动应用 type=无码
- 视频列表按“波”相关 + 无码条件展示
输入: 新人 4K
识别:
- “新人” = 标签/标题关键词
- “4K” = 清晰度属性,唯一确定
结果:
- 自动应用 quality=4K
- 视频列表按新人相关 + 4K 条件展示
输入: 无
识别:
- 可能是“无码”
- 也可能是“无字幕”
结果:
- 不自动应用条件
- 展示 [类型] 无码、[字幕] 无字幕 两个相关条件候选
#9.2 番号精确命中
采用方案 C:
番号精确命中
- 1 条主结果
更多相关结果
- 标题 / 番号 / 相关字段继续匹配到的视频列表
规则:
- 顶部独立展示“番号精确命中”模块。
- 主命中展示 1 条视频大卡或单卡。
- 精确命中的视频不在下方列表重复出现。
- 下方列表为空时,只展示主命中。
- 更多相关结果支持筛选、排序、分页。
#9.3 番号前缀命中
用户输入如 ABCD 时:
- 展示相关番号视频列表。
- 候选番号必须以用户输入为前缀。
- 支持筛选、排序、分页。
#9.4 女优命中
用户输入唯一命中女优时:
女优命中卡
- 女优名称
- 作品数
- 出道信息
- 头像或占位头像
她的作品列表
规则:
- 女优卡可点击进入女优页。
- 作品列表来自女优关联作品,不是简单标题匹配。
- 如果输入里同时包含属性,如
波多野结衣 中字,作品列表自动带入字幕条件。
#9.5 属性命中
用户输入如 中文字幕、中字、无码、4K 时:
- 结果页标题展示相关作品。
- 视频列表按对应属性筛选。
- 筛选栏可自动命中对应条件。
示例:
搜索「中字」
已为你匹配: 中文字幕
筛选: 字幕 = 中文字幕
#9.6 标签命中
用户输入如 素人、剧情、护士 时:
- 展示标签相关作品。
- 如果已有对应标签页入口,结果页可以提供“查看该条件全部作品”的入口。
- 不自动跳标签页,保持搜索联想和搜索结果页统一承接用户意图。
#9.7 普通关键词命中
用户输入标题词、题材词或模糊词时:
- 展示视频列表。
- 默认按相关度排序。
- 支持筛选、排序、分页。
#9.8 无结果
无结果页展示:
- 没有找到
xxx的结果。 - 有高置信纠错时展示“你是不是想搜”。
- 展示大家在搜或推荐搜索。
- 按推荐规则展示推荐视频,不固定强塞。
- 不硬凑低相关结果。
推荐视频方案:
方案 A: 全站热门兜底。
- 触发条件: 搜索自然结果数为 0,且没有可识别的明确条件。
- 如果视频有
hot字段,按hot从高到低排序。 - 如果没有
hot字段,按发布时间倒序排列,最新发布的在前。 - PC 候选数大于等于 10 时展示 10 条;5 到 9 条时展示实际数量;少于 5 条时不展示视频推荐,强化大家在搜。
- H5 候选数大于等于 8 时展示 8 条;4 到 7 条时展示实际数量;少于 4 条时不展示视频推荐,强化大家在搜。
方案 B: 条件可识别时的相关推荐。
- 完整番号未命中: 展示“未找到该番号”,如果有同前缀番号,则展示同前缀相关番号;没有同前缀则进入方案 A。
- 像女优但未精确命中: 只展示由正式名、别名、罗马音/英文名、简称匹配出的女优候选;用户点击候选后进入该女优搜索结果。
- 命中属性: 推荐满足该属性的视频,如 4K、中文字幕、无码。
- 命中标签: 推荐包含该标签的视频。
- 命中年份: 优先按视频
year字段推荐该年份视频;没有year时按发布时间年份处理。 - 普通关键词无结果: 不强做弱相关,进入方案 A。
- 完全乱码或无意义词: 可进入方案 A,也可只展示大家在搜。
说明:
- 如果标题、番号、女优、标签、属性任一字段命中视频,则不算无结果,直接展示搜索结果。
- 只有自然结果数为 0 时,才进入无结果页推荐。
- 推荐视频不插中插广告,避免用户已挫败时继续打断。
#10. 筛选与排序
#10.1 筛选项
本次迭代搜索结果页至少支持:
- 类型: 有码 / 无码。
- 字幕: 中文字幕 / 无字幕。
- 清晰度: 4K / 1080P / 720P。
- 年份。
交互规则:
- 类型、字幕、清晰度、年份本次均为单选。
- 每组筛选都有“全部”选项。
- 年份本次按单年筛选,不做年份区间。
- 切换筛选后,页码重置为第 1 页。
- 自动匹配出的属性条件可以手动取消。
- 取消自动条件后,按剩余关键词重新搜索。
- 筛选后无结果时,展示“当前筛选无结果”,并提供“清空筛选”按钮。
- 筛选条件必须同步到 URL。
筛选后无结果展示:
当前筛选下没有结果
[清空筛选]
说明:
- 筛选后无结果不等于原始搜索无结果。
- 筛选后无结果页可以保留原始搜索的推荐视频,但不插中插广告。
#10.2 排序项
排序项:
- 默认相关度。
- 最新。
- 最热。
标签/属性命中默认排序:
- 标签、属性命中后,先按命中条件筛出视频,再排序。
- 标签命中、属性命中、标签 + 属性组合命中,默认按发布时间倒序排列,最新发布的在前。
- 如果同时命中多个条件,完全满足所有条件的视频在前;只满足部分条件的视频作为补充结果在后。
- 同一组内按发布时间倒序排列。
- 用户手动切换“最热”时,如果视频有
hot字段,按hot从高到低;如果没有hot字段,仍按发布时间倒序排列。
#10.3 默认相关度排序
默认相关度用于普通关键词、综合搜索、更多相关结果等视频列表。
评分原则:
- 强字段命中优先于弱字段命中。
- 完全匹配优先于前缀匹配。
- 前缀匹配优先于包含匹配。
- 同等相关度下,再看
hot和发布时间。
建议评分:
| 命中类型 | 加分 | 说明 |
|---|---|---|
| 番号精确命中 | +100 | 最高优先级 |
| 番号前缀命中 | +80 | 如 ABCD 命中 ABCD-123 |
| 标题完整包含搜索词 | +60 | 标题里完整出现用户输入 |
| 女优字段命中 | +55 | 视频关联女优命中 |
| 标签字段命中 | +45 | 题材标签命中 |
| 属性字段命中 | +40 | 字幕、类型、清晰度等命中 |
| 简介命中 | +20 | 仅作为补充召回 |
| hot 较高 | +0 到 +20 | 有 hot 字段时使用,无字段时跳过 |
| 发布时间较新 | +0 到 +10 | 作为同分辅助 |
规则:
- 番号精确命中仍走番号主结果,不只依赖分数排序。
- 女优唯一强命中仍走女优结果页形态,不只依赖视频分数。
- 分数用于视频列表内部排序,不改变结果页主意图。
- 简介命中权重低,避免简介长文本把弱相关视频顶上来。
- 同一视频多个字段命中时,可以累加,但应设置分数上限,避免堆字段刷相关度。
- 没有
hot字段时,跳过热度加分。
同分兜底:
- 有
hot字段时,hot高的在前。 - 发布时间新的在前。
- 内容状态可播放的在前。
- 仍相同,按内容 ID 或后台固定顺序兜底。
#10.4 最热排序
hot 是视频的全站系统热度字段,不是运营手动加权字段,也不是搜索页临时计算字段。
规则:
- 如果视频有
hot字段,最热排序按hot从高到低。 hot可以由搜索点击、详情页点击、播放、收藏等全站行为数据生成,但本 PRD 不要求搜索功能自己生成hot。- 如果没有
hot字段,隐藏“最热”排序选项。 - 如果产品或技术必须保留“最热”入口,则点击“最热”时按发布时间倒序排列,最新发布的在前,并不展示为真实热度排序。
hot的具体生成方式由后端或数据系统负责,产品不要求运营手动给视频加权。- Demo 阶段可以使用占位数据中的
hot字段。
口径说明:
- “大家在搜”依赖搜索行为数据。
- “最热排序”依赖视频
hot字段。 - 搜索行为数据未来可以成为
hot的来源之一,但不能把搜索次数直接当作视频热度。
#10.5 运营加权
本期不做运营搜索加权。
运营只参与:
- 内容上下架。
- 风险词过滤。
- 违规结果屏蔽。
不做:
- 视频搜索排序加权。
- 女优搜索排序加权。
- 标签搜索排序加权。
- 热搜词人工置顶。
说明:
- 搜索排序只认匹配规则和真实用户行为数据。
- 产品后台不提供“把某视频/女优/标签强行排前”的加权入口。
- 如果运营确实希望某内容在搜索体系里更容易被看见,应优先通过正常内容运营位、首页楼层、合集、推荐位解决。
- 如运营坚持影响搜索热度,只能通过前台真实路径产生行为数据,不作为后台加权功能需求。
#11. 搜索词映射管理
#11.1 功能定义
后台功能名:
搜索词映射管理
目标:
- 处理用户输入不标准的问题。
- 支持同义词、别名、错别字、罗马音、简称。
- 将用户输入转换成明确搜索条件。
#11.2 词库来源
| 来源 | 说明 | 示例 |
|---|---|---|
| 系统预制词 | 产品定义的基础映射 | 中字、无马、高清 |
| 内容自动生成词 | 从内容数据生成 | 番号、女优名、标签、属性 |
| 运营补充词 | 系统无法自动知道的词 | 女优别名、罗马音、简称、错别字 |
#11.3 预制词示例
中字 -> 中文字幕
中文 -> 中文字幕
无马 -> 无码
无修 -> 无码
高清 -> 4K / 1080P
4k -> 4K
#11.4 维护规则
- 系统预制词默认启用。
- 内容词自动生成,不需要人工维护。
- 运营只补系统不知道的别名、错别字、高频失败词。
- 无歧义词可自动匹配。
- 多义词不自动改写,进入综合搜索。
- 同一个词不能同时配置多个自动改写目标。
- 无结果搜索词进入待处理池,供运营判断是否补词。
- 自动匹配词需要审核后上线。
#11.5 状态流转
搜索词映射后台至少需要以下状态:
| 状态 | 含义 |
|---|---|
| 待审核 | 新增或修改后,等待审核 |
| 已启用 | 已生效,可参与搜索识别 |
| 已禁用 | 暂停生效,不参与搜索 |
| 冲突 | 与已有自动映射目标冲突,不能上线 |
| 已回滚 | 线上配置被回滚到上一版本 |
最小字段:
- 输入词。
- 标准词。
- 目标类型,如女优、标签、字幕属性、类型属性、清晰度属性。
- 目标值。
- 是否自动改写。
- 状态。
- 创建人。
- 审核人。
- 创建时间。
- 审核时间。
- 生效时间。
- 最近修改记录。
规则:
- 新增自动改写词必须先进入待审核。
- 审核通过后才进入已启用。
- 出现一词多目标冲突时,状态标记为冲突,不允许启用。
- 已启用词可以禁用。
- 已启用词修改后应生成新版本,不能直接覆盖旧版本。
- 需要支持回滚到上一可用版本。
#11.6 对前台的影响
词库不是前端文字替换,而是把用户输入转换成搜索条件。
影响:
- 联想面板展示标准结果。
- 结果页展示“已为你匹配: 标准词”。
- 属性类词可自动带入筛选条件。
- 多义词展示多个相关区,不替用户改词。
#12. 后台能力需求
本节不定义接口,只定义功能能力。
#12.0 渲染结果示例
本 PRD 不定义接口字段,不要求后端按本文示例返回固定字段。以下只说明前端页面需要拿到哪些信息,便于渲染对应形态。
示例 A: 中字
页面需要知道:
- 用户原始输入是
中字。 - 系统识别为字幕属性。
- 标准匹配词是
中文字幕。 - 需要展示“已为你匹配: 中文字幕”。
- 视频列表按
字幕 = 中文字幕展示。 - 当前筛选栏中
字幕为中文字幕。
示例 B: 波 无码
页面需要知道:
- 用户原始输入是
波 无码。 波不能唯一确定女优。无码是明确类型属性。- 页面进入综合搜索。
- 页面展示可能相关的女优候选。
- 视频列表自动应用
类型 = 无码。 - 用户可以取消
无码条件。
示例 C: ABCD-123
页面需要知道:
- 用户原始输入是
ABCD-123。 - 命中番号精确结果。
- 顶部展示 1 条番号主命中。
- 下方展示更多相关结果,且不重复主命中视频。
说明:
- 前端不应靠字符串猜测结果页形态。
- 技术实现可以自行设计接口字段,但必须满足上述渲染需求。
- 多义词进入综合搜索时,页面要能区分“主结果”和“辅助模块”。
#12.1 搜索联想能力
解决的问题: 用户输入过程中快速确认搜索方向。
需要支持:
- 根据当前输入返回分区联想结果。
- 区分番号、女优、视频、相关条件。
- 支持 PC/H5 不同数量上限。
- 支持输入法组合阶段不误触发。
#12.2 意图识别能力
解决的问题: 搜索结果页应该展示哪种主形态。
需要支持:
- 番号精确命中。
- 番号前缀命中。
- 女优唯一强命中。
- 属性强命中。
- 标签强命中。
- 普通关键词命中。
- 综合搜索。
- 无结果。
#12.3 搜索结果能力
解决的问题: 用户进入结果页后的完整浏览。
需要支持:
- 视频列表。
- 女优卡和作品列表。
- 番号主命中和更多相关结果。
- 筛选、排序、分页。
#12.4 行为统计能力
解决的问题: 生成大家在搜、最热排序、搜索优化依据。
需要记录:
- 搜索词提交。
- 搜索结果点击。
- 详情页点击。
- 无结果搜索词。
本期不要为了热度引入复杂运营加权。
核心事件:
| 事件名 | 触发时机 | 用途 | 关键归因 |
|---|---|---|---|
search_submit | 用户回车、点搜索按钮、点联想进入结果页 | 统计搜索次数和搜索来源 | 搜索 ID、原始词、标准词、来源、是否首次搜索 |
suggest_expose | 联想面板展示结果 | 统计联想曝光 | 联想曝光 ID、输入词、展示分区 |
suggest_click | 点击联想项 | 统计联想点击率 | 联想曝光 ID、搜索 ID、点击分区、点击位置 |
search_result_view | 搜索结果页首屏渲染完成 | 统计结果页曝光和耗时 | 搜索 ID、意图、结果数、页码、筛选、排序、耗时 |
result_click | 点击视频、女优卡、纠错建议 | 统计搜索后点击率 | 搜索 ID、点击对象、所在模块、位置、页码 |
filter_change | 改变筛选条件 | 统计筛选使用 | 搜索 ID、筛选项、变更前后状态 |
sort_change | 改变排序 | 统计排序使用 | 搜索 ID、变更前后排序 |
page_change | 点击分页 | 统计翻页行为 | 搜索 ID、前后页码 |
no_result_view | 展示无结果页 | 统计无结果率 | 搜索 ID、原始词、标准词、是否有纠错 |
公共归因信息:
- 会话。
- 用户,未登录可为空。
- 设备类型。
- 页面 URL。
- 时间。
- 是否疑似异常流量,如可识别。
归因规则:
- 一次搜索生成一个
search_id。 - 同一次搜索的翻页、筛选、排序、点击沿用同一个
search_id。 - 用户提交新关键词时生成新的
search_id。 - 联想曝光可先使用
tracking_id,点击联想进入结果页后与search_id关联。
防刷和去重规则:
- 同一 session 内短时间重复搜索同一词,只计入搜索日志,不重复贡献热搜权重。
- 同一 session 对同一结果的连续重复点击,只计一次有效点击。
- 明显异常频率的搜索或点击,不进入大家在搜和最热排序。
- 已识别的爬虫、监控、测试流量,不进入热度统计。
- 后台需要区分“原始日志”和“用于热度计算的有效行为”。
- 搜索后没有任何点击的高频词,不应直接进入大家在搜,应进入待分析池。
最小可执行口径:
- 按 session 去重。
- 按 IP/设备指纹做异常频率过滤,具体阈值由技术实现评估。
- 后台保留黑名单和过滤规则,不让异常词污染热榜。
#12.5 风险与过滤能力
需要支持:
- 内容下架后不出现在搜索中。
- 已识别的风险词不出现在大家在搜。
- 违规内容不被联想和结果页召回。
- 如果暂无风险词词库,未审核用户搜索词不自动进入大家在搜、联想推荐和公开推荐位。
风险词搜索结果页处理:
| 场景 | 搜索联想 | 搜索结果页 | 是否进入最近搜索 | 是否进入大家在搜 |
|---|---|---|---|---|
| 风险词 | 不展示联想结果 | 展示安全提示或无结果,不展示推荐视频 | 否 | 否 |
| 禁用词 | 不展示联想结果 | 展示无结果或合规提示 | 否 | 否 |
| 无意义词 | 可提交搜索 | 普通无结果页 | 可保存,除非命中风险规则 | 否 |
| 高频误输入 | 可提交搜索 | 无结果或纠错 | 可保存 | 否,进入待处理池 |
前端文案建议:
没有找到相关内容
请尝试更换关键词
说明:
- 已识别风险词不展示“大家在搜”兜底,避免继续引导敏感方向。
- 已识别风险词不展示热门推荐视频,避免误导为站内推荐。
- 风险词是否记录到后台,由风控策略决定;产品层面不进入公开推荐体系。
- 本次不强制要求已有完整风险词库,但必须保证未审核用户搜索词不会自动进入公开展示模块。
#13. 纠错与无结果兜底
#13.1 纠错范围
本期做规则型纠错:
- 大小写纠错。
- 番号横杠兼容。
- 番号空格兼容。
- 同义词映射。
- 属性映射。
- 女优别名、罗马音、简称匹配。
不做:
- 复杂自然语言纠错。
- AI 语义纠错。
- 低置信强行推荐。
#13.2 展示规则
明确纠错时:
搜索「中字」
已为你匹配: 中文字幕
不明确时:
- 不展示“已为你匹配”。
- 不自动改写。
- 展示综合结果或无结果兜底。
#14. 广告策略
搜索广告采用知识库《搜索结果页广告位方案(定稿)》。
页面定位:
- 搜索结果页是
noindex功能页。 - 广告可比可收录列表页放开一档。
- 唯一底线是不能淹没搜索结果。
广告位:
- 视频流中插赞助卡。
- 分页器上方横幅 1 条。
中插规则:
| 用户状态 | 中插赞助卡数量 | 说明 |
|---|---|---|
| 首次搜索 | 2 个 | 克制,信任未建立 |
| 非首次搜索 | 4 个 | 放开到上限 |
规则:
- 首次/非首次按 session 内是否已搜索过判断。
- 中插封顶 4 个。
- 广告不能导致视频结果失去主体地位。
- 无结果页不放中插广告。
- 番号精确命中页按搜索结果页广告规则执行,但主命中模块必须优先展示,不被广告打断。
- 广告卡必须有明确“广告”标识。
- 广告卡不能伪装成自然视频结果,视觉上可以同网格但必须可识别。
- 广告卡互动只进入广告指标,不进入搜索结果点击率。
插入位置:
| 用户状态 | 中插数量 | 插入卡位 |
|---|---|---|
| 首次搜索 | 2 | 第 6、16 个展示卡位 |
| 非首次搜索 | 4 | 第 6、11、16、20 个展示卡位 |
广告是否占 20 个卡位:
- 搜索结果页每页为 20 个展示卡位。
- 中插广告占展示卡位,不额外增加页面卡片数量。
- 首次搜索可见 18 条自然视频 + 2 个广告卡。
- 非首次搜索可见 16 条自然视频 + 4 个广告卡。
- 页面仍保持 PC 5×4、H5 2×10 的整齐网格。
分页统计口径:
totalItems按自然视频结果总数计算,不包含广告卡。totalPages按自然视频结果总数和每页自然结果容量计算,不按 20 个展示卡位直接计算。- 广告卡只影响当前页可展示的自然结果数量,不改变自然结果总数。
- 分页器展示的总页数以自然结果分页为准。
- 广告卡不参与结果序号,不计入“第几条自然结果”。
示例:
非首次搜索: 每页 20 个展示卡位,其中 4 个广告卡
每页自然结果容量 = 16
自然结果 totalItems = 48
totalPages = 3
第 1 页自然结果: 1-16
第 2 页自然结果: 17-32
第 3 页自然结果: 33-48
自然结果分页取数:
- 广告占展示卡位,但不能导致自然结果丢失。
- 每页自然结果数量 = 20 - 当前页广告数量。
- 首次搜索广告策略下,每页展示 18 条自然结果,第 2 页从第 19 条自然结果开始。
- 非首次搜索广告策略下,每页展示 16 条自然结果,第 2 页从第 17 条自然结果开始。
- 同一次搜索的广告策略需要固定,不因翻页变化导致自然结果重复或跳号。
- 后端分页如果按自然结果分页,需要知道当前搜索的
adProfile和自然容量。 - 前端不能简单取 20 条自然结果再用广告替换其中几条,否则会造成自然结果丢失。
- 如果后端返回分页数据,推荐直接返回当前页自然结果列表、自然结果总数、每页自然容量和广告卡位配置。
示例:
非首次搜索,每页 4 个广告
第 1 页自然结果: 1-16
第 2 页自然结果: 17-32
第 3 页自然结果: 33-48
结果数量不足时:
| 可展示自然结果数 | 中插规则 |
|---|---|
| 0 | 不插中插 |
| 1 到 5 | 不插中插 |
| 6 到 15 | 最多插第 6 位 1 个 |
| 16 到 19 | 首次最多 2 个;非首次最多 3 个 |
| 20 及以上 | 按首次 2 个、非首次 4 个执行 |
筛选后结果变少时:
- 按筛选后的当前结果数重新计算中插数量。
- 不能为了塞广告让广告数量超过自然结果主体。
- 无结果、弱结果页以推荐和纠错为主,不强插广告。
#15. 本次迭代范围与边界
#15.1 本次迭代必须交付
本次目标不是先做一个“能搜”的半成品,而是把 Demo 上线版本的搜索体验闭环一次做完整。以下能力都属于本次开发范围。
搜索入口:
- 全站公共搜索统一进入
search.html?q=。 - PC 顶部搜索框支持提交和联想。
- H5 全屏搜索面板支持提交和联想。
- 搜索占位文案保持“番号 / 女优 / 关键词”。
搜索联想:
- 空态展示最近搜索和大家在搜。
- 输入后展示搜索当前词、番号命中、女优命中、相关条件、相关视频。
- 联想点击统一进入搜索结果页,不直跳详情页、女优页、标签页。
- 联想请求支持防抖、取消上一次请求、失败降级。
搜索结果:
- 番号精确命中展示主命中视频,并补充相关番号/相似作品。
- 番号前缀命中展示相关番号列表。
- 女优命中展示女优卡和她的作品列表。
- 标签/属性命中展示相关条件和视频列表。
- 普通关键词命中展示视频列表。
- 多意图无法唯一判断时进入综合搜索页。
- 无结果页展示纠错、大家在搜和推荐视频。
筛选、排序、分页:
- 支持类型、字幕、清晰度、年份筛选。
- 支持最新、最热、相关度排序。
- PC/H5 都使用传统分页。
- 每页 20 个展示卡位,PC 5×4,H5 2×10。
- 筛选、排序、分页状态进入 URL,默认值可省略。
搜索数据能力:
- 支持查询归一化。
- 支持番号横杠兼容。
- 支持基础搜索词映射,如
中字 -> 中文字幕。 - 支持女优正式名、别名、罗马音、简称匹配。
- 支持搜索词映射后台的审核、启用、禁用、冲突和回滚。
- 支持用户搜索行为统计,用于大家在搜、最热排序和搜索质量指标。
- 支持基础反作弊,避免热词和最热排序被异常行为污染。
广告与风控:
- 搜索结果页接入既定广告策略。
- 广告占展示卡位,不伪装自然结果。
- 无结果页不放中插广告。
- 已识别风险词、禁用词不进入联想、大家在搜、最近搜索和搜索质量指标;如暂无词库,未审核用户搜索词不进入公开推荐模块。
#15.2 本次明确不做
以下不是本次搜索闭环需要解决的问题,写入边界是为了避免需求发散。
- AI 语义搜索。
- 复杂自然语言理解。
- 搜索结果页 SEO 收录化。
- 联想点击直跳详情页、女优页、标签页。
- 运营后台手动加权搜索排序。
- 影评搜索。
- 过度个性化推荐。
- 全站标题、人名、标签的自动繁简强转换。
- 年份区间、多选筛选等复杂筛选。
- 合集实体搜索。
#15.3 后续增强参考
这些能力可以在本次搜索闭环稳定后再评估,但不影响本次 PRD 的交付判断。
- 更细的个性化推荐。
- 更复杂的拼写纠错。
- 标签页与搜索页深度联动。
- 搜索行为分析后台的深度报表。
- 广告按用户分层、结果多少、意图强弱做更细策略。
- 更大规模的女优别名、罗马音、简称数据补全。
- 合集实体搜索与搜索结果页联动。
#16. 已定规则、上线前配置样例与动态规则
#16.1 已定规则
- 搜索结果页每页 20 个展示卡位,PC 5×4,H5 2×10。
- H5 搜索结果页使用传统分页,不使用加载更多。
- 无结果页推荐视频按候选数量动态展示,不固定强塞。
- 无结果页不放中插广告。
- 搜索结果页广告按首次搜索 2 个中插、非首次搜索 4 个中插执行。
- 本次不做合集实体搜索;合集内视频如命中关键词,可作为普通视频结果出现。
- 冷启动推荐搜索做简单预置;真实行为数据足够后,由大家在搜接管。
- 最热排序优先使用
hot字段;没有hot时按发布时间倒序排列,最新发布的在前。
#16.2 上线前配置样例
以下配置只是行业通用示例,最终以站内真实标签、属性、视频库存和审核结果为准。
冷启动推荐搜索词示例:
中文字幕、4K、1080P、无码、有码、素人、剧情、制服、人妻、巨乳、护士、女教师
不放:
最新上架、本月热播、精选合集、单体作品
原因:
最新上架、本月热播属于榜单或排序入口,不是稳定关键词。精选合集属于合集实体入口,本次不做合集实体搜索。单体作品如果没有作品形态字段或标签,搜索结果不稳定。
#16.3 无结果页推荐视频动态规则
方案 A: 全站热门兜底。
- 搜索自然结果数为 0,且没有可识别明确条件时使用。
- 如果视频有
hot字段,按hot从高到低排序。 - 如果没有
hot字段,按发布时间倒序排列,最新发布的在前。 - PC 候选数大于等于 10 时展示 10 条;5 到 9 条时展示实际数量;少于 5 条时不展示视频推荐,强化大家在搜。
- H5 候选数大于等于 8 时展示 8 条;4 到 7 条时展示实际数量;少于 4 条时不展示视频推荐,强化大家在搜。
方案 B: 条件可识别时的相关推荐。
- 完整番号未命中: 优先推荐同前缀番号;没有同前缀时进入方案 A。
- 像女优但未精确命中: 只展示由正式名、别名、罗马音/英文名、简称匹配出的女优候选。
- 命中属性: 推荐满足该属性的视频。
- 命中标签: 推荐包含该标签的视频。
- 命中年份: 优先按视频
year字段推荐;没有year时按发布时间年份推荐。 - 普通关键词无结果: 不强做弱相关,进入方案 A。
- 完全乱码或无意义词: 可进入方案 A,也可只展示大家在搜。
#16.4 合集搜索边界
本次不做合集实体搜索。
规则:
- 搜索联想不展示合集入口。
- 搜索结果页不展示合集卡片或合集模块。
- 不匹配合集标题、合集简介。
- 不自动汇总合集下视频标签作为合集标签。
- 如果合集内的视频本身命中番号、女优、标签、属性或标题关键词,该视频可以作为普通视频结果出现。