SearchEntriesプラグイン(Data API対応その2・基本的な使い方)

昨日に続き、SearchEntriesプラグインをData APIで使う方法を解説します。
今日は基本的な使い方です。

1.検索条件用のテンプレートモジュールの作成

まず、検索条件を指定するためのテンプレートモジュールを作成します。

検索対象のブログ(またはウェブサイト)でテンプレートモジュールを新規作成し、MTSearchConditionsタグのブロックを入れて、検索条件を指定します。
検索条件の書き方は、従来のバージョンと同じです。
詳しくは、SearchEntriesプラグインの解説のページを参照してください。

例えば、「タイトルに『MT』を含み、2014年1月以降に書いた記事」を検索する場合だと、テンプレートモジュールに以下のようなタグを入れます。

<mt:SearchConditions>
  <$mt:SearchConditionLike field="title" values="MT"$>
  <$mt:SearchConditionCompare field="authored_on" ge="20140101000000"$>
</mt:SearchConditions>

複数ブログ(ウェブサイト)を検索対象にすることもできます。
この場合、それらの中で主となるブログ(ウェブサイト)にテンプレートモジュールを作り、MTSearchConditionsタグにinclude_blogs等のモディファイアを指定して、検索対象のブログ(ウェブサイト)を指定します。

例えば、ウェブサイト配下のすべてのブログを検索対象にしたい場合、ウェブサイトにテンプレートモジュールを作り、MTSearchConditionsタグに「include_blogs="children"」のモディファイアを指定します。

なお、MTSearchLimitタグ/MTSearchOffsetタグは使用できません。
これらはData APIのlimit/offsetのパラメータで指定します。

2.Data APIでの検索を許可

テンプレートを入力し終わったら、保存する際に、DataAPI検索のカスタムフィールドのチェックボックスをオンにします。
これで、このテンプレートはDataAPIを通して検索できる状態になります。

3.エンドポイントにアクセス

ここまでの作業が終わったら、以下のようなエンドポイントにアクセスして、検索結果が返ってくることを確認します
なお、アドレスを読みやすくするために改行を入れていますが、実際には1行につなげます。

http://your-host/path-to-mt/mt-data-api.cgi/v1/search_entries
  ?templateBlogId=ブログID
  &templateName=テンプレート名

上記のアドレスのうち、以下の箇所をご自分の環境に応じて書き換えます。

書き換える箇所内容
your-hostMovable Typeのインストール先のサイトのアドレス
path-to-mtMovable Typeのインストール先ディレクトリ
ブログID検索条件用のテンプレートモジュールがあるブログ(またはウェブサイト)のID
テンプレート名検索条件用のテンプレートモジュールの名前をURLエンコードした値

例えば、以下のような環境があるとします。

your-hostwww.foo.com
path-to-mtmt6
ブログID1
テンプレート名DataAPI検索

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

http://www.foo.com/mt6/mt-data-api.cgi/v1/search_entries
  ?templateBlogId=1
  &templateName=DataAPI%e6%a4%9c%e7%b4%a2

templateBlogId/templateNameのパラメータのほかに、Data APIが標準で提供しているlimit/offset/fieldsのパラメータを指定することもできます。
例えば、上記の例で検索する際に、検索結果のうちの最初の10件を飛ばして次の5件を読み込み、タイトルと日付のフィールドだけ出力する場合だと、以下のようなアドレスにアクセスします。

http://www.foo.com/mt6/mt-data-api.cgi/v1/search_entries
  ?templateBlogId=1
  &templateName=DataAPI%e6%a4%9c%e7%b4%a2
  &offset=10
  &limit=5
  &fields=title,date