(ヽ´ω`) < 助けてほしいマン

わからないことを助けてほしいマンが書くブログ

(ヽ'ω`) < Moinmoinのマクロについて-検索系

(ヽ'ω`) < 検索系って…なんでグループできてるの?

公式ドキュメントではSearchMacroとしてグループ分けされているが、

HelpOnMacros - MoinMoin

ユーザがキーワードやページタイトル等の情報を入力して行う、いわゆる通常意味での"検索"と、

システム側がカテゴリ分類によってページを一覧化して表示する機能の大きく2つで分けられる。

(ヽ'ω`) < ユーザが入力して検索(検索フォーム表示系)

ユーザがキーワードを入力して行う検索に関連するマクロは以下の通り。
☆の数は独断と偏見による使用頻度とか便利さ的な感じ。

AdvancedSearch ☆

条件を詳細に選択して検索できるフォームを表示する。

<<AdvancedSearch>>

この一行だけで

f:id:tsugi-hagi:20141020151718p:plain

こんな馬鹿でかいフォームを表示する。

基本的にはいろんなページで使用する、検索ページ専用のマクロと考えたほうがいい。

TitleSearch ☆

ページのタイトルを対象に検索を行うフォームを表示する。

<<TitleSearch>>

f:id:tsugi-hagi:20141020151918p:plain

見たまんま。ページの内容については関知せず、タイトルのみを対象に検索を行う。

FullSearch ☆

ページのタイトル、内容を対象に検索を行うフォームを表示する。

<<FullSearch>>

f:id:tsugi-hagi:20141020152128p:plain

これも見たまんま。

GoTo ☆

これもAdvacnedSearchと同じで、使用頻度は低い、というか特殊なページでしか使わないだろうなーというマクロ。

ページ名を指定して移動するフォームを表示する。
ページが存在しない場合は、新規作成のためのページが表示される。

<<GoTo>>

f:id:tsugi-hagi:20141020152628p:plain

例えば上記のように何らかの文字を入力してボタンを押下すると、その名前のページが存在する場合はそのページを表示して、存在しない場合は以下の通り、新規作成のページが表示される。

f:id:tsugi-hagi:20141020152739p:plain

(ヽ'ω`) < Wiki内の特定条件に引っかかったページを一覧表示する

上記までが検索用フォームを表示するマクロ。

ここからがWiki内で与えられた条件に合致するページを一覧表示するマクロ。
おそらくこっちの方が利用頻度が多いと思われる。

FullSearch() ☆☆

現在のページのタイトルで検索を行い、検索結果を表示する。

括弧を忘れると検索用のフォームが表示されるだけなので注意

<<FullSearch()>>

f:id:tsugi-hagi:20141020152321p:plain

現在のページ自身と現在のページに対してリンクを張っているページが検索結果として表示される。

最初はなんに使うんだこのマクロ…と思っていたが、よくよく考えてみるとWiki内のバックリンクとして使えるのか。

FullSearch(text) ☆☆

括弧内に検索するキーワードを入れてやり、その条件に合致したページを一覧表示する。

言い換えると、FullSearchでフォームにtextの値を入力してボタンを押下した後の検索結果ページの内容を埋め込む。

<<FullSearch(Debian)>>

f:id:tsugi-hagi:20141020154142p:plain

上記の例ではDebianという文字列を検索している。検索対象はページのタイトルと内容の両方で、タイトルにひっかかった場合は、タイトル内の検索文字列が太字になる。

検索対象の文字列は、特定のフォーマットで記述することでカテゴリのみを検索対象にしたり、リンク文字列のみを検索対象とすることができる。
この説明についてはマクロの説明とは別で解説する。 (カテゴリ一覧の表示の際にcategory:CategoryHogeを検索対象にして例を挙げた)

FullSearchCached(text) ☆☆☆

基本的にはFullSearch(text)と同じ。

検索結果をキャッシュして、次回からの読み込みを高速化させる、頻繁に更新がされないキーワードに対して有効。

とのことだが、キャッシュの仕組みについて触れられてないので、挙動が不明。
どのタイミングでキャッシュされるのか、古いキャッシュへのミスヒットが無いのかといったところがわからない(ヽ'ω`)

<<FullSearchCached(Network)>>

f:id:tsugi-hagi:20141020160113p:plain

PageList(text) ☆☆

ページのタイトルのみを対象に検索を行い、検索結果の一覧を埋め込む。

FullSearch(text)のタイトルのみ対象バージョンと考えるとよい。

<<PageList(Debian)>>

f:id:tsugi-hagi:20141020160523p:plain

(ヽ'ω`) < ☆少ないね

(ヽ'ω`) < 管理者以外は設置しないでしょ

ほとんどの検索系のマクロは、管理者がWiki設置時に特殊なページに使うぐらいかなと。 ユーザが使う可能性があるのはFullSearch(text)ぐらい?

(ヽ'ω`) < そもそも☆はMAXでいくつなのよ?

(ヽ'ω`) < フィーリングでつけただけなので特に考えてないっていうね、これ