Movable Type Data APIの使い方:検索
Movable Type 6から提供されているData APIの使い方を紹介します。
本エントリーでは、JavaScript SDK APIのsearch()を使った検索方法について解説します。
このAPIはMT6.1から有効です。
なお、REST形式で実行する場合は次のとおりです。
テキスト検索の場合
http://user-domain/mt-data-api.cgi/v2/search?search=hoge&IncludeBlogs=2&limit=5&SearchSortBy=authored_on&SearchResultDisplay=descend
タグ検索の場合
http://user-domain/mt-data-api.cgi/v2/search?tagSearch=1&search=hoge&IncludeBlogs=2&limit=5&SearchSortBy=authored_on&SearchResultDisplay=descend
クエリーの意味については本文を参照願います。
1.基本
search()は、記事・ウェブページの検索を行うためのAPIです。
search()を使って検索を行うための簡単なサンプルを紹介します。
<script>
// API生成コード等は省略
$('#search').click(function(){
var data = {
'search': $('#searchTerms').val(),
'IncludeBlogs': $('#IncludeBlogs').val(),
'ExcludeBlogs': $('#ExcludeBlogs').val(),
'SearchSortBy': $('#SearchSortBy').val(),
'SearchResultDisplay': $('#SearchResultDisplay').val(),
'tagSearch' : $('#tagSearch').prop('checked')
};
api.createField(data, function(response) {
if (response.error) {
$('#result').html('エラー:' + response.error.message);
} else {
$('#result').html(response.totalResults + '件ヒットしました');
for (i=0; i< response.items.length; i++) {
$('#result').append('<li>' + response.items[i].title + '</li>');
}
}
});
});
</script>
<ul>
<li><input type="text" id="searchTerms" />検索文字</li>
<li><input type="text" id="IncludeBlogs" />検索対象ブログID</li>
<li><input type="text" id="ExcludeBlogs" />検索対象外ブログID</li>
<li><input type="checkbox" id="tagSearch" />タグ検索
<li>
<select id="SearchSortBy">
<option value="" selected="selected">並べ替え</option>
<option value="created_on">作成日時</option>
<option value="title">タイトル</option>
</select>
</li>
<li>
<select id="SearchResultDisplay">
<option value="" selected="selected">並べ替え順</option>
<option value="ascend">昇順</option>
<option value="descend">降順</option>
</select>
</li>
<li><input type="button" id="search" value="検索" />
</ul>
<ul id="result"></ul>
JavaScriptライブラリのインクルードやapiの生成については「Movable Type Data APIの使い方(JavaScript SDKを使ったオブジェクトの生成)」を参照してください。
また、エラーのハンドリングについては「Movable Type Data APIの使い方(エラーのハンドリング)」を参照してください。
なお、上記のサンプルでは結果表示処理でjQueryを利用しているので、jQueryのインクルードも行ってください。
2.パラメータ
search()に設定するパラメータは次のとおりです。第2パラメータのdataはハッシュで設定します。
- data:検索情報(必須)
- callback:コールバック処理(オプション)
第1パラメータのdataの詳細は次のとおりです。
- search:検索文字列(必須)
- IncludeBlogs:検索対象のブログID、複数の場合はカンマ区切りで設定
- ExcludeBlogs:検索対象外のブログID、複数の場合はカンマ区切りで設定
- SearchSortBy:並べ替え基準(created_on:作成日時/title:記事タイトル)
- SearchResultDisplay:並べ替え順(ascend:昇順/descend:降順)
- tagSearch:タグ検索
3.レスポンス
検索に成功した場合のレスポンスとして、次のようなJSONデータが返却されます。
{"totalResults":"1","items":[{"excerpt":"test...","date":"2015-02-23T23:26:17\u002b09:00","status":"Publish","updatable":true,"author":{"userpicUrl":null,"id":"1","displayName":"mtbook"},"comments":[],"allowComments":true,"permalink":"http://user-domain/2015/02/test.html","keywords":"","body":"\u003cp\u003etest\u003c/p\u003e","trackbacks":[],"id":4,"allowTrackbacks":true,"modifiedDate":"2015-02-24T00:11:28\u002b09:00","trackbackCount":"0","blog":{"id":"2"},"categories":[{"parent":"0","label":"cat1","id":1},{"parent":"0","label":"cat2","id":2}],"tags":["hoge"],"commentCount":"0","assets":[],"basename":"test_1","format":"richtext","createdDate":"2015-02-23T23:26:31\u002b09:00","class":"entry","title":"test","pingsSentUrl":[],"more":"","customFields":[{"basename":"foo1","value":"123"},{"basename":"foo2","value":"abc"}]}]}
totalResultsにヒットした件数、items配下の配列にヒットした記事の情報が設定されます。
Posted by yujiro このページの先頭に戻る
- MovableTypeのDataAPIでコンテンツデータをモーダル表示させる方法
- Movable TypeのWorkflowプラグインでDataAPIが利用可能になる「WorkflowDataAPIプラグイン」
- Movable TypeのDataAPIで記事を投稿するサンプル
- Movable TypeのDataAPIで「403 Forbidden」になる場合の対処
- Movable TypeのDataAPIで特定のカスタムフィールドを取得する方法
- Movable TypeのDataAPIでアクセスランキングを表示する方法
- Movable TypeとGoogle Analyticsの連携
- Movable Type Data APIの使い方:カスタムフィールド検索
- Movable Type Data APIの使い方:カスタムフィールド作成
- Movable TypeのData APIを有効・無効にする方法のまとめ
- Movable Type Data APIの使い方:uploadAsset()
- Movable Type Data APIの使い方:publishEntries()
- Movable Type Data APIの使い方:authenticate()
- Movable Type Data APIの使い方:paramsについて
- Movable Type Data APIの使い方:listEntries()
トラックバックURL
コメントする
greeting