From 31569ddd45b629f1a21cfdf79b1f3b7a95da29ec Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Tue, 6 Aug 2013 22:34:48 +0200 Subject: [PATCH] Improved data search query to match for results of any case --- app/controllers/packages_controller.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index ecef9f9..9d379db 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -2,7 +2,9 @@ class PackagesController < ApplicationController def index if params[:search] query = '%'+params[:search]+'%' - @packages = Package.where("description like ? or name like ?", query, query).order('name').first(20) + # TODO: Index on lower(…) is missing. Does not scale. + # TODO: Consider using a serious search engine like Xapian or ElasticSearch. + @packages = Package.where("lower(description) like lower(?) or lower(name) like lower(?)", query, query).order('name').first(20) else @packages = Package.order('name').first(20) end