开放数据站给每个数据集页加了 Dataset 标记,字段有 name、description、license,提交两个月 Google 数据集搜索里一条都没有。测试工具只提示部分字段可选,没有报错。
原因不止一个,得分开看。Dataset 必须带 distribution 才能进数据集搜索,缺了不报错;distribution 里的 contentUrl 指向登录后的下载地址;encodingFormat 写成中文,识别不出文件类型;license 指向的页面 404,被直接判无效。
第一件事是看现有标记结构
curl -s https://data.example.com/dataset/1 | grep -o '"@type":"Dataset"'
补上 distribution 节点
{"@type":"DataDownload","contentUrl":"https://data.example.com/file/1.csv","encodingFormat":"text/csv"}
随后确认下载地址匿名可访问
curl -sI https://data.example.com/file/1.csv | head -2
提交后查数据集收录
https://datasetsearch.research.google.com/
隔了一天再看,现象没变,说明不是偶发。
那几天正好在做别的变更,先把时间线对齐才敢动手。
排查用的命令都是临时敲的,没有写成脚本,事后才整理。
别只看报错消失,验证要多做一步。补全后测试工具显示 distribution 有效,数据集搜索里能检索到该条记录。
Dataset 的可选字段在报告里不报错,但缺 distribution 就等于没资格进数据集搜索。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
