Commit 67a7eb97 by Quang Vinh Nguyen

update job controller search job and city with rsolr

parent 2f354789
class JobsController < ApplicationController class JobsController < ApplicationController
def index def index
# @jobs = Job.search(params[:search]).order('created_at DESC').page(params[:page]) # @jobs = Job.search(params[:search]).order('created_at DESC').page(params[:page])
@jobs = get_jobs_rsolr(params[:search]) @job_ids = get_jobs_rsolr(params[:search] || '*')
@jobs = Job.where(id: @job_ids).order('created_at DESC').page(params[:page])
end end
def show def show
...@@ -28,16 +29,11 @@ class JobsController < ApplicationController ...@@ -28,16 +29,11 @@ class JobsController < ApplicationController
def get_jobs_rsolr(title = '*') def get_jobs_rsolr(title = '*')
solr = RSolr.connect url: 'http://localhost:8983/solr/gettingstarted/' solr = RSolr.connect url: 'http://localhost:8983/solr/gettingstarted/'
search_params = { q: "*:*", fl: "job_title:#{title.inspect}", rows: 5_000 } search_params = { q: "search_text:*#{title.downcase}*", rows: 5_000 }
response_solr = solr.get 'select', params: search_params response_solr = solr.get 'select', params: search_params
job_ids = if response_solr['response']['docs'].any? if response_solr['response']['docs'].any?
response_solr['response']['docs'].collect do |row| response_solr['response']['docs'].collect do |row|
row['job_id'] row['job_id']
end
end
unless job_ids.nil?
job_ids.collect do |job_id|
Job.where(id: job_id).first
end end
end end
end end
......
<h1>View jobs</h1> <h3>Search result: <%= pluralize(@job_ids.length, 'job') unless @job_ids.blank?%></h3>
<nav class='navbar navbar-light bg-light'> <nav class='navbar navbar-light bg-light'>
<%= form_tag(jobs_path, method: 'get', <%= form_tag(jobs_path, method: 'get',
...@@ -12,6 +12,6 @@ ...@@ -12,6 +12,6 @@
</nav> </nav>
<ul class='jobs'> <ul class='jobs'>
<%#= paginate @jobs, outer_window: 3 %> <%= paginate @jobs, outer_window: 3 %>
<%= render @jobs unless @jobs.blank? %> <%= render @jobs %>
</ul> </ul>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment