RailsでKWIC

KWICと言っていいのか悩ましいところだが、検索結果で下記のようなことを行いたいケースは一般的だと思う。

  1. 検索語の前後x文字を表示
  2. 検索語を強調させたいときがある

これをRailsで実現するには、viewに以下のように書く。

highlight(excerpt(article_body, query_string, :radius => 50), query_string)

excerptは、指定した文字列の前後x文字を抽出する。
highlightは、指定した文字列をハイライトする。内部では指定した文字列をstrongタグで囲んでいるだけ。