流れ Edit

01 Edit

ページ生成時

  1. ページ→オブジェクト(検索/クエリーと比較できるクラス。ページの内容を構成するクラス)
    保存。永続化検索時に使えるようにするため。
 

検索

  1. 検索式→オブジェクト
    検索式(文字列)→オブジェクト(検索/クエリー系クラス)
    1. オブジェクト選択
      比較時、検索/クエリー側のオブジェクト1つとページを構成するオブジェクト1つを選択しなければならない。
      検索/クエリー側は評価順が静的に決まっている。
      ページ側の順序ページが決めるので後回し。
    2. 比較
      同じクラスのオブジェクト同士の比較。
      検索/クエリーのスコア算出処理にページ側のオブジェクトを渡す→スコア
    3. スコア加算
      検索/スコアリングの方法でページを構成するオブジェクトごとにスコア加算。
  2. スコア集計・検索結果生成
    検索/フォーマットの機能で検索結果に含めるデータと、検索/ソートに渡すデータ生成。
    ページ単位で結果を出すなら、ページごとにスコアを集計、ページごとにデータ生成。
  3. ソート
    検索/ソートの機能で検索結果に含めるデータを並び替え。
  4. 検索結果生成
    HTML化。これはページ/責務。正確にはページの下位にある検索用WikiFormatの責務。

※スコア加算、集計、ソートが分かれているのは繰り返しの単位や範囲が違うから。

→プロトタイピング[?]

02 Edit

 
  1. 検索/クエリー
    検索式(文字列)を検索式(オブジェクト)に。ページ構成と同じ
  2. 検索/スコアリングで…
    ページ検索式を比較。
    出力用データを得る。
  3. 検索/フォーマットと検索/ソートで…
    出力用データの変換をする。
    出力用データの並び替えをする。

※すべて検索/クエリーで作ったオブジェクトの機能で行う。