• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:&tag(検索,ToDo);

**検索結果でwikiを作りたい [#p1cbc358]
検索結果をwiki化できたら、wikiの全機能を検索に再利用できる。
検索結果からタグクラウドを作る、検索結果だけに限ったRSS生成、サイトマップ、イメージ一覧、…

一覧と集計。


**実装に必要なもの [#w07f0277]
検索のメモ化と、検索過程でできたページの集合をページ永続化クラスPageFactoryに渡すこと。
PageFactoryではファイル以外に(スコア付きの)ページオブジェクトの集合も受け取れるように。
ページの集合よりもメモ化された永続化オブジェクトのほうが良さそう。永続化されたページと、永続化された検索結果としてのページ(の内部名の)集合。

→PageFactoryではページを要求されたとき…
-検索中
--検索中、検索/スコアリングから流れてきたページオブジェクトの集合を保管しておいてそこから返す。メモ化もする。その集合内のページだけ返し、それ以外は存在しないと回答する。ただし設定類のページは読み込めないと。
--検索中、検索/スコアリングからのオブジェクトが無い場合、メモ化された検索/スコアリングの結果を探して、そこからページを復元して返す。メモ化されたスコアリング結果にあるページだけ返し、それ以外は存在しないと回答する。ただし設定類のページは読み込めないと。
--(検索中、スコアリング結果が見つからないのはエラー)
→PageFactoryではなく、検索の中のクラスが…
-%%検索中%%
--%%検索中、検索/スコアリングから流れてきたページオブジェクトの集合を保管しておいてそこから返す。メモ化もする。その集合内のページだけ返し、それ以外は存在しないと回答する。ただし設定類のページは読み込めないと。%%
--%%検索中、メモ化してあるクエリーなら、メモからページを復元して返す。メモ化されたスコアリング結果にあるページだけ返し、それ以外は存在しないと回答する。ただし設定類のページは読み込めないと。%%
--%%(検索中、スコアリング結果が見つからないのはエラー)%%
-通常時、永続化されたページオブジェクトをファイルから復元して返す。制限なし。

…という3つのモードを用意。
復元していいページリスト(スコア付き)は検索クラス内。
ページの復元を行なうのはPageFactory(通常時と同じ手順)でなければいけない。

----
検索中と通常時でクラスを分ける?
親子?抽象クラスを親に持つ兄弟?
→完全な互換性が無いので兄弟。

PageFactoryを抽象クラスにして。


----
設定類は特別なメソッドでアクセスできるように。
ユーザーに閲覧権限が無くても設定類ページは復元しなければならない。
対象ページを制限するようなことはしない。ページが設定類じゃなくても制限なし。