aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/general_controller.rb
diff options
context:
space:
mode:
authorfrancis <francis>2008-03-07 23:13:37 +0000
committerfrancis <francis>2008-03-07 23:13:37 +0000
commit3bce538613a76beb3487284fab710a49310715aa (patch)
treed39f16a71b0fc0c234a26806e9451300bcc381f0 /app/controllers/general_controller.rb
parent8551df974ca6cb7721cf90a548e9acfb424da1eb (diff)
Index first message text with info requests themselves.
Fix routing for search queries with full stops in. Public body search indexing. User search indexing. Link to specific users out of ones with same name.
Diffstat (limited to 'app/controllers/general_controller.rb')
-rw-r--r--app/controllers/general_controller.rb16
1 files changed, 10 insertions, 6 deletions
diff --git a/app/controllers/general_controller.rb b/app/controllers/general_controller.rb
index 342355c75..986579874 100644
--- a/app/controllers/general_controller.rb
+++ b/app/controllers/general_controller.rb
@@ -5,7 +5,7 @@
# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: general_controller.rb,v 1.3 2008-03-06 21:49:33 francis Exp $
+# $Id: general_controller.rb,v 1.4 2008-03-07 23:13:38 francis Exp $
class GeneralController < ApplicationController
@@ -39,20 +39,24 @@ class GeneralController < ApplicationController
# Just does a redirect from ?query= search to /query
def search_redirect
- query = params[:query]
- redirect_to search_url(:query => query)
+ @query = params[:query]
+ if @query.nil?
+ render :action => "search"
+ else
+ redirect_to search_url(:query => @query)
+ end
end
# Actual search
def search
@per_page = 20
- query = params[:query]
+ @query = params[:query].join("/")
- query_nopunc = query.gsub(/[^a-z0-9]/i, " ")
+ query_nopunc = @query.gsub(/[^a-z0-9]/i, " ")
query_nopunc = query_nopunc.gsub(/\s+/, " ")
@highlight_words = query_nopunc.split(" ")
- @solr_object = InfoRequest.multi_solr_search(query, :models => [ OutgoingMessage, IncomingMessage ],
+ @solr_object = InfoRequest.multi_solr_search(@query, :models => [ OutgoingMessage, IncomingMessage, PublicBody, User ],
:limit => @per_page, :offset => ((params[:page]||"1").to_i-1) * @per_page)
@search_results = @solr_object.results
end