データベースにいくつかのHTMLコンテンツを保存していますが、ヒット出力からHTMLを省略し、可能であれば検索自体を省略して、Sunspotを使用して検索を実行できるようにしたいと考えています。
私のモデル:
class Article < ActiveRecord::Base
attr_accessible :caption
searchable do
text :content, :stored => true
end
end
検索アクション:
def find
@search = Article.search do
fulltext params[:search] do
highlight :name
end
end
end
レンプレート:
- @search.each_hit_with_result do |hit, article|
- unless hit.highlight(:content).nil?
%p= hit.highlight(:content).format { |word| "<span class=\"highlight\">#{strip_tags(word)}</span>"}.html_safe
検索中のサンプルコンテンツは次のようになります。
<h1>Hello world</h1>
<p> Search for me me!</p>
<a href="#">Link</a>
出力をhtml_safeとしてマークしていることに注意してください。これは、ハイライトスパンでヒットした検索テキストをラップしたいのですが、それ以外のすべては、ヒットした返されたテキストから完全に削除したいためです。これも可能ですか?