検索結果でwikiを作りたい Edit

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

一覧と集計。

実装に必要なもの Edit

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

→PageFactoryではページを要求されたとき…

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

…という3つのモードを用意。


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

PageFactoryを抽象クラスにして。