跳到主要内容
知识地图搜索与查询,为什么要分开?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS 与界面

一个问题

搜索与查询,为什么要分开?

找相关内容,与按明确条件取得记录,是两类请求。

“找一下关于界面协议的文章”和“找出类型为 concept、主题为 afs-ui-system 的记录,按顺序排列”,听起来都是找东西,要求却不一样。

搜索常以文字表达意图,由具体实现决定在哪些内容中匹配、怎样排序。结构化查询把条件、排序或选取字段明确写出来,调用者可以按这些条件理解结果。

问题更接近哪一种
有哪些文章谈到 X Window?文本搜索
哪些知识节点属于“界面的协议表达”?按字段条件查询
只取得这些节点的名称,并按作者指定顺序返回查询中的字段选择与排序

这个 Learning 目录也体现了后一种需要:页面不能每次随意挑几个看起来相关的节点,它要按内容声明的主题和顺序展示。

AFS 的 collection query 是可选的严格能力。声明支持时,实现应执行完整的查询要求,不能把不认识的条件悄悄忽略后仍当成成功。自由文本 search 的覆盖范围和排序则需要看具体 Provider。

不要只因两个请求最后都返回一组条目,就把它们的含义和保证当成一样。

继续深入

AFS 技术文档。

检查一下理解

查询中不支持的条件,能不能忽略后仍返回“成功”?

严格的 collection query 合同不允许这样做;声明支持就应执行完整要求,否则要明确拒绝。

沿着学习路径继续