検索/クエリーを実現するクラスはいろいろと考えられるので、

  • 正規現を与えて利用できる汎用なもの
  • ログラムで定義、特殊な評価方法をするもの

…などで。

スコアも機能での定義。機能では検索時の評価方法も定義しておく。基本はパラメーターだけの文字列比較。

date:2007/11/1

という検索式から
dateオブジェクト(内容:2007/11/1)
といったオブジェクトを作るように。
これがページ内の「2007/10/20」などといった内容のdateオブジェクトに適合。

"date:2012/12/12"と"last-changed:7d" Edit

期間指定と、「現在から指定時間以内」。
両方有用。