はじめに
データセットのメタデータには作成日(metadata_created)や修正日(metadata_modified)といった値が含まれています。検索条件としてタイトルやタグの文字列を使うだけでなく、日付を使った検索が可能です。
日時のフォーマット
CKANのバックエンドでは検索エンジンとして Solr が動作しています。日時を表すフォーマットは
YYYY-MM-DDThh:mm:ssZ
となっています。例えば2024年4月15日12時34分56秒は2024-04-15T12:34:56Z
という形になります。
日時の範囲表記
日時の範囲を表すには、ブラケット[ ]の中に TO を挟んで日時を並べて、
[2024-04-01T00:00:00Z TO 2024-04-30T23:59:59Z]
といった形になります。
Date Math 表記
具体的な数字以外に、NOW, DAY, MONTH といったキーワードを用いて日時を表すことが出来ます。
# 1週間前から今まで
[NOW-7DAY TO NOW]
# 1ヶ月までから10日前まで
[NOW-1MONTH TO NOW-10DAY]
詳細は Apache Solr Reference Guide を参照してください。
日時によるデータセット検索
CKAN API のデータセット検索 package_search で日付を使って検索してみます。
2024年4月15日から4月30日の間に作成されたデータセットを検索
curl -s "https://www.geospatial.jp/ckan/api/action/package_search?q=metadata_created%3A\[2024-04-15T00%3A00%3A00Z%20TO%202024-04-30T23%3A59%3A59Z\]"
7日前から今までの間に修正されたデータセットを検索
curl -s "https://www.geospatial.jp/ckan/api/action/package_search?q=metadata_modified%3A\[NOW-7DAY%20TO%20NOW\]"