[GAS][Sites]サイトからページを検索するには: 逆引きGoogle Apps Script

2012 年 7 月 22 日 日曜日

▼サンプルスクリプト

検索キーワードを含むページを取得し、検索結果数を表示するサンプルスクリプト。

function search() {
  var site = SitesApp.getSiteByUrl('https://sites.google.com/xxxxxx');
  var query = Browser.inputBox('キーワードを入力');
  var pages = site.search(query);
  Browser.msgBox(pages.length+'件ヒットしました');
}

行2 getSiteByUrl(url)でパラメータで指定したUrlのサイトオブジェクトを取得している。(参考:Urlからサイトオブジェクトを取得するには)
行3 入力ダイアログを表示して、ユーザーが入力した検索キーワードを取得している。
行4 {サイトオブジェクト}.search(query)により検索を実行する。
行5 ヒットした件数を表示している。

日本語の検索精度

日本語の検索精度は著しく低い。以下の文章を含むページをサイトに追加し、ヒットするキーワードとヒットしないキーワードを検証してみた。

Wikipedia – コンピュータセキュリティとは

コンピュータセキュリティ(英語:Computer Security)とは、コンピュータシステムを災害、誤用および不正な利用から守ることであり、ハードウェア、ソフトウェア、データのいずれについてもその機密性、完全性、可用性を維持することである。不正な利用とは、第三者による秘密情報へのアクセスや、許可されていない操作の実行などが含まれる。この語は、しばしばコンピュータセキュリティ(安全性)を保つための仕組みや技術を指すために用いられる。また、コンピュータセキュアとも呼ばれる場合もある。

ヒットしたキーワード:computer、security、コンピュータセキュリティ、コンピュータシステム、ハードウェア、ソフトウェア、完全性

ヒットしなかったキーワード:コンピュータ、セキュリティ、システム、災害、誤用、機密性、可用性、不正な利用、不正、利用

上記のように日本語による検索精度が低いため、実用性に乏しいかもしれない。英単語の検索精度は高いので、たとえば各ページに何らかの属性値を入力しておき、属性値にヒットしたページのテンプレートを一括で変更、といった使い方をしても便利かもしれない。

構文

search(query, optAdvancedArgs)

query
検索キーワード
optAdvancedArgs

type
ページの種類で検索対象を絞り込む。PageType参照。
start
検索結果の何件目から結果を取得するか。デフォルトは0。
end
何件取り出すか。デフォルトは200。startを10、endを100とした場合、全検索結果の10件目から110件目までが抽出される。
includeDrafts
下書きを検索対象に含めるかどうか
includeDeleted
削除済みページを検索対象に含めるかどうか

戻り値

Page[]
キーワードにマッチするページ

関連記事

コメント / トラックバック 1 件

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/03/313528.html/trackback