Data API 2.0で記事を検索する

Movable Type 6.1では、Data APIが大幅に拡張され、バージョン 2.0になりました。
新しい機能の1つに、記事の検索があります。
複数ブログ(またはウェブサイト)にまたがる記事を得ることができます。
この使い方を紹介します。

1.エンドポイントとパラメータ

検索の機能は、Movable Type標準の検索(mt-search.cgi)を流用して作られています。
検索のエンドポイントは以下のようになります。

http://your-host/path-to-mt/mt-data-api.cgi/v2/search

以下の各パラメータを組み合わせて、検索条件を指定します。
searchとIncludeBlogsのパラメータは必須で、その他はオプションです。

パラメータ内容
search検索する語句を指定します。
タイトル/本文/続き/キーワードのどれかのフィールドに、その語句が含まれる記事が検索されます。
IncludeBlogs検索対象のブログ(またはウェブサイト)のIDを指定します。
複数のブログ(ウェブサイト)を対象にする場合は、それらのIDをコンマで区切って並べます。
archive_typeカテゴリ/日付/ユーザーのいずれかの条件をつけて検索する場合に、それに対応するアーカイブのタイプを指定します。
MTArchiveListタグ等のarchive_typeモディファイアと同じ値を指定します。
category検索対象のカテゴリのIDを指定します。
複数のカテゴリのIDを指定することはできません。
author検索対象のユーザーのIDを指定します。
複数のユーザーのIDを指定することはできません。
year検索対象の年を指定します。
複数の年を指定することはできません。
month検索対象の月を指定します。
月が1桁の場合は、「01」のように10の位にゼロを付けます。
複数の月を指定することはできません。
day検索対象の日を指定します。
日が1桁の場合は、「01」のように10の位にゼロを付けます。
複数の日を指定することはできません。
limit出力する件数の上限を指定します。
page検索結果の先頭を飛ばして続きを読み込みたい場合に指定します。
例えば、limit=10&page=2とすると、検索結果の2ページ目(=先頭の10件を飛ばした次の10件)が読み込まれます。

例えば、以下の条件で記事を検索したいとします。

  • ブログ(またはウェブサイト)のIDが1番
  • 「MT」という語句を含む
  • 2015年に書かれた
  • カテゴリのIDが10番

この場合、以下のようなアドレスにアクセスします。

http://your-host/mt-data-api.cgi/v2/search?IncludeBlogs=1&search=MT&archive_type=Category-Yearly&year=2015&category=10

2.JavaScript SDKでアクセスする

JavaScript SDKを使ってアクセスする場合、「search」というメソッドを実行します。
上で挙げた例をJavaScriptで行う場合、以下のようなプログラムになります。

var params = {
    'IncludeBlogs': 1,
    'search': 'MT'
    'arcyve_type': 'Category-Yearly',
    'year': 2015,
    'category': 10
};
api.search(params, function(response) {
    検索結果に対する処理
});