Commit 67a7eb97 by Quang Vinh Nguyen

update job controller search job and city with rsolr

parent 2f354789
class JobsController < ApplicationController
def index
# @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
def show
......@@ -28,16 +29,11 @@ class JobsController < ApplicationController
def get_jobs_rsolr(title = '*')
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
job_ids = if response_solr['response']['docs'].any?
response_solr['response']['docs'].collect do |row|
row['job_id']
end
end
unless job_ids.nil?
job_ids.collect do |job_id|
Job.where(id: job_id).first
if response_solr['response']['docs'].any?
response_solr['response']['docs'].collect do |row|
row['job_id']
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'>
<%= form_tag(jobs_path, method: 'get',
......@@ -12,6 +12,6 @@
</nav>
<ul class='jobs'>
<%#= paginate @jobs, outer_window: 3 %>
<%= render @jobs unless @jobs.blank? %>
<%= paginate @jobs, outer_window: 3 %>
<%= render @jobs %>
</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