本章进度 12 / 18
67%
数据结构与算法直觉·练习·18 分钟
正文已完成

给课程目录写一份查找与排序契约

把搜索归一化、匹配范围、排序键和空结果交付成可测试规则。

L287
为什么现在学

现在把“查找与排序”用于一次具体操作,检查你能否独立做出并修正结果。

本课会用什么
  • 按本课练习说明准备真实材料
  • 保留练习与复盘记录

目录体验由一串细小决定组成。搜索是否忽略大小写,匹配哪些字段,多个结果如何排序,空关键词和无结果怎样处理,都要写进可测试的契约。

这一课的结果

能为一个目录类界面完成可实现、可验收的搜索排序设计。

核心概念

先把关键判断说清楚

01

归一化先于匹配

大小写、首尾空格和全半角差异应在搜索前统一,否则视觉相同的输入可能得到不同结果。

02

匹配范围要可解释

标题、摘要、标签和正文的权重不同;用户需要知道为什么某条结果被找到。

03

排序必须有最终兜底键

相关度或状态相同后再按稳定 ID 排序,才能保证相同输入返回相同顺序。

案例拆解

“Agent”课程搜索结果固定下来

课程目录同时匹配标题、摘要和篇章名,但没有权重与兜底键,部署后结果顺序经常变化。

  1. 01

    关键词转小写并去除首尾空格,空关键词返回当前筛选下全部课程。

  2. 02

    标题命中排在摘要命中之前,摘要命中排在篇章名命中之前。

  3. 03

    同等级结果按课程编号升序,无结果时保留筛选条件并给出清除入口。

案例结果

搜索结果可复现,用户也能理解匹配与排序逻辑。

提交前练习

现在轮到你

为一个至少包含两个筛选条件的目录写查找与排序契约。

完成本课需要:完成以下内容用于本课收口。

内容会自动保存在当前设备
查看参考答案与评分标准

参考答案

输入去空格并转小写;标题精确命中>标题包含>标签包含>摘要包含;同级按更新时间降序再按 ID 升序;空关键词显示全部,无结果保留关键词并提供清除按钮。

评分标准

  • 归一化规则可实现
  • 匹配和排序层级完整
  • 两类空状态不混淆

本课收口 · 学习证据

留下完整学习证据

读完内容、完成练习、通过理解检查并留下 12 字以上总结,才记为已验证。

0 / 4
02完成本课必填练习0 / 4 项必填内容已填写03通过理解检查点此去回答,约 30 秒
04写下 12 字以上总结还差 12 字
为什么结果排序需要一个稳定的最终兜底键?
你现在更接近哪一种状态?
尚有必填项未完成,请补齐后再继续。

资料来源

继续核对与延伸阅读

本课内容最近更新于 。