Reenable the note search API

Add a postgress freetext index on the note comments, and enable
note searching using freetext matching.
This commit is contained in:
Tom Hughes 2014-01-15 19:58:58 +00:00
parent a4561fe89b
commit 45618726ef
5 changed files with 71 additions and 60 deletions

View file

@ -255,16 +255,11 @@ class NotesController < ApplicationController
# Get any conditions that need to be applied
@notes = closed_condition(Note.all)
@notes = @notes.joins(:comments).where("note_comments.body ~ ?", params[:q])
@notes = @notes.joins(:comments).where("to_tsvector('english', note_comments.body) @@ plainto_tsquery('english', ?)", params[:q])
# Find the notes we want to return
@notes = @notes.order("updated_at DESC").limit(result_limit).preload(:comments)
# Disable notes search until we can make it scalable
response.headers['Error'] = "Searching of notes is currently unavailable"
render :text => "", :status => :service_unavailable
return false
# Render the result
respond_to do |format|
format.rss { render :action => :index }