I use TS for full text search in my rails app. I am trying to save the search term to present "most searched" type list in my app. Here is my search controller index action. I notice that with the "save" the search feature the search takes about 1.28s and without it about 1.04s.
Couple of questions.
1- Is there a better way to do this, so that I don't add the extra time to the search?
2 - What's in general the best way to speed up full text searching outside of following the standard best practices of TS or Sphinx i.e is there any kind of caching or something like that?
Thanks
def index
terms = params[:search_term]
terms ||= ""
if params[:city]
@search_results = Post.search terms, :conditions => {:city => params[:city]}, :page => params[:page] || 1, :per_page => Constants::LISTINGS_PER_PAGE
elsif params[:state]
@search_results = Post.search terms, :conditions => {:state => params[:state]}, :page => params[:page] || 1, :per_page => Constants::LISTINGS_PER_PAGE
else
@search_results = Post.search terms, :page => params[:page] || 1, :per_page => 3
end
# if @search_results.total_entries > 0
# Search.create(:term => terms)
# end
respond_to do |format|
format.html
format.js
end
end