Improved data search query to match for results of any case

This commit is contained in:
Christoph Haas 2013-08-06 22:34:48 +02:00
parent 355b1e08f8
commit 31569ddd45

View file

@ -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